树莓派自动扩展tf卡剩余空间

在树莓派上开发了程序,配置了很多内容,然后现在需要做一个镜像出来,我的TF卡是16G的,传输起来实在太不方便。在网上找了很多给镜像瘦身的方法,然而并没有找到一个可靠的行之有效的方法,大部分的方法的确是给镜像瘦身了,但放在树莓派上却无法启动,树莓派启动并没有错误输出,详细的原因也无从得知。于是,曲线救国的方案就是找了一个小容量8G的TF卡做基础镜像,事实证明也很好使,唯一的问题在于,还原到16G的卡上的大小还是8G,剩余的空间并没有利用到。

扩展tf容量的方法

Linux下扩展容量的方法很多,树莓派也做了工具,可以用raspi-config轻松的完成这个工作。

问题在于,我们希望的是树莓派能在第一次启动的时候自动进行扩展,不需要人工介入,毕竟,做成成品的东西是不需要客户进行介入配置的。

自动扩展的方法

raspi-config工具实际是一个可执行的脚本,位于/usr/bin/raspi-config. 打开可以看到里边的脚本是如何编写的。

这里呢,因为我们的程序会在树莓派启动后自动启动,所以我们只要在python脚本中调用一下raspi-config命令就可以了。

1
raspi-config --expand-rootfs

只启动一次

这个非常简单,模仿树莓派的SSH配置,我们在/boot文件夹下新建一个AUTOEXPAND的文件夹就行,启动后检测,如果存在就调用raspi-config命令,调用完删除AUTOEXPAND文件。