問題タブ [gnu-efi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - gnu-efi を使用してファイルを読み取る
「gnu-efi」ライブラリを使用して EFI をプログラミングするためのドキュメントが見つかりません。標準的な「Hello, world!」を示す 1 つの例にすぎません。2 つの FAT32 パーティションがあることがわかっている場合、ファイルを開いて読み取るために必要な正確な手順は何ですか? どのプロトコルを初期化する必要がありますか?
uefi - gnu-efi を使用して uefi アプリケーションをコンパイルするには?
を使用して uefi コードをコンパイルしようとしましgnu-efi
た。しかし、uefi アプリケーション コードをコンパイルする方法がわかりません。
3.0.2を取得gnu-efi
し、解凍して入力しmake && make install
ます。私はこんにちは世界のコードを書きます:
私のOSはUbuntu 15.04です。
qemu - ExitBootServices を使用した UEFI の簡単な例 (gnu-efi を使用)
私は gnu-efi を使用して hello world のようなプログラムを作成しようとしていますが、ExitBootServices の後にブート サービスが使用できなくなるため、ブート サービスはありません。ExitBootServices を呼び出す前にビデオ メモリに直接書き込んでも、何も表示されません。
このため、Mapkey を必要とする ExitBootServices を呼び出す必要があります。MapKey は GetMemoryMap 関数によって提供されます。しかし、それを呼び出すと、アプリケーションがクラッシュします (qemu を使用しています)。
これは私のコードです:
ExitBootServices qemu を実行する前でも、次のエラーでクラッシュします。
私がやっていることの何が悪いのか誰にもわかりますか?ありがとうございました。
c - UEFI 解決フルパス
私は、GNU-EFI を使用して、ある種のブートローダーに取り組んでいます。これまでのところ、NVRAM変数を読み取ることができたので、次のように見えるBoot####
半人口の があります( で印刷):FilePathList[]
DevicePathToStr
HD(Part2, SigCD0400E6-54F3-49F4-81F2-65B21E8278A8)/\EFI\Microsoft\Boot\bootmgfw.efi
に渡されるLoadImage
と、 で失敗しEFI_NOT_FOUND
ます。私が理解しているように(UEFI Doc Section 3.1.2)、既に持っているものの前にフルパスを追加する必要があります。正しいパスはPciRoot(0x0)/Pci(0x1, 0x1)/Ata(0x0)
であることがわかりましたが、私が持っているものに基づいてプログラムでこのパスを見つける方法がわからないので、先頭に追加できます。
私がこれまでに持っているコードは次のとおりです。品質が低いことを許してください。これまでのところ、何かを機能させようとしてきました。
FilePathList
で使用できるようにを完全に修飾するには、どの関数とフローが必要ですLoadImage
か?