1 votes

Pourquoi l'image générique pc_x86_64_bios_defconfig de Buildroot se bloque-t-elle dans Virtualbox ?

J'essaie de mettre au point une configuration buildroot (version 2017.02.4), et j'ai besoin de séparer les problèmes liés au noyau des problèmes liés à l'environnement logiciel.

J'ai donc essayé de construire une image disque simple qui fonctionnera à la fois dans un environnement Buildroot et sur une machine réelle.

J'ai pris une configuration générique, j'en ai fait une image, je l'ai convertie en vdi et je l'ai attachée à une VM Virtualbox.

make pc_x86_64_bios_defconfig
make clean
make
VBoxManage output/images/disk.img output/images/disk.vdi

Le système démarre, mais reste bloqué à l'étape "Booting". Buildroot '

enter image description here

J'ai également fait cela avec un qemu_x86_64_defconfig (légèrement modifié pour créer une image disque grub2 à l'aide de genimage) et j'ai obtenu le même résultat. J'ai déjà fait cela il y a quelques années, je ne comprends donc pas pourquoi cela ne fonctionnerait pas maintenant.

Quelle est la configuration à l'origine de ce blocage ?

Les invités Virtualbox ont-ils besoin d'un crochet spécial pour démarrer correctement ?

MISE À JOUR : ces images semblent fonctionner dans qemu kvm Il doit donc s'agir d'un problème de configuration ou de spécification de Virtualbox.

1voto

Esa Jokinen Points 41064

En pc_x86_64_bios_defconfig semble être en 64bit. Dans Oracle VirtualBox, la prise en charge matérielle de la virtualisation (Intel VT-x ou AMD-v) est requise pour toutes les VM 64 bits, même si le système d'exploitation hôte est 64 bits. KVM effectue simplement la virtualisation différemment.

1voto

balasubramani Points 11

Comme la chaîne "Buildroot" n'est pas connue de Virtualbox, lors de la création de la machine, il propose le type "Other" et la version "Other / Unknown".

Comme le nom semblait très générique, j'ai supposé que cela signifiait qu'il était agnostique bitwise*.

Sous le capot, il s'agit d'une option 32 bits et il existe une "version" appelée "Autre / Inconnu (64 bits)".

enter image description here

Dès que j'ai changé cette option pour une option 64 bits, tout a fonctionné. Cela a probablement fonctionné à moitié parce que Grub, qui est intelligent à propos de l'état précoce du CPU, est principalement du code 32 bits.

*Certains sites web suggèrent que VT transmet simplement la taille des bits de l'hôte, qui, dans mon cas, était de 64 bits, ce qui a aggravé mes hypothèses.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X