运行Qemu后只是黑屏

我刚刚安装了QEMU并编译了具有ARM支持的linux内核,但是当我在以下命令下运行时

qemu-system-arm -M versatilepb -m 128M -kernel /home/arit/QEMU/linux-3.8.4/arch/arm/boot/uImage -append "console=tty1"

我只能看到黑屏,我也尝试了下面线程中的建议

但是仍然没有用。

以下是我运行以编译内核源代码的make命令的输出

使ARCH = arm CROSS_COMPILE = arm-none-linux-gnueabi- uImage -s

 Image Name:   Linux-3.8.4

Created: Tue Dec 24 12:49:07 2013

Image Type: ARM Linux Kernel Image (uncompressed)

Data Size: 4406472 Bytes = 4303.20 kB = 4.20 MB

Load Address: fffffff2

Entry Point: fffffff2

负载点和入口点可以吗?

回答:

没有您的负载和入口点不正确。通常在下面是加载和入口地址

Image Name:   Linux-3.9.0

Created: Thu Dec 26 09:50:57 2013

Image Type: ARM Linux Kernel Image (uncompressed)

Data Size: 1908056 Bytes = 1863.34 kB = 1.82 MB

Load Address: 00008000

Entry Point: 00008000

而且,如果您尝试使用命令,内核将be panic在没有rootfs的情况下使用。initrd参数丢失。同样,在构建内核时,您可能会缺少一些配置。

请尝试以下步骤:

1)make ARCH=arm distclean

2)make ARCH=arm versatile_defconfig

3)make ARCH=arm menuconfig

在这里,您需要启用以下功能。

Kernel Features --->[*] Use the ARM EABI to compile the kernel. (enable

this).

4)make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage

5)qemu-system-arm -M versatilepb -m 128M -kernel arch/arm/boot/uImage -append

"console=tty1"

在这里,您将获得控制台提示说内核崩溃。为了避免这种情况,请传递您的rootfs参数。

我猜你是从busybox构建rootfs的,如果这样,请尝试使用以下命令完全启动系统

6)qemu-system-arm -M versatilepb -m 128M -kernel arch/arm/boot/uImage -initrd

rootfs.img -append "root=/dev/ram mem=128M rdinit=/sbin/init" -serial stdio.

以上是 运行Qemu后只是黑屏 的全部内容, 来源链接: utcz.com/qa/429232.html

回到顶部