Raspberry PiはどのBIOSを使用していますか?


29

Raspberry PiマザーボードのBIOSについて学びたいです。BIOSとは何ですか?それは特定の名前を持っていますか、それともRaspberry PiのBIOSと呼ばれていますか?


2
BIOSには、起動前にPCを制御するためのソフトウェアがいくつか格納されています(例:セットアップハードドライブ、メモリなど)。PiはPCのような「BIOS」を使用しません。そのチップ用に書かれたファームウェアを使用してBroadcomチップ(CPU、キャッシュ、GPU)を初期化し、オペレーティングシステムに直接渡します。OSは、Broadcomによって報告されたハードウェアとRAMを検出します。これにより起動が非常に高速になりますが、Broadcomだけがその場でプロパティをデバッグまたは「設定」する方法を知っています。
ピョートルクラ

回答:


32

ファームウェアは、SoC(System on a Chip)プロセッサーにプログラムされたクローズドソースの専用コードであり、変更できません。電源投入時に、ファームウェアはSDカードでブートローダーを開始します。他のサービスがSoCファームウェアを介して提供されるとは思わないため、それ自体は「BIOS」(基本入出力システム)ではありません。この後、他のすべてはSDカードから取得されます。

wikiのソフトウェアセクションによると、起動順序は次のとおりです。

  1. 第1ステージブートローダー -これは、SDカードにFAT32ブートパーティションをマウントして、第2ステージブートローダーにアクセスできるようにするために使用されます。RPiの製造中にSoC自体にプログラムされ、ユーザーが再プログラムすることはできません。
  2. 第2ステージブートローダー(bootcode.bin)-これは、SDカードからGPUファームウェアを取得し、ファームウェアをプログラムしてからGPUを起動するために使用されます。
  3. GPUファームウェア(start.elf)-ロードされると、GPUはCPUを起動できます。追加のファイルfixup.datは、GPUとCPUの間のSDRAMパーティションを構成するために使用されます。この時点で、CPUはリセットから解放され、実行が転送されます。
  4. ユーザーコード -これは、任意の数のバイナリのいずれかです。デフォルトでは、Linuxカーネル(通常kernel.imgという名前)ですが、別のブートローダー(U-Bootなど)、またはベアボーンアプリケーションにすることもできます。

7
私は、第1段階のブートローダーがSoC内の小さなROMに書き込まれることだけを追加します。前述のように、bootcode.binSDカードからの読み込みのみが責任です。これが、SDカード以外のメディアからRaspberryPiを起動できない理由です。
アダムスキー

@TevoD、いい答え!私は徹底的な詳細が大好きです。
デヴィンコリアージョンソン

16

@TevoDは、彼の答えで彼が書いたものにほとんど正しいです-RaspberryPiは、クローズドソースファームウェアバイナリをブートローダーとして使用しています。現在のバージョンはここにあります。ファームウェアを作成する2つのファイルはbootcode.bin(2ndステージブートローダー)とstart.elf(GPU "ファームウェア")です。RaspberryPiに固有で非常にユニークなのは、GPU(グラフィックチップ)から始まることであり、これが実際にブートローダーが実行される場所です。GPUその後ARM CPU、Linuxカーネルを起動して実行します。

GPUただし、Linuxの起動後、コードオンはアンロードされません。代わりに、VCOSVideo Core Operating System)と呼ばれる独自のシンプルなOSを実行します。Linuxカーネルは、特別なmailbox protocol割り込みを使用してサービスと通信します(GPUはARM割り込みを生成できます)。framebuffer ここで使用されるメールボックスプロトコルに関する情報を読むことができます。GPUはグラフィックのことだけでなく、クロックの制御やオーディオの生成なども行います。この点で、GPUファームウェアはBIOS、通常のPCコンピューターと同様のものと見なすことができます。このリーディングRaspberryPi Linuxカーネルドライバーに関する詳細情報を見つけることができます。

また、この回答でさらに情報を見つけることができます。


いい視点ね。BIOSの質問は、SDカードではなく、オンボードファームウェアを明示的に参照していると考えていたため、より完全な回答を得るために起動順序を追加しました。あなたのものは確かにそこから引き継いでいます。+1
テボD
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.