我正在尝试使用 QEMU 运行现有的 debian img,通过安装自定义软件包并添加各种配置来编辑它,验证它是否有效,然后将其写入 SD 卡,以便我可以从单板计算机启动它。
我使用 Fedora 作为我的主要发行版。我要安装的 debian 映像是 debian 12,我的单板计算机是 rock64 armv8。
我面临的主要问题是:
- 我不知道完成安装后下面的 qemu 命令是否会编辑我的映像,有谁知道如何使用 qemu 验证安装是否成功并且 img 已写入,而无需再次启动安装步骤?
- 当我在安装步骤期间或之后使用 debian shell 时,我无权访问类似
apt-get
or 的命令apt
,我无法使用sudo
orsu
(未找到命令)并且home
目录丢失(尽管它是通过安装步骤创建的)并且这超出了整个尝试的目的。
一些小烦恼:
- 安装速度极慢(每次尝试都需要 2-3 个小时以上),这正常吗?
- 命令
dd
非常慢(1 小时以上),这正常吗? - 在仿真中按
ctrl+c
退出 qemu(当我在 shell 上取消命令时,我已经这样做了很多次,结果不得不再次进行安装) - 仿真的颜色对比度很差并且与视口相同(添加
-vga std
没有帮助)
我要执行的步骤是:
- 从以下位置下载 Debian 映像:https://deb.debian.org/debian/dists/bookworm/main/installer-arm64/current/images/netboot/SD-card-images/
- 安装
qemu-system-aarch64
- 从以下位置下载内核:https://deb.debian.org/debian/dists/bookworm/main/installer-arm64/current/images/netboot/debian-installer/arm64/
- 将图像的大小增加 4 GB,这样它将有额外的空间来写入我们的更改:
qemu-img resize debian-installer.img 4G
- 运行qemu:
qemu-system-aarch64 \
-kernel installer-linux \
-cpu cortex-a53 \
-m 1024 \
-M virt \
-no-reboot -serial stdio \
-append "rw root=/dev/mmcblk0p1 panic=0" \
-initrd installer-initrd.gz \
-hda debian-installer.img
- 完成安装(这非常慢 - 通常需要 2-3 小时,最近几天我已经安装了 10 多次,因为我正在尝试解决问题)
- 在完成安装和重新启动之前,我进入 shell 并尝试安装新软件包,并为我创建的用户添加一些配置
如果上述成功,我想:
- 将img写入sd卡:
dd if=debian-installer.img of=/dev/mmcblk0
- 将映像启动到单板计算机
答案1
在运行 Xeon E3-1230 V2 (3.30GHz) 的 Proxmox 系统上进行了尝试后,安装过程似乎并不是慢得离谱,特别是考虑到它完全是模拟的。我没有坚持到底,但感觉不会超过一个小时。
dd
您使用的命令效率非常低。使用cat debian-installer.img >/dev/mmcblk0
代替(后跟sync
)