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

相关推荐
聆风吟º9 分钟前
Oracle到KingbaseES数据库迁移:全流程实战指南与避坑总结
数据库·oracle·数据库迁移·kingbasees
哈__11 分钟前
Oracle至KingbaseES数据库迁移全攻略:痛点拆解、配置实操与问题排查
数据库·oracle
lcreek22 分钟前
Linux信号机制详解:阻塞信号集与未决信号集
linux·操作系统·系统编程
shandianchengzi1 小时前
【记录】Tailscale|部署 Tailscale 到 linux 主机或 Docker 上
linux·运维·docker·tailscale
JZC_xiaozhong1 小时前
电商ERP如何同步订单数据到MySQL?集成方案解析
数据库·mysql·数据分析·etl工程师·嵌入式实时数据库·电商erp集成·数据集成与应用集成
消失的旧时光-19431 小时前
第四篇(实战): 订单表索引设计实战:从慢 SQL 到毫秒级
java·数据库·sql
知识分享小能手1 小时前
Oracle 19c入门学习教程,从入门到精通, Oracle 表空间与数据文件管理详解(9)
数据库·学习·oracle
John Song1 小时前
Linux机器怎么查看进程内存占用情况
linux·运维·chrome
sichuanwuyi1 小时前
Wydevops工具的价值分析
linux·微服务·架构·kubernetes·jenkins
zhengfei6112 小时前
Chroma DB — 未经授权的信息披露
数据库