次のページ 前のページ 目次へ

3. Zipディスクの設定

(Red Hat、Slackware配布パッケージ両方に共通の章です。始める前に Zipドライブにアクセスできるか確認して下さい:カーネルにppaが組み込まれて いるか、ppaモジュールがロードされているか。これを確認する簡単な方法はdmesg でチェックすることです:

==> dmesg

dmesgはかなり長いことがあるのでmoreにパイプで渡しましょう。

dmesg | more

以下は著者のPPA部分を引用したものです:


scsi0 : PPA driver version 0.26 using 4-bit mode on port 0x3bc.
scsi : 1 host.
  Vendor: IOMEGA    Model: Zip 100           Rev: D.08
  Type:   Direct-Access                      ANSI SCSI revision: 02
Detected scsi removable disk sda at scsi0, channel 0, id 6, lun 0
SCSI device sda: hdwr sector= 512 bytes. Sectors= 196608 [96 MB] [0.1 GB]
 sda: Write Protect is off
 sda: sda1 sda2

もし以下のように表示されている時は、SCSIサポートはされていてもZipドライブは 検出されていません。


   scsi : 0 hosts.
   scsi : detected total.

3.1 Zip ディスクのパーティション

Zipディスクのパーティションを設定するためにfdiskを実行します:

==> fdisk /dev/sda/

これは私が設定したパーティションテーブルのスナップです:


 Disk /dev/sda: 64 heads, 32 sectors, 96 cylinders
 Units = cylinders of 2048 * 512 bytes
    Device Boot   Begin    Start      End   Blocks   Id  System
 /dev/sda1            1        1       81    82928   83  Linux native
 /dev/sda2           82       82       96    15360   82  Linux swap

任意のマシンでも使えるようにしたいのでスワップパーティションを使うことに しました。

3.2 Zipディスクのフォーマットとマウント

fdisk実行後、新しいパーティションをフォーマットします:

==> /sbin/mke2fs -c /dev/sda1

そしてスワップパーティションを作ります:(fdiskから15360ブロックをスワップ パーティションにします)

==> /sbin/mkswap -c /dev/sda2 15360

最後にZipディスクをマウントしておきます:

==> mount /dev/sda1 /iomega -t ext2

3.3 ブートディスクの作成

Zipドライブのパラレル接続バージョンは、実際にはSCSIデバイス ではないので、ブート可能なデバイスではありません。そこでモジュールとして ではなく、ppaを組み込んだカーネルを使ったブートディスクが必要です。

カーネルの設定と作成

はじめにロードモジュールではなくppaをサポートしたカーネルを作り、設定します。 ppaオプションを有効にするためにまずSCSIサポートを有効にします:

SCSI support (CONFIG_SCSI) [Y/m/n/?]

さらにSCSIディスクサポートを有効にします:

SCSI disk support (CONFIG_BLK_DEV_SD) [Y/m/n/?]

最後に「SCSI low-level drivers」でppaサポートをします:

IOMEGA Parallel Port Zip drive SCSI support (CONFIG_SCSI_PPA) [Y/m/n/?]

ppaはモジュールとしてではなくカーネルに組み込むことに注意して下さい。 parportカーネルパッチ( リファレンス章を参照) がないと、ppaドライバはZipドライブの passive port(訳注:Zip ドライブの後面についているプリンタ接続用のコネクタ) をプリンタ接続に使えません。そこでパラレルプリンタサポートにはnoと答えます:

Parallel printer support (CONFIG_PRINTER) [N/y/m/?]


  NOTE: ppaドライバについての詳しい情報は「Zip-Drive mini-HOWTO」
        を参照して下さい。

カーネルの設定ができたらカーネルを構築します:

==> make dep; make clean; make zImage

新しいカーネルはarch/i386/boot/zImageにあります。

フロッピーにカーネルを納める

異なるカーネルとパラメータが必要なので4枚のフロッピーを用意します (加えてこの作業の方法についてメールをいただきました)。 ブート可能なフロッピーを作る方法のひとつとしてLILOの章を設けました。

LILOインストール

いくつかのカーネルを1枚のフロッピーに納めたい、シングルユーザーモード といった引数を渡せるようにしたいまたはその必要があるという人達のために、 フロッピーにLILOをインストールする方法についてメールをいただきました。

ext2ファイルシステムの作成

フロッピーにext2ファイルシステムを作るために、Zipディスクと同じようにします:

==> mke2fs -t /dev/fd0

基本的なファイルのコピー

次にマウントポイントのディレクトリがあることを確認してフロッピー をマウントします(私は/mnt/floppyを使いました):

==> mount /dev/fd0 /mnt/floppy -t ext2

現在のLinuxインストールでLILOが使っているものと同じファイルが必要です。


    NOTE: ここにあるファイルは私のマシンからのもので全ての人にとって
          そのまま当てはまるわけではありません。

==> cp /boot/boot.b /mnt/floppy

==> cp /boot/map /mnt/floppy

==> cp /usr/src/linux/arch/i386/boot/zImage /mnt/floppy/vmlinuzDESK

次にLILO用の設定ファイルを作ります。はじめにZipディスク用のカーネルLILO設定 ファイル(/mnt/floppy/lilo.conf)を作ります。以下は私が使っているもの です。テスト用に異なるカーネルを設定しています:


boot=/dev/fd0
map=/mnt/floppy/map
install=/mnt/floppy/boot.b
prompt
compact
timeout=50
image=/mnt/floppy/vmlinuzLAP
   label=Laptop
   root=/dev/sda1
   read-only
image=/mnt/floppy/vmlinuzDESK
   label=Desktop
   root=/dev/sda1
   read-only
image=/mnt/floppy/vmlinuzDESK
   label=rescue
   root=/dev/hdc1
   read-only

2つのカーネルがあります。ひとつ(vmlinuzLAP)は486ラップトップ用のもので 数値演算コプロセッサをサポートしています。もうひとつ(vmlinuzDESK)はデスク トップ用のものです。label=rescueはハードディスクからの緊急ブート用 です。

フロッピーはマウントしたままにして、以下のコマンドでフロッピー上にLILOを インストールします。

==> /sbin/lilo -C /mnt/floppy/lilo.conf

LILOをフロッピーにインストールしたら、以下2つのステップ「カーネルのみの インストール」「フロッピーにルートとスワップを設定する」は飛ばして下さい。 ここまでの作業が楽しいからもう一度やりたいと言うなら話しは別ですけど :)。

カーネルのみのインストール


   NOTE: これはLILOインストールとは関係ありません。

新しく作ったカーネルをフロッピーディスクにコピーします:

==> cp arch/i386/boot/zImage /dev/fd0

あるいは

==> cat arch/i386/boot/zImage > /dev/fd0

フロッピーにカーネルをコピーする方法はたくさんありますが、私は上のcatを 使った方法がちょっと通っぽくて気に入っています。ここで">"を 忘れないようにしましょう。バイナリファイルを見るのが好きというなら別ですが :)。

フロッピーにルートとスワップを設定する


   NOTE: これはLILOインストールとは関係ありません。

フロッピーにカーネルを入れたら、Zipディスクにルートデバイスをセット する必要があります:

==> /sbin/rdev /dev/fd0 /dev/sda1

 rdev -  ルートデバイス、スワップデバイス、RAM ディスクサイ
       ズ、ビデオモードの問い合わせと設定

次のオプションが必要かどうかわかりませんが、やるにこしたことは ありません。スワップのセットは:

==> /sbin/rdev -s /dev/fd0 /dev/sda2 とします。

[訳注:ブートフロッピーの作り方については「Linux Bootdisk HOWTO」 中野武雄さん訳を参照して下さい。JFサイトから入手できます。]


次のページ 前のページ 目次へ