linux制作镜像、压缩镜像、烧录的方法

最近在玩香橙派的时候,需要搞多个板子,一个一个配环境也太麻烦了吧......

于是通过搜索,发现可以把linux设备(比如香橙派,树莓派等等)制作为镜像,然后像烧录官方镜像一样烧进新的sd卡,就可以了。

下面说干就干!手机开热点,和电脑、香橙派连接到一起,香橙派终端输入ifconfig,看ip地址

打开电脑终端,输入ssh orangepi@192.168.81.127,后面改成你的用户名@ip地址,输入密码orangepi,ssh成功。

在香橙派上插上移动硬盘或者u盘用来存放镜像文件.img。注意u盘一定不要是FAT32格式(插入 U 盘 → 打开「此电脑」/「资源管理器」→右键 U 盘 → 选择「属性」在「常规」标签页里→「文件系统」一行会显示格式),不然只能存4gb大小的文件,可能会出问题,可以按以下步骤改为exfat:

  1. 备份U盘里所有文件(格式化会清空数据)
  2. 插入U盘,打开「此电脑」
  3. 右键U盘 → 选择「格式化」
  4. 文件系统选择 exFAT(或NTFS)
  5. 勾选「快速格式化」 → 点击「开始」
  6. 完成后,就可以复制超过4GB的大文件了

输入lsblk,查看挂载

可以看到:

mmcblk0 179:0 0 29.7G 0 disk

说明 整个 SD 卡设备是 /dev/mmcblk0,我们就是要备份它。

sda1 8:1 0 476.9G 0 part

说明 U 盘设备是 /dev/sda,分区是 /dev/sda1,最后要把文件生成到此。

接下来,我们先创建挂载目录并挂载 U 盘

复制代码
sudo mkdir -p /mnt/usb
sudo mount /dev/sda1 /mnt/usb

然后输入ls /mnt/usb,如果能看到你 U 盘里的文件,说明挂载成功。

使用 dd 备份整个 SD 卡到 U 盘:

复制代码
sudo dd if=/dev/mmcblk0 of=/mnt/usb/orangepi5pro_backup.img bs=4M status=progress

这会导致出现一个29.7gb的镜像(我的sd卡是32gb),这显然是不可接受的。

因此我们需要裁剪镜像,只保留实际分区数据。

先检查镜像文件是否完整:

复制代码
fdisk -l /mnt/usb/orangepi5pro_backup.img

有以下内容输出,则没问题。

接着用 pi-shrink 工具,自动裁剪空白

复制代码
git clone https://github.com/Drewsif/PiShrink.git
cd PiShrink
sudo ./pishrink.sh /mnt/usb/orangepi5pro_backup.img /mnt/usb/orangepi5pro_small.img

可以看到,运行结束后被压缩到了11g

最后卸载u盘

复制代码
sudo umount /mnt/usb

重新插入电脑,可以看到映像文件

插上sd卡,选择刚刚的镜像,用烧录工具烧录

烧录完成,插入香橙派,成功!一模一样!

相关推荐
---学无止境---11 分钟前
Linux中控制台初始化console_init函数的实现
linux
望获linux18 分钟前
【实时Linux实战系列】FPGA 与实时 Linux 的协同设计
大数据·linux·服务器·网络·数据库·fpga开发·操作系统
武文斌7733 分钟前
复习总结最终版:计算机网络
linux·开发语言·学习·计算机网络
Mr.456734 分钟前
Linux CentOS 7 安装配置HAProxy完整指南:实现高可用负载均衡
linux·centos·负载均衡
小糖学代码3 小时前
Linux:11.线程概念与控制
linux·服务器·c语言·开发语言·c++
YouEmbedded6 小时前
解码Linux文件IO目录检索与文件属性
linux·文件属性·文件io·目录检索
大聪明-PLUS9 小时前
关于新的 Linux 内核接口 gpio uapi 的说明
linux·嵌入式·arm·smarc
玉树临风江流儿9 小时前
Linux驱动开发总结速记
linux·运维·驱动开发
cccyi79 小时前
Linux 进程信号机制详解
linux·signal·volatile
gd632137410 小时前
银河麒麟 aarch64 linux 里面的 qt 怎么安装kit
linux·服务器·qt