【瑞芯微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 成功啦

相关推荐
flash俊杰1 小时前
v0.5-01 让桌面 AI 助手记得住:预算组装、递归摘要、长期记忆与评估基线
数据库·安全·架构
2501_933923251 小时前
redis:string类型常见命令
数据库·redis·缓存
爱和冰阔落2 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
byte轻骑兵2 小时前
时序数据库选型指南:Apache IoTDB 社区版实践与踩坑
数据库·人工智能·apache·时序数据库·iotdb
黄连木笛3 小时前
Redis Insight 汉化教程:Windows / macOS / Linux 设置中文界面(附繁體、教程汉化、关闭自动更新)
数据库·redis·缓存
nice_lcj5203 小时前
MySQL 存储引擎入门:InnoDB 和 MyISAM 到底怎么选
java·数据库·mysql·面试·innodb·存储引擎·myisam
say_fall3 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
ö Constancy4 小时前
一台电脑的硬件组成与作用:按功能分类详解(Windows 与 Linux 视角)
linux·windows·电脑
江湖有缘4 小时前
基于Ubuntu部署SoduWork:企业级 AI 原生协同平台实战全流程
linux·人工智能·ubuntu·ai·soduwork
古典和浪漫4 小时前
MVCC机制
数据库