レスキューディスクの作成(2)

 前回、2枚組のレスキューディスクを作成しました。
今回は、レスキューディスクをブートローダー(lilo)を使って起動しようと思います。
こうする事で、カーネルに色々とパラメータを渡す事が可能になります。

前回までの内容
  1. LILOへの対応
    前回からの変更点は、1枚目(カーネルFD)の作成方法だけだです。
    2枚目のルートファイルシステムの作成方法は前回と同様ですので、前回を参考にして下さい。

    前回のFDではカーネルがブートセクタに書き込まれていたのですが、今回はliloを利用する為、カーネルはファイルシステム上に配置する事になります。
    その替わりにliloが(実際にはboot.b)がブートセクタへ書き込まれます。
    liloを利用する為に必要なファイルが追加されているので以下に説明します。
     /bdlilo.conf ・・・ liloの設定ファイル
     /boot.b       ・・・ ブートローダー
     /dev/fd0     ・・・ スペシャルデバイスファイル(FD)
     /dev/null    ・・・ スペシャルデバイスファイル(null)

    カーネルディスク作成は次の用になります。
    1. FDのフォーマット(カーネル配置用ファイルシステム作成)
      作成するファイルシステムはカーネルファイルより40Kバイトくらい大きめが目安です。以下の例では、カーネルサイズが396kなので、430Kバイトのファイルシステムを作成します。作成後はマウントして下さい。
      ※カーネルは前回作成したカーネルを使用します。
      [root kernel]# ls -lh /usr/src/linux/arch/i386/boot/bzImage
      -rw-r--r-- 1 root root 396k May 30 01:11 bzImage
      [
      root kernel]# mke2fs -i 8192 -m 0 /dev/fd0 430
      [root kernel]# mount /dev/fd0 /mnt/floppy
      ※40〜50Kバイトとは・・・カーネル以外に必要なファイルのおおよそのサイズです。
      /boot/mapなどはliloを実行すると作成されたり、iノードで使用する容量はよく分からないのでだいたいの値を使っています。実際に作ってみて余るようなら少なくするなど調整して下さい。
    2. 必須ディレクトリ・ファイルの作成、コピー
      フロッピーにboot, devディレクトリを作成し、必要なファイルを作成またはコピーします。
      [root kernel]# cd /mnt/floppy/
      [root floppy]# rmdir lost+found
      [root floppy]# mkdir boot dev
      [root floppy]# cd dev
      [root dev]# mknod null c 1 3
      [root dev]# mknod fd0 b 2 0
      [root dev]# cd ../boot/
      [root boot]# cp /boot/boot.b .
      [root boot]# cd ..
      [root floppy]# vi bdlilo.conf
      <--ファイルを作成します。内容については下記を参照して下さい。
      [root floppy]# cp /usr/src/linux/arch/i386/boot/bzImage .
      bdlilo.confの内容は次の通りです。
      boot=/dev/fd0
      install=/boot/boot.b
      map=/boot/map
      read-write
      backup=/dev/null
      compact
      image=bzImage
          label=Bootdisk
          root=/dev/fd0

    3. liloの実行(インストール)
      liloを実行し、FDにブートローダーをインストールします。
      [root floppy]# lilo -v -C bdlilo.conf -r /mnt/floppy
      liloを実行すると/boot/mapファイルが作成されます。

    4. カーネルのRAM変数の書き換え。
      rdevコマンドの対象はFDではなく、カーネルファイルに対して行います。前回とは異なるので注意!
      [root floppy]# rdev -r /mnt/floppy/bzImage 49152

    以上で完成です、早速試してみよう。
    (ルートファイルシステムは前回のものを使います。)

お問い合わせはwebmaster@ryouto.jpまで。
Copyright (C)2003 ryouto.jp. All Rights Reserved.