运行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.0Created: 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