【瑞芯微rk3576刷ubuntu根文件系统容量不足问题解决】

文章目录

    • [1 问题引入](#1 问题引入)
    • [2 思考------剩余分区去哪里了??](#2 思考——剩余分区去哪里了??)
    • [3 注意:需要在启动时更改分区,对mmcblk1p6分区进行扩容](#3 注意:需要在启动时更改分区,对mmcblk1p6分区进行扩容)
    • [4 成功啦](#4 成功啦)

1 问题引入

  • 在做rk3576bsp开发项目中,我已经通过了buildroot最下系统验证。现在希望在板卡上进行rk3576刷入ubuntu22.04.5
  • 内核:6.1.99版本
  • 板卡存储 :2G+16G
  • 遇到的problem:在使用过程中,我发现根文件系统占用emmc的存储空间只有4.9G,而我的emmc是16G的,但显然很多空间没有被使用!此时我已经完成"3 需要在启动时更改分区,对mmcblk1p6分区进行扩容"这步操作,问题依旧存在!

2 思考------剩余分区去哪里了??

  • 原来,剩余分区分给了userdata
  • 修改parameter.txt分区文件,把剩余分区全给rootfs根文件系统(Ubuntu)。userdata和oem分区我直接不要了(buildroot最小系统需要使用userdata oem分区)
c 复制代码
下面是修改后的parameter.txt分区文件
c 复制代码
FIRMWARE_VER: 1.0
MACHINE_MODEL: RK3576
MACHINE_ID: 007
MANUFACTURER: RK3576
MAGIC: 0x5041524B
ATAG: 0x00200800
MACHINE: 0xffffffff
CHECK_MASK: 0x80
PWR_HLD: 0,0,A,0,1
TYPE: GPT
GROW_ALIGN: 0
CMDLINE: mtdparts=:0x00002000@0x00004000(uboot),0x00002000@0x00006000(misc),0x00020000@0x00008000(boot),0x00040000@0x00028000(recovery),0x00010000@0x00068000(backup),-@0x00078000(rootfs:grow)
uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9

3 注意:需要在启动时更改分区,对mmcblk1p6分区进行扩容

Ubuntu根文件系统打包成镜像并烧录到emmc后,所占分区大小和镜像的大小一样,为了充分利用emmc的空间,需要在第一次运行时扩充分区大小。根据parameter.txt中rootfs分区对应的名称配置, 默认是对/dev/mmcblk1p6分区进行扩充。创建一个脚本和服务来扩充分区。

c 复制代码
vi etc/init.d/firstboot.sh
# 以下是firstboot.sh的内容
#!/bin/bash -e
# first boot configure
# resize filesystem mmcblk1p6
if [ ! -e "/usr/local/first_boot_flag" ] ;
then
  echo "Resizing /dev/mmcblk1p6..."
  resize2fs /dev/mmcblk1p6
  touch /usr/local/first_boot_flag
fi

添加运行权限

c 复制代码
chmod +x etc/init.d/firstboot.sh

添加进启动服务

c 复制代码
vi lib/systemd/system/firstboot.service
# 以下是firstboot.service的内容




#start
[Unit]
Description=Setup rockchip platform environment
Before=lightdm.service
After=resize-helper.service
[Service]
Type=simple
ExecStart=/etc/init.d/firstboot.sh
[Install]
WantedBy=multi-user.target
#end

启动firstboot.service服务。

c 复制代码
systemctl enable firstboot.service

4 成功啦

相关推荐
SPC的存折14 小时前
3、主从复制实现同步数据过滤
linux·运维·服务器
SPC的存折14 小时前
openEuler 24.03 MariaDB Galera 集群部署指南(cz)
linux·运维·服务器·数据库·mysql
仲芒14 小时前
[24年单独笔记] MySQL 常用的 DML 命令
数据库·笔记·mysql
SPC的存折15 小时前
MySQL 8.0 分库分表
linux·运维·服务器·数据库·mysql
蓦然乍醒15 小时前
使用 DBeaver 还原 PostgreSQL 备份文件 (.bak) 技术文档
数据库·postgresql
XDHCOM15 小时前
Redis节点故障自动恢复机制详解,如何快速抢救故障节点,确保数据不丢失?
java·数据库·redis
QCzblack15 小时前
BugKu BUUCTF ——Reverse
java·前端·数据库
cyber_两只龙宝15 小时前
【Oracle】Oracle之DQL中WHERE限制条件查询
linux·运维·数据库·云原生·oracle
luis的妙妙屋15 小时前
主流数据库数据类型对比分析
数据库
XDHCOM15 小时前
ORA-00054资源忙故障修复,远程处理Oracle报错解决方案,数据库锁超时NOWAIT指定问题排查
数据库·oracle