UEFI BIOSを移植しています。 UEFIシェルからTFTP経由でLinuxイメージ(bzImage)をシステムメモリにダウンロードし、OSを直接起動したいと思います。これを行うには通常、他のブートローダが必要であることがわかります。しかし、UEFI BIOSからLinuxを起動できますか?どのように?
答え1
UEFIファームウェア(BIOS以外のもの)は、EFIファームウェアアーキテクチャに対応するUEFIアプリケーションのみをロードできます。したがって、Linuxカーネルを直接ロードすることはできませんが、ロードできる必要があります。UEFIブートローダその後、Linuxカーネルをメモリにロードし、そのカーネルにジャンプします。
カーネルバージョン3.3から開始
EFISTUBオプションを使用すると、Linuxカーネルをコンパイルできます。これにより、ブートローダを使用せずにカーネルをEFIイメージとして直接実行/ロードできます。
答え2
デフォルトでは機能しますが、まずターゲットシステムがFTPサーバーをpingしてカーネルイメージを取得できるように、ネットワークカードを有効にする必要があります。
チェックEDKブートローダ(EBL)ウィキソースフォージリンク。