x86 IBM-PCにDas U-Boot既存のブートをインストールするには?

x86 IBM-PCにDas U-Boot既存のブートをインストールするには?

ダースUブート両方フェーズ1と2フェーズのブートローダーは、IBM-PCのFSBLとしてフェーズ1に適している必要があります。446バイト(またはそれ以下)最初のセクタのMBRの前に配置されます。

FSBLコードを使用してディスクから31,744バイトを読み取り、その場所にジャンプする1.5段階のブートローダーもあります(DOS互換の最初のパーティションはセクター63から開始できるため、セクター1〜62)。私はU-Bootがそうではないと思います。

私はUEFIや​​kexecを探していません。むしろ、corebootや他のブートローダコードが必要ないことを願っています。読む可能ですが、誰も方法を話すことはできません。

どの構成を使用する必要がありますか? Chromebookのリンクやエジソン? MBRに入れる446バイトブロックを作成しますか?セクター1〜62に何かを入れるべきですか? 1.5ステージには合わないようですが、ディスクで残りはどのように探しますか?

ベストアンサー1

U-Bootはx86をサポートしていますが、ハードウェア、x86 BIOSのサポートは含まれていません。ファームウェア

したがって、既存のx86 PCでU-Bootを使用する最初のステップは、BIOSをU-Boot 1ステップを含むカスタムファームウェアに置き換えることです。

これが完了すると、以前のBIOSブートルール(最初のハードドライブのブロック0から446バイトのブートコードのロード)は適用されなくなり、代わりにU-Bootのルールが使用されます。

もちろん、BIOSを交換するには、カスタムファームウェアが最初にシステムチップセットの初期化を処理し、コールドブート後にRAMをテストして有効にする必要があります。 PCハードウェアでは、チップセットプログラミング文書がすべてのPCチップセットに容易に適用されない可能性があるため、予想よりも大きな問題になる可能性があります。

U-BootはBIOS互換のブートローダでもなく、単にBIOSを置き換えるものでもありません。ドキュメントがx86をサポートしていることが示されているのは、U-Bootが統合されたカスタムハードウェアでx86プロセッサを使用するハードウェアプロジェクトに簡単に使用できることを意味します。 。

GRUBレガシー関連用語(ステップ1、ステップ2、1.5)をブートローダのより一般的なシステム設計用語と混同しているようです。

システム設計の観点からLinux実行を目指す既存のx86 PCではバイオスは1段階のブートローダです。 ROM(またはフラッシュEEPROM)に配置されており、コールドリセット後にプロセッサが最初に実行する操作です。これは、必要なハードウェアを初期化し、固定または 。それ以外の場合は場所を削除してください。

システム設計の観点から、GRUB全体は2番目のステップブートローダになります。 GRUBレガシーも「ステップ」と呼ばれるコンポーネントに分けられますが、これはレガシーBIOSの制限を解決するように設計されたGRUBの内部区分にすぎません。 GRUBステップはシステム設計とは異なります。1段階/2段階ブートローダ用語。

おすすめ記事