我正在尝试在 QEMU 上启动为 Raspberry Pi 预构建的 Ubuntu,并且成功了成功地按照20.04.2
以下步骤操作。
下载图片
https://ubuntu.com/download/raspberry-pi-> (64 位)Ubuntu Server 20.04.2 LTS
从图像中提取文件
NAME="ubuntu-20.04.2-preinstalled-server-arm64+raspi"
unxz ./${NAME}.img.xz
hdiutil mount ./${NAME}.img -mountpoint "/Volumes/${NAME}"
mkdir $NAME
cp -r /Volumes/${NAME}/vmlinuz ./${NAME}/
cp -r /Volumes/${NAME}/initrd.img ./${NAME}/
cp -r /Volumes/${NAME}/*dtb ./${NAME}/
hdiutil unmount "/Volumes/${NAME}"
准备图像
qemu-img convert -f raw -O qcow2 ${NAME}.img ${NAME}.qcow
qemu-img resize -f qcow2 ${NAME}.qcow 4G
发射机
qemu-system-aarch64 \
-M raspi3 \
-append "rw earlyprintk loglevel=7 console=ttyAMA0,115200 dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootdelay=1" \
-dtb ./$NAME/bcm2710-rpi-3-b.dtb \
-kernel $NAME/vmlinuz \
-drive id=card0,if=none,format=qcow2,index=0,file=./${NAME}.qcow \
-device sd-card,drive=card0 \
-initrd $NAME/initrd.img \
-m 1G \
-smp 4 \
-serial stdio \
-usb \
-device usb-mouse \
-device usb-kbd
正如预期的那样,这将启动引导过程,并且我最终在几分钟内收到登录提示:
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 5.4.0-1028-raspi (buildd@bos02-arm64-034) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #31-Ubuntu SMP PREEMPT Wed Jan 20 11:30:45 UTC 2021 (Ubuntu 5.4.0-1028.31-raspi 5.4.78)
[ 0.000000] Machine model: Raspberry Pi 3 Model B
...
Ubuntu 20.04.2 LTS ubuntu ttyAMA0
ubuntu login:
但是当我按照 中的完全相同的步骤操作时21.04
,QEMU 启动,显示熟悉的四个树莓派,光标闪烁几次,然后停止闪烁,没有其他反应。我没有收到任何串行输出(与 不同20.04
)。
(以防万一有任何区别)我在以下主机配置上运行它:
- macOS Mojave(10.14.6)
- MacBook Pro(13 英寸,2016 年,四个 Thunderbolt 3 端口)
- 3.3 GHz 英特尔酷睿 i7
- 16 GB 2133 MHz LPDDR3
- qemu
6.0.0
安装通过自制