写入 Linux 系统镜像到 MicroSD 卡, 怎么自动使用所有空间 ?

140 天前
 Nazz

开发板使用的系统固件

1500 次点击
所在节点    Linux
15 条回复
yinmin
140 天前
armbian 用:armbian-tf
ubuntu 用:lvextend 和 resize2fs
Nazz
140 天前
@yinmin 写入后再扩容已经搞定了
yinmin
140 天前
DiskGenius ,用鼠标将分区拖动到最大。
Nazz
140 天前
@yinmin 这个也是写入后再扩容的方案. 试了下, 扩容后开不了机, 不知道是什么原因
guanzhangzhang
140 天前
如果是.img 文件,可以 linux 上使用 losetup 把.img 文件挂载 loop 后改分区大小,这样刷入就是最大的,否则就刷入后改分区表的 ending size
Nazz
140 天前
@guanzhangzhang 这样是不是会让 img 文件变得很大, 有没有办法让 rootfs 自适应 SD 卡容量 ?
fugu37
140 天前
让系统在第一次启动时自动扩容,比如说 cloudinit 的 growpart ,或者 systemd-repart ,或者自己手写脚本。
Nazz
140 天前
@fugu37 树莓派是这么干的吗
knva
140 天前
一般都是启动后 resize
Nazz
140 天前
@knva 我只会插读卡器里用 ubuntu desktop 扩容, 开发板里面热扩容是怎么做的? 我尝试过会报错, device is busy
knva
140 天前
@Nazz 我记得香橙派是第一启动后有个脚本会处理这个
Nazz
140 天前
@knva 我去找找看
guanzhangzhang
139 天前
@Nazz #6 改分区大小是头部分区表的 end 字节,只有 gpt 格式尾部也需要存一份分区表信息,扩容的时候会让你修复,按 Y 修复下即可
img 文件的话大致这样,可以参考我这个文章,https://zhangguanzhang.github.io/2022/01/22/EmuELEC/#/Linux-%E7%BC%A9%E5%AE%B9%E5%92%8C%E6%8F%90%E5%8F%96-roms
guanzhangzhang
139 天前
@Nazz #12 在 systemd local-fs.target 前面去执行,也就是内核启动后启动了 systemd 进程而没启动根分区挂载的时候去做处理,可以参考下 cloud-init 的 growpart
Nazz
139 天前
@guanzhangzhang 原来如此👍🏻

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1063426

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX