我试图确定一个buildroot(版本2017.02.4)configuration,我需要从软件环境问题中分离内核相关的问题。
所以我试图build立一个简单的磁盘映像,它将在一个Buildroot环境和一个真正的机器上工作。
我使用了一个通用configuration,将其构build到一个映像中,将其转换为一个vdi,然后将其连接到一个Virtualbox虚拟机。
make pc_x86_64_bios_defconfig make clean make VBoxManage output/images/disk.img output/images/disk.vdi
这靴子,但挂在'引导Buildroot '
我也使用qemu_x86_64_defconfig(略作修改,使用genimage创buildgrub2磁盘映像),得到了相同的结果。 几年前我做过这个,所以我不明白为什么现在不行。
什么configuration导致这挂起?
Virtualbox客人需要一个特殊的钩子来正确启动吗?
更新:这些图像似乎在qemu kvm工作,所以它必须是一个Virtualboxconfiguration或规格问题。
pc_x86_64_bios_defconfig似乎是64位。 在Oracle VirtualBox中,即使主机操作系统是64位,所有64位虚拟机都需要硬件支持虚拟化(Intel VT-x或AMD-v)。 KVM只是做不同的虚拟化。
由于“Buildroot”string对于Virtualbox不是已知的,所以在创build机器时,它提供了“Other”和“Other / Unknown”的版本。
由于这个名字看起来非常通用,我推测这意味着它是不可知的。
在引擎盖下,这是一个32位的选项,并有一个名为“其他/未知(64位)”的“版本”。
只要我把这个改成了64位的选项,一切都奏效了。 这可能是一半的工作,因为对早期的CPU状态聪明的Grub主要是32位代码。
*有些网站暗示VT简单地通过了主机的比特大小,在我的情况下是64比特,这进一步加剧了我的假设。