Raspberry Pi: BIOS はありますか?

ラズベリーパイ BIOS

一部のユーザー ラズベリーパイにBIOSまたはUEFIがあるかどうか疑問に思う、他のコンピューターと同様に、ご存知のように、UEFI は Arm ベースのコンピューターでもサポートされているため、 このSBCはとても人気があり、安い. しかし、真実は、ラズベリーの連中が別の代替ソリューションを選択したということです.

ここでは、その解決策とその理由について説明します このファームウェアは使用しません、コンピューターのようにセットアップメニューがない場合にRaspberry Piでいくつかの構成がどのように行われるかを示すことに加えて...

Raspberry Pi が BIOS/UEFI を使用しないのはなぜですか?

ラズベリーパイ4

ご存知のように、 BIOS または UEFI はファームウェアです デスクトップ、ラップトップ、AIO、サーバー、ワークステーションなど、多数のコンピューターに存在します。 ただし、ブート プロセスとシステム チェックにこのファームウェアを使用する他の x86 SBC とは異なり、SBC (Single Board Computer) であるにもかかわらず、Raspberry Pi にはありません。 Raspberry Pi が ARM ベースだからではなく、多くの ARM コンピュータには BIOS/UEFI も搭載されています。

一方、このファームウェアは、 ブーツ 他の多くの設定を制御できることに加えて、オペレーティングシステムが配置されているストレージメディアからより簡単に。 ここで彼は、Raspberry Pi が BIOS を使用しない理由について手がかりを与えてくれます。 一方では、SD カードなどの同じメディアからのみデバイスを起動でき、他の方法では起動できないためです。 一方、Raspberry Pi の周辺機器と機能の数はより限られているためです。

ただし、これは完全に BIOS または UEFI を使用しない理由ではありません。 実際、注意深く分析すると、 Raspberry Pi の ARM SoC は、独自の内部ファームウェアを使用します 別の BIOS チップを必要とせずに、CPU を適切な状態で起動し、システムの残りの部分を起動します。 しかし... それでは、なぜ BIOS セットアップまたは BIOS メニューにアクセスできないのでしょうか? 一方では、このファームウェアは非常に制限されており、BIOS/UEFI ほど複雑ではないため、パラメーターを構成するメニューは無意味です。 SDカードと同様に、デフォルトの記憶媒体。

このため、Raspberry Pi の開発者は、SD カードからの初期化と起動に、この基本的なファームウェアを使用するのではなく、この基本的なファームウェアを使用することを好みました。 ROMチップ より複雑なファームウェアが PCB にインストールされています。 そして、ご覧のとおり、モバイル デバイスには BIOS / UEFI もありません。これは、内部メモリから Android (または別のオペレーティング システム) しか起動できないためです。

このようにして、一方ではボード上の追加のチップが節約され、他方ではストレージ用のフラッシュメモリを含める必要もなくなります。 ラズベリーパイの価格が高くなる. SDカードは別途購入する必要があります。

ただし、Raspberry Pi 3 では実験的なサポートが追加されたと言わざるを得ません。 USBメディアから起動 これは明示的に有効にする必要があり、無効にすることはできません。 これは、新しいバージョンの SoC の組み込みファームウェアに含まれていますが、これは少し複雑でした。そのため、最初は簡単なものから始めて、SD メモリ カードからのみ起動することにしたのでしょう。

Raspberry Pi は代わりに何を使用していましたか?

Rasbperry Pi 4 Power

たとえば、Raspberry Pi には、PC の世界で理解されているような BIOS や UEFI はありませんが、 クローズド ソース ファームウェア 上で述べたように、SoCで。 このチップは、これらの Raspberry Pi Foundation ボードに BCM を供給する Broadcom 社によって設計されています。

SoC(システムオンチップ) ARM Cortex-A シリーズ CPU、VideoCore GPU、デジタル信号処理用の DSP、CPU と GPU で共有される SDRAM メモリ、USB などのコントローラを統合しています。 さらに、私たちが話しているファームウェアが統合されており、起動に必要なROMメモリも含まれています。

開始手順

たくさん pasos このファームウェアに続くものは次のとおりです。

  1. このファームウェアは ブートローダーを起動 SD カードにあるオペレーティング システムの。 ご存知のように、ブートローダは SD メモリ カードの FAT32 パーティションをマウントし、SoC にプログラムされており、変更できない第 XNUMX ブート ステージに進みます。
  2. 第 XNUMX 段階では、 ブートコード.bin、GPU ファームウェアが準備され、開始されます。 このファイルは SD カードにのみ保存できるため、PC の従来の BIOS/UEFI のように起動優先度を変更することはできず、そこからのみ起動します。 ただし、前述したように、Pi 3 では、USB から起動する機能も実験的に追加されました。
  3. 次に、CPU を起動する start.elf ファイルと、使用を開始できるように SDRAM に必要なパーティションを作成するために使用される fixup.dat と呼ばれるファイルを使用する第 XNUMX 段階があります。 CPU と GPU によって。
  4. 最後に、ユーザー コードが実行されます。これは通常、実行可能なバイナリまたはファイルのイメージです。 Linuxカーネル、kernel.imgなど、またはRaspberry Piでサポートされている他のオペレーティングシステムから、これがオペレーティングシステムが起動して使用できるようになる方法です...

ご覧のとおり、単純なプロセスですが、PC や他のコンピューターと比較すると、少し奇妙です。 そして、Raspberry Pi の場合、他の場合のように CPU を起動する代わりに、 GPU が最初に起動します. 実際、この Broadcomo GPU は、SoC に組み込まれたオペレーティング システムのようなものを実行する役割を担います。これは非常に単純ですが、機能するために必要です。 これは VCOS (Video Core Operating System) として知られており、Linux と通信します。 これは非常にまれですが、真実は、Pi の GPU がグラフィックと起動を担当するだけでなく、 システムクロックとオーディオの制御.

原則として、そうは言っても、私たちができることはほとんどないようです ブート構成を変更するしかし、真実は、それが完全にそのようではないということです。 また、システムの /boot/ ディレクトリにある config.txt というファイルがあり、テキスト エディターで開くと、その内容を簡単に変更して、ブートを変更し、特定のパラメーターで構成することができます。 .

この config.txt ファイル ARM カーネルの起動後に GPU によって読み取られ、SoC がシステムの起動中に何をすべきかを知るための命令が含まれています。 たとえば、専用メモリの変更、メモリのリフレッシュ、L2 キャッシュへのアクセスの無効化、CMA 構成の変更、カメラ LED の有効化または無効化、ビデオ モード オプションの変更、コーデック、一部のオプションの起動、オーバークロックなどを行うことができます。

このファイルには 構文 非常に特殊なため、起動時の問題を回避するために尊重する必要があります。 さらに詳しい情報が必要な場合は、 このリンクに残したウィキを読んでください.

Raspberry Pi の起動優先度を変更する

noobs config.txt

PC の起動順序または優先順位を変更するときは、すべて非常に簡単です。BIOS/UEFI に入るだけです。[Boot] タブには、ハード ドライブ、光学ドライブから起動するために変更できるパラメーターがあります。メディア、USB、ネットワークなどその代わり、 Raspberry Pi ではそれほど簡単ではありません. デフォルトでは、常に SBC に挿入された SD メモリ カードから OS を起動します。 実際、バージョン 3 以降でも、SD カードと USB スティックの両方が挿入されている場合、システムは SD から最初に起動します。 SD が取り外され、USB だけが残っている場合は、USB 経由で行われます。

ただし、この順序は変更できます。 そのためにあなたがしなければならない ラズパイを起動、たとえば、次のようにします。

  • 次のコマンドで Raspberry Pi セットアップを開きます。
sudo raspi-config
  • 「高度なオプション」セクションに移動します。 (注、メニューは英語です)
  • 次に、このセクション内で、[Boot Order] オプションで ENTER を押します。
  • 選択できる XNUMX つの異なるオプションが表示されます。
    • SDカード起動- デフォルトでは、このオプションは Raspberry Pi デバイスで既に有効になっています。SD カードと USB を同時に挿入すると、SD カードを取り外さない限り、システムはデフォルトの起動オプションとして SD カードを使用します。
    • USB ブート: USB を起動用のプライマリ デバイスとして使用する場合は、このオプションを選択できます。これは、USB デバイスが Raspberry Pi に挿入されている場合に機能します。 それ以外の場合は、SD カードを挿入してシステムを起動しないでください。
    • ネットワークブート: この起動オプションは、Raspberry Pi SD カードが何らかの理由で機能しない場合、またはオペレーティング システムに問題がある場合に役立ちます。 その場合、Imager ツールを使用してシステムを SD カードに再インストールします。

完了したら、次のことができます ラズベリーパイを再起動します 変更を適用するには...

Raspberry Pi の問題を診断する (POST)

最後に、BIOS/UEFI には、オペレーティング システムが起動する前に実行され、さまざまなコンポーネントのステータスをチェックする POST と呼ばれるステップがあることがわかります。 問題がなければ、OS が起動します。 しかし、何か問題を検出すると、停止して画面にエラー メッセージを表示するか、ビープ音を鳴らして問題を特定します。

これもRaspberry Piには存在しません。 ただし、SoC ファームウェアには、簡単に診断できるように、発生する可能性のある問題にフラグを付けようとする方法があります。 そして、それはその電源 LED を介して行われます。 たとえば、Raspberry Pi 4 の場合、問題を示すために LED が発するライト コードは次のとおりです。

長い点滅 短い点滅 Status:
0 3 起動中の一般的な障害
0 4 start*.elf が見つかりません
0 7 カーネル イメージが見つかりません
0 8 SDRAM 障害
0 9 SDRAM 不足
0 10 HALT状態で
2 1 パーティションは FAT ではありません (サポートされていません)
2 2 パーティションの読み取りに失敗しました
2 3 非 FAT 拡張パーティション
2 4 ハッシュまたは署名が一致しません
3 1 SPI-EEPROM エラー
3 2 SPI EEPROM 書き込み保護
3 3 I2C エラー
4 4 ボード タイプがサポートされていません
4 5 致命的なファームウェア エラー
4 6 タイプAミスファイア
4 7 タイプBミスファイア

コメントを最初に

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。