QEMU 中没有 buildroot 登录

No buildroot login in QEMU

我从官网上下载了buildroot-2019.05源码,执行了以下步骤:

$ make qemu_x86_64_defconfig
$ make -j8
$ qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append "root=/dev/vda console=ttyS0" -net nic,model=virtio -net user -nographic

我在终端上获取了内核日志,

Starting network: udhcpc: started, v1.30.1
random: mktemp: uninitialized urandom read (6 bytes read)
udhcpc: sending discover
udhcpc: sending select for 10.0.2.15
udhcpc: lease of 10.0.2.15 obtained, lease time 86400
deleting routers
random: mktemp: uninitialized urandom read (6 bytes read)
adding dns 10.0.2.3
OK

但我没有获得 buildroot 登录。

当我运行下面的命令

qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append "root=/dev/vda" -net nic,model=virtio -net user

我得到了 QEMU 终端和登录屏幕

我注意到的区别是在第二次调用中缺少 "console=ttyS0"。我猜 buildroot 没有 运行 "getty" 或 /dev/ttyS0 上的类似程序,而是 运行 /dev/tty1 上的程序,这就是为什么你可以登录第二种情况,但不是第一种情况。也有可能你没有将 qemu 连接到你的 guest linux 中的 ttyS0。