MyFPGA Forum

 找回密码
 注册
搜索
查看: 149|回复: 0

如何扩大SD卡ROOTFS分区

[复制链接]
发表于 2021-3-31 09:21:33 | 显示全部楼层 |阅读模式
本帖最后由 BOB_Sun 于 2021-3-31 09:31 编辑

SD卡image 的文件系统分区太小无法安装更多库,那该如何扩大SD卡rootfs分区呢?

一、SD卡image 的启动过程
SD卡image 的启动过程是:
SD卡启动过程.png
( 以上截图来自:https://rocketboards.org/foswiki ... LinuxBeginnerSGuide
也就是开发板复位以后先执行boot ROM 里面的code, 这里面的code是芯片开发商已经内置的内容。然后boot ROM里面的code 会指引去加载preloader, 然后是u-boot(也称之为bootloader,这个过程会加载rbf和dtb), 然后是Linux kernel, 最后是根文件系统的加载。
Root filesystem.png

二、SD卡image分区
SD卡image 是被分为了三个区(关于image制作与分区 请参考 https://rocketboards.org/foswiki ... LinuxBeginnerSGuide 第7小节,https://rocketboards.org/foswiki/Documentation/GSRDSdCard 第4小节): fat区,ext区,raw区。
fat区在windows系统下可见,这个区一般存放的文件是zimage、rbf、dtb、uboot.scr(该文件是uboot启动的脚本文件,内容参考:https://rocketboards.org/foswiki ... LinuxBeginnerSGuide 第5小节)等文件;
ext区在windows系统下不可见,在linux系统下可见,存放根文件系统;
raw分区在windows或linux下都不可见,存放uboot和preloader文件。(关于为啥放uboot和preloader只能放在raw分区,请参考我之前的博客:https://www.cnblogs.com/DoreenLiu/p/14452099.html
分区.png
(以上截图来自:https://rocketboards.org/foswiki ... LinuxBeginnerSGuide

三、 如何扩大SD卡rootfs分区
因为友晶官网提供的SD卡image的根文件系统分区分得比较小(才2G),无法安装更多库,这给应用带来局限。那如何扩大SD卡rootfs分区?
如果要将root分区增大,就需要重新制作image(即可以尝试制作一个空的image),把rootfs分区分大一些,然后把各个分区的文件拷贝进去。
可是我们在友晶科技官网上只能下载到 image压缩包,没有各个分区的文件(即没有image打包之前的文件)怎么办呢? 有办法——用命令先将之前image的各个分区的文件提取出来!
具体操作如下:
提取官网image各分区文件:
(1)reloader和 uboot 的提取:用dd指令把整个boot分区提取出来,作为一个image(命令:dd if=/dev/sdb3 of=image)。
(2)fat分区文件直接复制就可以提取出来。
(3)根文件系统的提取:rootfs分区用tar 指令备份(命令:mkdir temp_mount1
mount /dev/sdb2 ./temp_mount1
tar -zcvf rootfs.rar temp_mount1/ )
参考前面 link 重新制作一个空的SD卡image,将rootfs分区增大到你需要的容量。然后将空image烧写到SD卡:
制作SD卡.png
将提取出来的文件拷贝到新的image的各个分区:
(1)preloader和 uboot 的拷贝:用dd指令将之前提取的image拷贝到raw分区即可(命令:dd if=image of=/dev/sdb3 bs=64k seek=0)
(2)fat分区文件直接复制进去。
(3)根文件系统的拷贝:将前面提取的根文件系统文件解压到空image的rootfs分区即可(命令:mkdir temp_mount2
mount /dev/sdb2 ./temp_mount2
tar -xvf rootfs.tar -C /temp_mount2)

四、 查看SD卡分区排列
提取和拷贝的时候涉及到查看SD卡分区排列:
命令:lsblk
查看分区.png
或者命令:fdisk -l /dev/sdb
查看分区2.png

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|MyFPGA

GMT+8, 2021-4-13 14:30 , Processed in 0.083302 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表