在 qemu 中运行 Raspberry PI buildroot 映像

在 qemu 中运行 Raspberry PI buildroot 映像

我正在尝试使用 buildroot 为 raspberrypi3 构建 Linux 映像并在 qemu 上运行它。制作过程完成后,我可以将 sdcard.img 文件复制到 SD 卡中,并在真正的树莓派设备上正确运行操作系统,没有任何问题。

但是当我尝试使用相同的映像文件并尝试在 qemu 上运行它时,启动失败。

1) qemu-system-aarch64 -M raspi3 -kernel zImage -dtb <generated dtb> -sd <generated .img> => qemu window opens but blank. nothing on the terminal as well.
2) qemu-system-arm -M raspi2 -kernel zImage -dtb <generated dtb> -sd <generated .img> => qemu window opens. raspberry image appears on top left corner. but in the teminal window there is a kernel panic. VFS mount failed
3) same as 1st step but with a freshly compiled qemu from source => same as 1st step. nothing on the qemu window or in the terminal.

难道我做错了什么?

答案1

经过几天的谷歌搜索,我找到了我的问题的答案。我在终端命令中使用的由 buildroot make 进程构建的内核映像 zImage 与 QEMU 不兼容。为了解决这个问题,我必须编译自己的 QEMU 兼容的树莓派内核。

我按照这个链接编译了我自己的内核。树莓派交叉编译内核 然后,当我使用 QEMU 运行操作系统时,出现另一个内核恐慌,提示 VFS 安装失败。当我之前阅读终端输出时,它说介质上没有足够的空间。因此将 scraped.img 文件扩展至 1G 并运行相同的终端命令。

现在QEMU已经完美运行了

相关内容