EDKII - kentakozuka/yetos GitHub Wiki

EDK2

Embedded Development Kit Version 2

Github repo

  • UEFIの開発キット。
  • UEFI BIOS自体とUEFI BIOS上で動くアプリの両方の開発に使用できる

EDK, EDKⅡの違い

EDKのライセンスからもわかるように、EFIを提唱し始めたIntelが提供を始めたものですが、もう既にサポートは終わっており、後継のEDKⅡを実装しているtianocoreも、EDKⅡを使うようにドキュメントにある。他にも、Intelが出している後継という意味では Intel UDK等もあるらしい https://himaaaatti.hatenablog.jp/entry/2020/12/05/232045

AppPkg/
  AppPkg.dec        パッケージ宣言(declaration)ファイル
  AppPkg.dsc        パッケージ記述(description)ファイル
  Applications/
    Hello/          Hello モジュールディレクトリ
      Hello.c
      Hello.inf     モジュール定義ファイル

どこかのタイミングで edk2/MdePkg/Include/ を標準ヘッダにする処理が実行されている。どこかわからん。

OVFM

  • EDK IIの中にあるQEMU用の firmware
  • これを使うことでUEFIアプリケーションをQEMU上で実行、デバッグすることができる
  • OVMFの中にはLoadLinxLibと呼ばれるLinux Kernelローダーが存在してこれを使うことでLegacy BIOSの時と同じように-kernel, -append, -initrdオプションを用いてKernelを直に起動することができる
  • Grub2やらのUEFI対応ブートローダーの設定をしなくてもKernelが起動できる