web-dev-qa-db-ja.com

U-BootとBIOSの違いは何ですか?

U-BootとBIOSの違いは何ですか?これらのデバイスは両方とも特定のCPUに存在しますか、それとも一度に1つのデバイスが存在する可能性がありますか?誰かが例を提供してくれるといいですね。

5
vishram0709

U-BootとBIOSの違いは何ですか?これらのデバイスは両方とも特定のCPUに存在しますか、それとも一度に1つのデバイスが存在する可能性がありますか?

U-BootとBIOSには多くの違いがあります。
ところで、これらは両方ともソフトウェアであり、「デバイス」ではありません。

  • BIOSは本質的にPCの概念であり、CP/Mパーソナルコンピューターと元のIBMPCに登場しました。
    U-Bootはその名に恥じないように(「ユニバーサルブート」)、多くのアーキテクチャ/プラットフォームに移植されています。

  • BIOS機能には、リセットまたは電源投入後の基本的なシステム初期化、電源投入時自己診断(POST)の実行、対話型ハードウェア構成インターフェイス(BIOSセットアップ)の提供、およびPCのブートストラップが含まれます。元のIBMPCのBIOSの統合デバイスドライバーの使用は廃止され、OSデバイスドライバーが採用されました。
    U-Boot機能には、基本的なシステムの初期化とシステムのブートストラップが含まれます。オプションで、起動シーケンスを中止して、対話型のコマンドラインセッションに入ることができます。 U-Bootは拡張可能であるため、POSTおよびその他の診断、ファイルシステム保守ユーティリティ、時刻の取得(SNTP)などのネットワーク機能など、任意の数の機能を構成または追加できます。 )またはIPアドレス(DHCPクライアント)、およびメモリ位置の読み取り/書き込み/変更。U-Bootの実際の機能は、システム/システムへのインストールによって異なります。

  • BIOSは、PCの初期起動を第1段階のブートローダーとして処理します。通常、それが存在するフラッシュメモリでインプレース(XIP)で実行されます。
    U-Bootは通常、第2(または第3)ステージのブートローダーです。 XIPが可能なため、BIOSのような第1ステージのブートローダーである可能性がありますが、実際にそれを実行したプラットフォームがあるかどうかはわかりません。通常、U-Bootはフラッシュメモリからロードされ、メインメモリで実行されます。 SDRAM。

  • 第一段階のブートローダーとして、BIOSは、ハードディスクからのマスターブートレコード(MBR)など、ロードおよび実行するものとしてかなり制限されています。 BIOSは通常、実際のOSイメージをロードしません。
    U-Bootは、uImageファイル形式が提供されている場合、ロードしているOSを認識し、適切なOS初期化のためにメモリバッファとパラメータを適切に準備できます。

  • BIOSはPCベースであるため、通常、オペレーターI/Oデバイスとしてビデオアダプターとキーボードを使用します。
    U-Bootは通常、オペレーターI/OデバイスとしてRS232シリアルポートを使用します。

  • オリジナルのIBMPC BIOSは、IBMPC技術文書でx86アセンブリ言語リストとして公開されました。 AMI、Award、Phoenixが販売する最新バージョンは独自仕様です。
    U-BootはGNU GPLの下でリリースされます。

Linux on PCは通常、BIOS後のプログラムとしてGrubを使用しますbootstrapプログラム。Grubの代わりにU-Bootを使用できると思いますが、そのような実装の理由または反対の理由はわかりません。 。

9
sawdust

違いは、U-bootがオープンソースであるということだと思います。

U-Bootは、8xxPowerPC用に最初に作成されました。 PPCBootという名前でsourceforge.netに移動されました。 2年後、ARM cpuのブートローダーであるARMBootと統合されました。その後、他のさまざまなチップやプラットフォームをサポートするように進化しました。

BIOSはIBMPC用に作成されました。ですから、クローズドソースだと思います。

2
Nuno Costa

主な違いは、u-bootが単なるブートローダーであるということです。 BIOSはブートローダーであり、ボード上のハードウェアを使用するために機能します。

1
Dennis Kerrisk