%
%	表題: Debian GNU/Linux のレスキューディスクの成立ち
%
%	履歴: 2000/03/10 杉山耕一朗
%


○ フロッピー 1 枚でブートさせるのは何が必要か

   ・カーネルイメージ
   ・ルートの圧縮イメージ
   ・ブートローダ(lilo 等)
   

   ● Debian の resc1440.bin の中身を見る. 

   $ mount -o loop /dev/fd0 /mnt

   $ ls /mnt/
   -rwxr-xr-x   1 root     root         1086 Jul 21  1998 debian.txt
   -rwxr-xr-x   1 root     root          559 Jul 21  1998 f1.txt
   -rwxr-xr-x   1 root     root          717 Jul 21  1998 f10.txt
   -rwxr-xr-x   1 root     root          415 Jul 21  1998 f2.txt
   -rwxr-xr-x   1 root     root          775 Jul 21  1998 f3.txt
   -rwxr-xr-x   1 root     root          993 Jul 21  1998 f4.txt
   -rwxr-xr-x   1 root     root          926 Jul 21  1998 f5.txt
   -rwxr-xr-x   1 root     root         1176 Jul 21  1998 f9.txt
   -rwxr-xr-x   1 root     root          899 Jul 21  1998 install.sh
   -r-xr-xr-x   1 root     root         5368 Jul 10  1998 ldlinux.sys
   -rwxr-xr-x   1 root     root       704533 Jul 21  1998 linux
   -rwxr-xr-x   1 root     root          174 Jul 21  1998 rdev.sh
   -rwxr-xr-x   1 root     root          898 Jul 21  1998 readme.txt
   -rwxr-xr-x   1 root     root       712857 Jul 21  1998 root.bin
   -rwxr-xr-x   1 root     root          832 Jul 21  1998 syslinux.cfg
   -rwxr-xr-x   1 root     root            7 Jul 21  1998 type.txt

   *.txt: メッセージ, その他. 
   install.sh: /boot ディレクトリを作る. カーネルイメージを /boot にインストールして必要なリンクを作る. 
   ldlinux.sys: 
   linux: カーネルのイメージ
   rdev.sh: ルートデバイスの設定
   root.bin: ルートの圧縮イメージ
   syslinux.cfg: 変数名の設定

   syslinux: 見えない? 


   ● rescue disk の模式図

   | カーネル圧縮イメージ | ルート圧縮イメージ| その他 |
   |←---------------------- 1.4 M ------------------→|





○ ブートの流れ(ブータブル・リカバー CD; rescue disk も基本的に同じ)

   BIOS: 
	 1.ディスクの最初のセクタを読み込んで制御をそこに落とす. 要はブートローダを起動する. 

	↓ 

   ブートローダ: syslinux
		 1. BIOS 経由でカーネルイメージ(linux)と initrd イメージ(root.bin)をメモリー(RAM ディスク)上に展開. 
		 2. syslinux が kernel (linux)に制御を移す
	↓

   カーネルの起動: linux
		   1. カーネルの初期化
		   2. boot.bin をメモリー上に展開し, ルートパーティションとしてマウントする. 
		   3. /sbin/init に制御を移す
	↓

   init の実行 : /sbin/init
		 1. /etc/rc ファイルを実行

	↓

   インストーラーの起動
		1. 色, キーボードの設定
		2. ハードディスクのパーティションテーブルの作成. 
		3. ハードディスクのマウント
		4. シェルの実行
	↓

   シェルの実行: ash
		 1. ディスクイメージの展開, コピー. 
		 2. 設定ファイルの変更
		 3. lilo コマンドの実行
   








○ おまけ: ブートの流れ(disk) BIOS: ディスクの最初のセクタを読み込んで制御をそこに落とす. 要はブートローダを起動する. ↓ ブートローダ: lilo 1. BIOS 経由でカーネルイメージ(linux)と initrd イメージ(root.bin)をメモリー(RAM ディスク)上に展開. 2. syslinux が kernel (linux)に制御を移す ↓ vmlinuz の起動: /boot/vmlinuz 1. カーネルの初期化 2. boot.bin をメモリー上に展開し, ルートパーティションとしてマウントする. 3. /sbin/init に制御を移す ↓ init の実行 : /sbin/init 1. /etc/rc ファイルを実行 ● init が呼び出したデーモンの例 init-+-asload |-atd |-bash---xinit-+-XF86_SVGA | `-sh-+-afterstep-+-Animate | | |-Pager | | `-Wharf | `-kterm---bash-+-emacs | |-jnetscape---communicator-ja---communi+ | |-kterm---bash---man---pager | |-kterm---bash---less | |-kterm---bash---ssh | |-pstree | `-xclock |-cannaserver |-cardmgr |-cron |-5*[getty] |-inetd |-kerneld |-kflushd |-klogd |-kpiod |-kswapd |-kupdate |-lpd |-portmap |-sshd |-syslogd `-xfs

履歴: 2000/03/10 杉山耕一朗