ファーストステージブートローダとは？
例えば、初期の IBM PC と互換機では、ブートセクタは通常システムメモリの 32 KiB(後に 64 KiB に緩和)でしか動作せず、オリジナルの 8088/8086 プロセッサがサポートする命令のみを使用しなければならない、という特殊な制約に直面するかもしれません。固定ディスクやリムーバブルドライブにあるPCブートローダーの第一段(FSBL、first-stage boot loader)は、4つのパーティションエントリーを持つ64バイトのデフォルトパーティションテーブルと2バイトのブート署名のためのスペースを残すために、マスターブートレコードの最初の446バイトに収まる必要があります、また、4つ以上のパーティションエントリー(最大16個、各16バイト)、ディスクシグネチャ(6バイト)、ディスクタイム・スタンプ(6バイト)、Advanced Active Partition(18バイト)、特殊マルチブートローダなどの追加機能を環境によってはサポートしなければならない場合は、それよりも小さくなります。フロッピーやスーパーフロッピーのブートレコードでは、DOS 4.0以降、FAT12とFAT16ボリュームでは拡張BIOSパラメータブロックに最大59バイトが占有され、DOS 7.1 で導入されたFAT32 EBPBではさらに87バイトが必要となり、セクターサイズを512バイトとするとブートローダには423バイトしか残らない。例えば、ブートファイルはファイル・システムのルートディレクトリの一定位置に配置し、連続したセクタとして保存しなければならないなど、マイクロソフトのブートセクタは従来からブートプロセスに一定の制約を課していましたが、SYSコマンドによってその条件はクリアされ、その後のDOSでは若干緩和されています。マイクロソフトがLBAとFAT32をサポートするようになったとき、ブートローダは物理的に2セクタを超え、サイズの関係で386命令を使用するようになりました。同時に、他のベンダーは、利用可能な最小限のメモリ(32 KiB)とプロセッササポート(8088/8086)という当初の制約を緩和することなく、1つのブートセクタにはるかに多くの機能を詰め込むことに成功しました。例えば、DR-DOSのブートセクタは、FAT12、FAT16、FAT32ファイル・システムでブートファイルを探し出し、ファイルが固定された場所や連続したセクタに格納されていなくても、CHSやLBAを介して全体としてメモリにロードすることができる。
BIOSとUEFIは、不揮発性デバイスからオペレーティング・システムをロードするだけでなく、オペレーティング・システム用にシステムハードウェアを初期化します。
ファーストステージブートローダの例としては、BIOS、coreboot、Libreboot、Das U-Bootなどがあります。
ファーストステージ・ブートローダ(FSBL)は、HPSの最初のブートステージとなります。FPGA Configuration Firstモードでは、SDMがFSBLを抽出してHPSのオンチップRAMにロードします。SDMは、FPGAがユーザー・モードに移行した後、HPSをリセットから解放します。HPSはリセットを解除した後、FSBL のハードウェアハンドファイ ルを使用してクロック、HPS 専用I/O 、およびペリフェラルを設定し ます。通常、FSBLは次にSSBLをHPS SDRAMにロードし、SSBLに制御を渡します。