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

相关推荐
Shadow(⊙o⊙)1 小时前
MySQL复合查询
数据库·mysql
L·S·P6 小时前
25MB 管理 100+ 种数据库:开源轻量客户端 DBX 介绍与上手
数据库·mysql·开源·database·dbx
网硕互联的小客服8 小时前
Linux服务器磁盘应该如何合理分区?
linux·运维·服务器
笃行3508 小时前
KingbaseES KSQL Developer 的连接管理、数据处理与对象管理
数据库
ha_lydms8 小时前
MaxCompute中加密与解密函数
大数据·数据库·数据仓库·hadoop·dataworks·maxcompute·odps
Shadow(⊙o⊙)9 小时前
MySQL内置函数
数据库·mysql
笃行3509 小时前
金仓 KingbaseES PL/SQL 开发全攻略:异常处理、数据类型、调试优化与过程语句
数据库
贵沫末9 小时前
Ubuntu——常用软件安装
linux·运维·ubuntu
Doraemomo10 小时前
Linux内核驱动开发——中断与定时器
linux·运维·驱动开发
2301_8084143810 小时前
Linux中动静态库的理解
linux·运维·服务器