現: 2020-12-26 (土) 15:07:52 yuji ソース
Line 1: Line 1:
 +* ブートシーケンス [#xcb6d863]
 ++ Raspberry Piに電源がOn~
 +ARM coreは動作していない。GPU coreがonされる。この時,SDRAMはディスイネーブル。~
 ++ GPUの1stステージ・ブートローダーが実行される~
 +1stステージ・ブートローダーは,GPUの内蔵ROMに入っている。~
 +SD/MicroSDカードの第1パーテション(先頭のパーテーションのFAT/FAT32ファイルシステム)にある2ndステージ・ブートローダー(bootcode.bin)をL2キャッシュに読み込んで実行する。~
 ++ 2ndステージ・ブートローダー~
 +bootcode.binはSDRAMをイネーブルにする。~
 +SD/MicroSDカードから3rdステージ・ブートローダーであるloader.binを第1パーテション(FAT/FAT32)からRAMに読み込んで実行する。~
 ++ 3rdステージ・ブートローダー~
 +loader.binはstart.elf(GPUのfirmware)を第1パーテション(FAT/FAT32)からRAMに読み込んで実行する。~
 +新しいブートシーケンスでは2ndステージ・ブートローダー(loader.bin)はなくなり,bootcode.binに統合されたみたいだ。つまり,bootcode.binがstart.elfをロードする。~
 ++ 4thステージ・ブートローダー~
 +start.elfは接続されているDisplayに,テストパターン(虹色パターン)を表示する。~
 +そして第1パーテション(FAT/FAT32)にあるconfig.txt,cmdline.txtとkernel.imgをRAMに読み込む。~
 +第1パーテションにあるconfig.txtに記載されている情報から,システム設定ファイルをロードする。(各種デバイス用)~
 +config.txtのkernel=xxxxで指定されたLinuxカーネルをロードする。(デフォルトはkernel.imgで,RPi3の場合はkernel7.img)~
 +その後ARM Coreのリセット信号を解除してARM Coreを起動する。これで,Linux Kernelがブートされる。~
 +この時cmdline.txtの内容がカーネルコマンドオプションとして与えられるようだ。(CPUシリアル番号,MAC Address,Displayの解像度などのSoCのfirmwareから提供される値を,カーネルに引き渡す為にパラメータとして与える)
 ++ Kernelが第2パーテーションのrootファイルシステムを直接マウントする。~
 +initramfsは使用していないようだ。~
 ++ systemdを最初のプロセスとして起動する。~
 +** Raspberry Pi 4Bのブートシーケンス [#zeaf7948]
 ++ Raspberry Piに電源がOn~
 +ARM coreは動作していない。GPU coreがonされる。この時,SDRAMはディスイネーブル。
 ++ GPUの1stステージ・ブートローダーが実行される~
 +1stステージ・ブートローダーは,GPUの内蔵ROMに入っている。~
 +1stステージ・ブートローダーが新しく実装されたEEPROMの''recovery.bin''を読み込んで実行する。SDRAMの初期化なども行う。~
 +その後,MicroSDカードからstart4.elfをロードし実行する。~
 ++ 2ndステージ・ブートローダー(start4.elf)~
 +start4.elfは接続されているDisplayにテストパターン(虹色パターン)を表示する。~
 +その後MicroSDカードの第1パーテション(FAT/FAT32)にあるconfig.txt,cmdline.txtとkernel7.imgまたはkernel8.imgをRAMに読み込む。~
 +GPUがARM Coreのリセット信号を解除してARM Coreを起動する。これで,Linux Kernelがブートされる。
 +//+ Kernelが第2パーテーションのrootファイルシステムを直接マウントする。~
 +//+ systemdを最初のプロセスとして起動する。~
  

  • PC/RaspberryPi/ブートシーケンス のバックアップ差分(No. All)
    • 現: 2020-12-26 (土) 15:07:52 yuji

トップ   差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 1674, today: 1, yesterday: 2