【树莓派真好玩】3条命令制作并压缩树莓派镜像
2022-04-284万
AI 快速预览详细
本文介绍了如何使用3条命令制作并压缩树莓派镜像。首先,使用fdisk命令查看tf卡的挂载情况,找到正确的挂载路径。然后,使用dd命令将tf卡的内容复制到一个img文件中。最后,使用pishrink脚本压缩生成的img文件,生成最终的压缩镜像文件。这种方法既方便了自己备份镜像,也便于分享给其他用户。
|
树莓派真好玩 本篇文章解决2个问题: 需要准备的内容: 最近玩基于树莓派的Donkeycar,需要分享安装好的树莓派镜像,有车友问如何制作的? 这样既方便自己备份镜像,也给刚刚入门的朋友更快的安装Donkeycar在树莓派上。 如果你也有自己特色的镜像,不妨使用下面的3条命令制作树莓派镜像。 # 查看tf卡的挂载情况 sudo fdisk -l # 制作树莓派的原始镜像文件 sudo dd if=/dev/sdb of=./rasp1.img bs=512 count=31116288 status=progress # 压缩输出最终的树莓派定制镜像 sudo ./pishrink.sh -Za rasp1.img 将你的树莓派tf卡,插入到电脑上(电脑是linux系统) 1、 使用fdisk 查看tf卡的挂载情况 fdisk -l 命令会列出你电脑上硬盘的情况, 注意查找你的tf卡挂载的路径。 上面命令执行后,会看到如上记录, Disk /dev/sdb 是一个14.86Gb的一个挂载点, 这个就是树莓派的tf卡。如果你的电脑硬盘分区比较多,请认真找到 tf挂载路径。 然后找到下面这一段, 其中红色的字31116287 记下来, 后面的命令会用到。 Device Boot Start End Sectors Size Id Type /dev/sdb1 8192 532479 524288 256M c W95 FAT32 (LBA) /dev/sdb2 532480 31116287 30583808 14.6G 83 Linux 2、使用dd制作一个镜像 dd命令用于读取、转换并输出数据; if 是数据源,树莓派tf卡的挂载目录/dev/sdb, of是输出数据,树莓派镜像文件rasp1.img; count的值是上面记录的31116287+1, 这个+1 一定要有; status=progress 是显示数据输出的进度;如果你没有安装progress是看不到进度的。 这个过程时间很长,如果一个16G的盘,大约时间是15~20分钟。 命令制作完成,img文件就是一个树莓派镜像, 这个镜像是完全可以使用的。 但是这个镜像文件中有很多数据是空白的,无效的,而且这个镜像文件会很大。 就用下面的命令进行压缩输出。 3、使用pishrink来压缩你的镜像 pishrink 是一个自动化脚本可以压缩树莓派镜像。 下载路径https://github.com/Drewsif/PiShrink 执行下面的命令, 预计时间半个小时。 这个命令执行完成, 会有一个 rasp1.img.xz文件形成, 这个文件是最终需要分享的镜像文件。 |




Source:https://github.com/bg-master/PiShrink
Target :https://github.com/Drewsif/PiShrink
diff:With option -p delete also users bash history,Generate host keys on first boot with option -p
实际上用 df -Th 看到的磁盘空间使用率只有 4.8G
如果将系统以 5G 的大小打包, 可以使得原始镜像就小于 磁盘原始大小的 16GB 或者我这里看到的64GB, 我们可以尝试用 gparted 重新构建分区表.
缩减分区大小,不过你的方法已经是最简单了.哈哈
阿钟,我们如果不用图形界面的话,可以更精简一些的.
[code]pishurink.sh Usage: $0 [-adhrspvzZ] imagefile.img [newimagefile.img]
-s Don't expand filesystem when image is booted the first time
-v Be verbose
-r Use advanced filesystem repair option if the normal one fails
-z Compress image after shrinking with gzip
-Z Compress image after shrinking with xz
-a Compress image in parallel using multiple cores
-p Remove logs, apt archives, dhcp leases and ssh hostkeys
-d Write debug messages in a debug log file[/code]版主一看就是老炮儿, 使用pishrink压缩镜像,是有机会出现ssh的问题。 其中有个参数 -p , 可以remove ssh hostkeys。
但是如果使用-p参数,会造成一个情况ssh是Enable的,同一个网络中无法连接的问题。 需要接上显示器,启动raspi-config,重新设置一下ssh enable。
如果不使用-p参数,ssh是可以连接。
这个也仅仅是我的经验, 但是详细具体的情况,可能还需要测试。