无法在 Qemu 中启动内核和根文件系统

无法在 Qemu 中启动内核和根文件系统

我使用的是飞思卡尔 ts-4900 板。我无法在 Qemu 中启动内核和根文件系统 (initrd)。我执行了以下内核配置步骤。

  1. 导出交叉编译器部分
  2. 导出 LOADADDR=0x10008000
  3. 制作 esse_defconfig
  4. make menuconfig ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
  5. 使 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage

图像位于/arch/arm/boot/uImage,并且我有工作根文件系统(initrd)。

现在我尝试使用以下步骤启动 Qemu。

qemu-system-arm -M vexpress-a9 -cpu cortex-a9 -kernel uImage -initrd /home/mahesh/mahesh/ts_4900/initrd.

然后是错误。

在此输入图像描述

答案1

vexpress-a9 板在 0x10008000 地址处没有 RAM,因此当您的内核尝试在那里运行时它无法运行。

更一般地说,您似乎正在尝试为一个 Arm 板构建内核,然后使用另一块 Arm 板的 QEMU 模型运行它。这是行不通的。您必须为要运行内核的硬件正确配置内核,包括如果您使用的是模拟硬件。否则内核通常会立即崩溃而没有任何输出(因为它甚至无法找到串行端口)。

相关内容