Qemuを使用してBuildroot Linuxイメージを実行するには?

Qemuを使用してBuildroot Linuxイメージを実行するには?

i386用のBuildrootを使用して組み込みLinuxをコンパイルしました。あまり修正しなかったので、デフォルト値のみを使用しました。今qemuで実行したいと思います。しかし、私が見る唯一のものは次のとおりです。 ここに画像の説明を入力してください。

次のオプションでqemuを実行しています。

qemu-system-i386 -kernel vmlinux -hda rootfs.ext2 -m 256

なぜこれが起こるのですか? buildrootドキュメントの例のようにコンパイルしました。

答え1

有効なコマンド

正しく機能していることを確認するには、BuildrootでQEMUをビルドし、Buildrootが提供する正確なQEMU CLIを使用できます。https://github.com/buildroot/buildroot/blob/2019.05/board/qemu/x86_64/readme.txt

git clone https://github.com/buildroot/buildroot
cd buildroot
git checkout 2019.05
make qemu_x86_64_defconfig
printf '
BR2_CCACHE=y
BR2_PACKAGE_HOST_QEMU=y
BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE=n
BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y
BR2_PACKAGE_HOST_QEMU_VDE2=y
' >> .config
make olddefconfig
time make BR2_JLEVEL="$(nproc)" HOST_QEMU_OPTS='--enable-sdl --with-sdlabi=2.0'
./output/host/bin/qemu-system-x86_64 \
  -M pc \
  -kernel output/images/bzImage \
  -drive file=output/images/rootfs.ext2,if=virtio,format=raw \
  -append "rootwait root=/dev/vda" \
  -net nic,model=virtio \
  -net user \
;

これでシェルにあり、rootユーザー名(パスワードなし)を使用してログインできます。

ここに画像の説明を入力してください。

しかし、デフォルトのBuildrootバージョンには、デフォルトでX11のような興味深いGUIはありません。これは、プロジェクトの最も一般的なユースケースではないためです。私はこれを以下で扱いました。私のLinux BuildrootシステムにX11をインストールする方法

しかし、Buildrootは私の要件の実行部分(より多くの自動化、より多くの起動タイプ、GDBステップのデバッグ)に十分に集中していないため、このプロジェクトではいくつかの追加スクリプトを使用して拡張しました。https://github.com/cirosantilli/linux-kernel-module-cheat

以下に記載されているその他のISA:https://cirosantilli.com/linux-kernel-module-cheat/#buildroot-hello-world

Buildroot 2019.08 QEMU 3.1.1バージョンのx86_64ビルドが破損し、QEMUビルドが失敗します...QEMU 3.1.1 ビルドの失敗

Ubuntu 19.04でテストされました。

関連情報