
私は warrior ブランチで poky を使用してルート イメージを生成しています。Yocto はさまざまな形式で最終イメージを生成できます。そのうちの 1 つは .hddimg で、抽出すると次のようになります。
EFI
bzImage
initrd
libcom32.c32
libutil.c32
rootfs
startup.nsh
syslinux
vesamenu.c32
このリンクに従ってください:http://embeddedguruji.blogspot.com/2018/11/run-your-intels-yocto-hddimg-in-virtual.html、.hddimg ファイルを .vmdk ファイルに変換します。7zip を使用して .vmdk ファイルの内容を表示すると、上記と同じになります。ブート プロセスがどのように機能し、カーネルがどのようにロードされるかを知りたいと思いました。また、ルート ファイルシステムに複数のカーネルがインストールされている場合、デフォルトのカーネルをどのように切り替えることができるか知りたいと思いました。
この質問は、以前の未回答の質問に基づいています。https://stackoverflow.com/questions/57611557/switch-kernel-in-yocto-root-image
答え1
.hddimgと.vmdkはどちらもディスクイメージなので、通常の(物理的な)HDDとまったく同じです。つまり、ルートファイルシステムだけでなく、パーティション化されたディスクレイアウト全体が含まれています。
(7zipでは、初め認識できるパーティションです。
実際のディスクと同様に、これらのイメージにはブートセクター(BIOSの場合)と/またはEFIシステムパーティション(UEFIの場合)があり、ブートローダーがインストールされています(あなたの場合はsyslinux仮想マシン ソフトウェアは完全な BIOS をエミュレートし、仮想ディスクから syslinux を起動し、メニュー構成 (syslinux.cfg) を読み取り、そのファイルに構成されているカーネルを起動します。