問題タブ [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.
memory-management - efiアプリケーションで物理アドレスが4GBを超えるメモリを割り当てますか?
「物理アドレス」が4GBを超えるメモリバッファをefiアプリケーションで割り当てることができるかどうか疑問に思っていますか?
元。PC には 6GB の DRAM がインストールされており、efi アプリケーションは 4KB のバッファを割り当て、その物理メモリ アドレスは 0x100000000(=4GB) です。
大丈夫ですか ?
driver - efiシェルでAHCI経由でSATAドライブに直接アクセスしますか?
EFI シェルで AHCI 経由で SATA ドライブにアクセス (読み取り/書き込み) したい場合、この目的で使用される読み取り/書き込みインターフェイスはありますか?
つまり、EFI シェル アプリケーションはドライブにアクセスするために AHCI 仕様を実装する必要がありますか? (コマンドをビルドし、コマンドを発行し、コマンドの完了を処理します...)
または、アプリケーションが特定の「読み取り/書き込み」インターフェイス (Windows の SCSI_PATH_THROUGH など) を呼び出すだけで、「EFI ahci ドライバー」がこれらを低レベルのアクセス ルーチンに変換しますか?
uefi - 組み込みシステムのブルズアイ カバレッジ - 小さなフットプリント データ ファイルではありません
Bullseye run for EFI (EDK II) システムで数週間戦っています。最後にすべてをリンクし、コードをコンパイルすると、すべてが機能するようです (組み込みシステムには Bullseye チュートリアルを使用し、このトピック: Bullseye for EDK Based Application を使用しました)。
テストを実行し、Bullseye COV ファイルのシンボルを受け取りました。2番目のリンクによると:
出力データをファイルにリダイレクトし (EDK2 シェル内で > ディレクティブを使用)、covpost で処理して、ビルド プロセスで作成された cov ファイルにマージできます。
この出力をファイルにリダイレクトしましたが、COV ファイルにマージしようとすると、次のメッセージが表示されます。
Copyright (c) Bullseye Testing Technology 1990-2014
例外: be_test: 小さいフットプリント データ ファイルではありません
いくつかのアイデア?
ありがとう。
macos - OS X Yosemite で Tianocore をビルドできない
OS X Yosemite で EFI 開発キット (EDK2) をビルドしようとしています。私は最新の開発ツールを持っています。ビルドまで、ここで説明されているとおりに指示に従いましたUnixPkg
。EmulatorPkg
次に、ドキュメントで推奨されているようにビルドしようとしました。Apple の出荷が必要なフォーマットをサポートしていないnasm
というエラー メッセージを回避するために、Homebrew 経由でインストールする必要がありました。nasm
これで、 に関するエラーnasm
は回避されますが、ビルドは次のエラーで失敗します。
インストールする必要がありgcc
ますか? もしそうなら、どのバージョンですか?Xcode 6.1 および Apple clang 6.0 の実行 (LLVM 3.5svn ベース)
firmware - UEFI の「アプリケーション」は実際にどのような用途に使用されていますか?
私は PC ファームウェアのプログラミングに興味があり、UEFI 仕様を勉強しています。驚いたことに、ファームウェアに組み込まれている OS 全体の仕様のようです。他の OS が存在しなくても、UEFI ブート サービスを使用して直接実行される UEFI "アプリケーション" を作成することもできます。
「Hello, world!」を作成する方法を示すブログ記事を見つけました。UEFI プリブート環境で実行できるアプリケーション。これは...興味深いと同時に奇妙です。通常の OS で「Hello, world」プログラムを実行します。ありがとうございます。
UEFI アプリケーションは実際にどのようなユースケースに適していますか? ファンシーなブート構成画面? 「実際の」市販の PC ファームウェアは、UEFI アプリケーションを使用して、ブートローダーとブート構成ユーティリティ以外のものを実装していますか?
linux - Apple の EFI 環境の EFI-Stub にカーネル パラメータを渡す
皆さん、こんばんは。iMac デュアルブート OS-X と Ubuntu のブート プロセスを可能な限り短縮しようとしています。これまでのところ、AppleのEFIブートマネージャーから直接grub(およびその後Ubuntu)を起動できました。AppleのファームウェアがOsX自体を起動するために期待するものとして、grubバイナリを(ハードリンク、エイリアス、フォルダのツリーなどを介して)マスカレードすることでこれを達成しました。(例:
)
今、私はさらに一歩進んで、GRUB を排除しようとしています。最新の Linux ディストリビューションには EFI スタブがカーネルに組み込まれていることを知っています。そのため、原則として、GRUB2 などの (セカンダリ) ブート マネージャーを必要とせずに (EFI/UEFI ファームウェアを介して) カーネルを直接起動できます。 、 例えば。(このような:
) Apple の問題は、それが「独特な」EFI 実装であることです。Linux カーネルの EFI スタブが機能するためには、パラメーターを渡すことができる必要があります (ルート パス、初期 RAM ディスクなど)。これは、セカンダリ ブート マネージャー (GRUB、rEFInd、ELILO など) を使用して簡単に実現できます。彼らはコマンドライン文字列をEFIバイナリに渡します)が、これはまさに私がバイパスしたいものです。Apple の EFI ファームウェアによってロードされた任意の EFI バイナリにパラメータを渡す方法はありますか? (私は com.apple.Boot.plist で試しましたが、役に立ちませんでした。) または、代わりに、ブートプロセス中にコマンドラインなしで (おそらくテキストファイルを介して) Linux カーネルにパラメータを渡す方法はありますか?
io - UEFI で I/O デバイスをエミュレートする方法はありますか?
OS の背後で実行されている UEFI ランタイム ドライバーで I/O デバイス (スーパー IO コントローラーなど) をエミュレートする方法はありますか?
c++ - Visual Studio 2008 ツール チェーンで EDK II ライブラリをアプリケーションにスタティック リンクする方法
パッケージに EDK II アプリケーションとライブラリがあり、ライブラリ ソース コードでコンパイルすると問題なく動作します。ここで、ライブラリのソース コードを削除し、そのライブラリを .lib ファイルを介してアプリケーションにリンクしたいと考えています。
アプリケーション プロジェクトからライブラリ ソース コードの参照を削除すると、このアプリケーションのビルド中に次のメッセージが表示されます。
これを解決するには、DSC ドキュメントで、以下に示すようにライブラリ インスタンスを make ファイルに追加する必要があると述べています。
問題は、このエントリをメイク ファイル/EDK II ビルド システムに追加する方法です。
ツール チェーンとして VS2008 を使用しています。