ホームページへ戻る


         Linuxブートアップの仕組み

PCのリセット後に、Linuxが立ち上がるまでのシーケンスについて、おおまかな説明をしたものは、世間に幾つか存在します(参考文献参照)。
LILOの役割や動作そして使い方はそれらの文献を参考にするのがベストです。
しかしソースコードの中身まで立ち入って詳細に説明をしたものは見当たりません。
そこでLinuxののブートアップの仕組みを詳しく理解するために、ブートローダーとして多くのデイストリビューションが採用しているLILOのソースコードを逐一解析してみました。
ブートアップの部分はハードウエアーの依存性が高く、またサイズの制限もあり、アッセンブラーで書かれています。ここではPC互換機(インテル80386系)のコードについて解析します。
PC互換機ではリセット後はBIOSが起動し、LILOもこのBIOSを使って作業をします。アッセンブラーやBIOSに関する書籍は現在入手難ですので、ソースコードで使われているものについては、これをやや詳しく説明しました。
第一部では、LILOのブートアップの部分であるfirst.Sとsecond.Sのソースコードを詳しく解析します。
また第二部では、ブートアップの次の段階であるカーネルのソースに付属のsetup.Sについてソースコードの解析をします。
    setup.Sの後はhead.Sと続きます。
これからの具体的な内容はつぎに掲載されています。 ファイルはすべて PDF ファイルです。

            2000年4月号 :   第1部    LILOブートアップソースコードの解析  プライマリーローダ             

                       5月号 :                LILOブートアップソースコードの解析  セカンダリーローダ (その1)

                       6月号 :                LILOブートアップソースコードの解析  セカンダリーローダ (その2)

                       7月号 :                LILOブートアップソースコードの解析  セカンダリーローダ (その3)

                       8月号 :    第2部  カーネルのセットアップを調べる     Setup.S      (その1)

                       9月号 :               カーネルのセットアップを調べる     Setup.S      (その2)

                     10月号 :               カーネルのセットアップを調べる     video.S      (その1)

                      11月号 :              カーネルのセットアップを調べる     video.S      (その2)

            2001年2月号 :               カーネルのセットアップを調べる     head.S      最終回