树莓派扩展/boot 区

最近在树莓派上想实现智能语音,需要安装seeed-voicecard,但按装时报出/boot 空间不足,故搜了一下网上的资料。

其中参考了一下两篇博文,

https://blog.csdn.net/suolong123/article/details/100880588

https://blog.csdn.net/hx0981050/article/details/107098077

并做了总结,现分享一下

 

一:准备工作

准备两个SD卡,烧入相同的Image。

将一个SD插到树莓派后启动(事先使能UART),启动后,将另外一块SD卡使用读卡器插到树莓派上。

使用 sudo fdisk -l

 

可以看到没插到树莓派上的卡rootFs分区师3.2G,而插到树莓派上的卡是14.8G,这说明第一次启动boot会自动扩展剩余空间。

二: 缩小rootfs分区到5G

1. sudo umount /dev/sda2

2. 检查文件系统完整性: sudo e2fsck -f /dev/sda2

3.调整文件系统到5G: sudo resize2fs /dev/sda2 5G

 

4. 使用 fdisk 调整分区大小

sudo fdisk /dev/sda

详细步骤参照下图,其中调整分区大小为5G,First Sector是原来的分区的起始地址98304, Last Sector 是 (98304 +(5*1024*1024*1024/512)),   512 是一个Sector的字节数

5 检查调整好文件系统完整性:

 

 

6. 树莓派上插入调整好分区的SD卡,上电启动成功。使用fdisk -l 查看调整成功

 

三:调整boot区

1. 修改、/etc/fstab 将ext4的那行的UUID从02 改为03。因为下面要建立mmcblk0p3分区,并把mmcblk0p2的数据导入mmcblk0p3

 

2. 修改/boot/cmdline.txt , 将UUID中的02 改为03。这样boot可就从mmcblk0p3中加载数据了

3. 备份 boot区中的数据:sudo cp /boot ~boot -Rf

 

4.建立新分区并备份mmcblk0p2数据

使用sudo dd if=/dev/mmcblk0p2 of=/dev/mmcblk0p3 但无法成功

试过很多次不成功,估计某个进程占用。

把上面的1、2两步恢复:/etc/fstab 和/boot/cmdline.txt的03恢复为02 后 reboot

重启完成后,再次执行第1步:修改/etc/fstab 的UID02 到 03

然后sudo dd if=/dev/mmcblk0p2 of=/dev/mmcblk0p3 成功

再次执行第2步:修改/boot/cmdline.txt中的UUID到03 后重启

 

四:扩展boot分区

1.重新启动后,卸载boot分区

sudo umount /boot

2.再次进入分区管理,删除1、2分区后,然后建立1号分区,start位置就是原理1号分区的位置,Last位置默认,即3号分区start位置的前一个sector

3.然后使用t命令对1区格式化为c, 然后可见变为为FAT32格式

 

4.输入w<回车>保存分区并退出

# sudo mkfs.vfat /dev/mmcblk0p1

# sudo mount /dev/mmcblk0p1 /boot

# sudo cp ~/boot/* /boot -Rf

 

 

5.重新启动后,以为大功告成,结果安装seeed-voicecard,但仍旧报出/boot 空间不足:

查看install.sh代码发现查看分区大小的命令是:

boot_line=$(df -BM | grep /boot | head -n 1)

即使用df指令查看

发现 fdisk -l 和 df 的结果不一样,截图的红色标记部分

6. 再次使用fdisk 删除分区1,重复第三步,后使用mkfs.vfat格式话后。

sudo sudo mount /dev/mmcblk0p1 /mnt挂到/mnt后使用df查看

大小是9.9G(原因目前不清楚,待深究)

7. 重新挂载到/boot s

# sudo mount /dev/mmcblk0p1 /boot

# sudo cp ~/boot/* /boot -Rf

重启后使用df 查看

boot是9.9G root是5G

成功

 

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值