  Installing Linux on Zip disk using ppa Zip Drive Mini-Howto
  John Wiggins, jwiggins@comp.uark.edu
  v0.7, 26 January 1998
  伊佐冶  哲, isaji@mxu.meshnet.or.jp
  Fri Feb 27 23:30:53 1998

  このドキュメントは、Zipドライブのプリンタポートバージョンを使
  い、ZipディスクでポータブルLinuxシステムやLinuxシステムのバックアップ
  をしたいという人にとって便利です。
  ______________________________________________________________________

  目次

  1. 免責事項
  2. イントロダクション
     2.1 What's new
     2.2 この文書のルール
     2.3 アップデート
     2.4 リファレンス
        2.4.1 謝辞/貢献

  3. Zipディスクの設定
     3.1 Zip ディスクのパーティション
     3.2 Zipディスクのフォーマットとマウント
     3.3 ブートディスクの作成
        3.3.1 カーネルの設定と作成
        3.3.2 フロッピーにカーネルを納める
           3.3.2.1 LILOインストール
              3.3.2.1.1 ext2ファイルシステムの作成
              3.3.2.1.2 基本的なファイルのコピー
           3.3.2.2 カーネルのみのインストール
              3.3.2.2.1 フロッピーにルートとスワップを設定する

  4. Red Hat 4.2 インストール
     4.1 著者の環境
     4.2 パッケージインストール
        4.2.1 パッケージの入手
           4.2.1.1 アップデート：誤り
        4.2.2 glintを使わず、rpmを使ってどのようにパッケージをインストールするか：
        4.2.3 pamconfigあるいはpamどちらが先か？
     4.3 パッケージのインストール後の問題
        4.3.1 /etc/ld.so.cacheとlibc.so.5がないケース
           4.3.1.1 /etc/ld.so.cache
           4.3.1.2 libc.so.5
        4.3.2 rootパスワードの設定
        4.3.3 インストールプログラムが作るもの
        4.3.4 ネットワーク設定

  5. Slackware 2.2インストール
     5.1 必要なもの
     5.2 インストール
     5.3 インストールについて

  6. /etc/fstabを作る
  7. Debian 1.2インストール
     7.1 必要なもの
     7.2 あらまし
     7.3 レスキューディスクの作成と修正
        7.3.1 新しいレスキューディスクを作るためにdd(あるいはDOSでRAWRITE)を使う
        7.3.2 Zip ppa サポートの新しいカーネルを構築する
        7.3.3 新しいレスキューディスクのマウント
        7.3.4 カーネルイメージのコピー
        7.3.5 rdev.shスクリプトの編集
        7.3.6 修正したrdev.shスクリプトを実行
     7.4 Zipドライブに基本システムをインストールする
     7.5 ブートディスクの作成
     7.6 システムの再起動
     7.7 基本システムの設定、インストールプロセスの完成
     7.8 step 7.3.2で作ったモジュールのインストール

  8. 補足

  ______________________________________________________________________

  1.  免責事項

  注意：Zipドライブにはパラレルポート、SCSI、IDEタイプのものがあります。
  著者はIDEタイプのZipドライブを持っていないので、IDEタイプのものがパラ
  レルポート(printer port)のものと同じように動作するか確認していません。
  IDEタイプのZipドライブについてはこれ以上コメントしません。

  debianインストールの箇所は基本的に、手を加えずにコピーされたものか一部
  編集したものです。そのため作業に重複があるかもしれません。

  このドキュメントでは以下のことを想定しています：

  o  プリンタポートZipドライブを持っている(Zip Plusはパラレル、SCSI両方
     のコネクタを持ったものがあるので、これも同じように動作するものとし
     ます)。

  o  すでにlinuxをインストールして走らせている：このドキュメントは
     linuxをはじめてインストールすることを取り扱っていません。

  o  ppaが今のカーネルでサポートされている、あるいはモジュールなら ppaモ
     ジュールがロードされている(訳注：ppa.c   --
     /usr/src/linux/drivers/scsi/ppa.c。IOMEGA PPA3 パラレルポートSCSI
     ホストアダプタ用の低水準ドライバです)。

  o  Zipディスクのマウントポイントは/iomegaディレクトリである。

  2.  イントロダクション

  このドキュメントは、プリンタポートZipドライブを使った100MB Zipディスク
  上に、 Linuxシステムの基本的な機能(bare-bones)のインストール方法を記述
  した、４つの章に分けられています。はじめの章ではZipディスクのセット
  アップ方法を記述しています。Red Hat/Slackware配布パッケージのインスト
  ールに共通した内容です。4,5そして7章はそれぞれZipディスク上にRed Hat
  4.2, Slackware 2.2, Debian 1.2配布パッケージをインストールする方法につ
  いて書かれています。

  NOTE：Red Hat 5.0がリリースされたようですが、授業と仕事があるので Red
  Hat 5.0での作業については５月終りになると思います。またできれば他の配
  布パッケージでもテストしたいと思っています。

  2.1.  What's new

  このドキュメントをアップデートする時間がやっと作れました(本当は社会学
  の試験勉強をしなければならない...)。メールでコメントを送ってくださった
  方々に感謝いたします。

  このドキュメントの新しい点は：

  o  Debian 配布パッケージの情報。

  o  フロッピー上のLILOについて。

  o  Red Hat (4.2 Biltmore) の新しいバージョンの情報。

  o  ネットワーク設定(Red Hat：テストしていません)。

  2.2.  この文書のルール

  o  コマンドを示しています： ==>

  o  注目、注意を示します：

  ______________________________________________________________________
    NOTE:
  ______________________________________________________________________

  o  スクリーンショット/キャップチャを示します：

       ______________________________________________________________________
             Text here.
       ______________________________________________________________________

  2.3.  アップデート

  アップデートについては(まれにしかしませんが)以下をチェックして下さい：

  http://comp.uark.edu/~jwiggins/linuxZip/

  2.4.  リファレンス

  o  「Installation-HOWTO」 鈴木さんの和訳があります。

  o  「SCSI-HOWTO」水原 文、中野武雄さんの和訳があります。

  o  「NET-3-HOWTO」 (4.3.3章) こじまみつひろさんの和訳があります。

  o  「Zip-Drive (mini-HOWTO)」 中井優一さんの和訳があります。

  o  「LILO-FAQ」、「LILO-Mini-HOWTO」：中谷千絵さんの和訳があります。

  o  ParPortカーネルパッチ(プリンタポートを経由してアクセスできるように
     する)：

     http://www.cyberelk.demon.co.uk/parport/

  注：上記ドキュメントの和訳文はJFサイトから入手できます。

  http://jf.gee.kyoto-u.ac.jp/JF/JF.html

  を参照して下さい。

  2.4.1.  謝辞/貢献

  Slackware 2.2の章：Michael Littlejohn mike@mesa7.mesa.colorado.edu 氏
  の好意によって。

  Debian 1.2の章：John D. Blair jdblair@uab.edu氏の好意によって。

  LILOの情報やその他役立つ識見を

  Darcy Boese possum@niagara.com氏、

  および

  Javier Rodriguez jrodrigu@nextgeninter.net.mx氏から。

  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を組み込んだカーネルを使ったブートディスクが必要です。

  3.3.1.  カーネルの設定と作成

  はじめにロードモジュールではなく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にあります。

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

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

  3.3.2.1.  LILOインストール

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

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

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

   ==> mke2fs -t /dev/fd0

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

  次にマウントポイントのディレクトリがあることを確認してフロッピーをマウ
  ントします(私は/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
       ______________________________________________________________________

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

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

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

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

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

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

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

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

  あるいは

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

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

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

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

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

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

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

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

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

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

  4.  Red Hat 4.2 インストール

  何であれコンピュータ関連のものは、3カ月そこらで時代遅れになってしまう
  ので、アップグレードをする必要があります。Linuxも例外ではなく、次々と
  アップデートパッケージがリリースされていますが、その度にドキュメントを
  アップデートする時間があるとは限りません。ですが、せめて配付パッケージ
  のバージョンが上がった時には、この文書をアップデートするようベストを尽
  くします。RedHat以外の配布パッケージに関しては、各パッケージの章の作者
  が送ってこない限りアップデートはしません。

  4.1.  著者の環境

  私のインストールでは：

  o  Kernel 2.0.30

  o  Iomega ppa ディスクドライブ

  o  Red Hat 4.2

  を使っています。

  4.2.  パッケージインストール

  最初ZipディスクにRed Hatをインストールしようと思った時、Red Hatのブー
  トディスクを使えばいいから(インストールなんて)「超簡単」であると思って
  いました。でも気づきました。メールでRed Hatユーザーの様々な方から手助
  けをいただいたのでブートディスクを作りそうになりましたが、最終的に
  はrpmの--root オプションに気づきその方法(project)をとることはやめまし
  た。

       --root <dir>

       全ての操作において<dir>にルートされたシステムを使います。こ
       れはデータベースは全て<dir>以下で読み込まれたり修正された
       り、<dir>にchroot()した後にスクリプトが実行されるということ
       を意味しています。

  4.2.1.  パッケージの入手

  あるRed Hatミラーで見つけたファイルをみて、インストールするパッケージ
  を見つけました。このファイルは

         redhat/redhat-4.2/i386/RedHat/base/comps

  にあります。このインストールにおいてネットワークサポートをしたいのです
  が、 Red HatのX network設定用ツールはX上のものしか用意されていないので
  マニュアル設定をしなければなりません。むしろマニュアル
  で/etc/sysconfig/にあるネットワークセットアップスクリプト、設定を試み
  るべきでしょう。

  私の場合は、Zipドライブに開発パッケージをインストールしていません。
  (少なくともパッチを当てていないカーネルでは)何をコンパイルするにしても
  遅いです。また私はディスクスペースの都合からXのインストールはしていま
  せん。 Xを使えるようにしたければ、後でハードディスクをマウントし
  て/usrにシンボリックリンク(symlink)をはっておくという手もあるのですか
  ら。

  以下は私がインストールしたパッケージのリストです。*でマークしたもの
  はRed Hatの問題のあった(errata)パッケージをアップデートしたものです。
  丸括弧で囲った箇所はアップデートのパッケージ番号です：

       例： NetKit-B-0.09-6 は NetKit-B-0.09-8 にアップデートされています。
            この場合のエントリは *91) NetKit-B-0.09-6 (-8) となります。

       ______________________________________________________________________

              (コマンド rpm --root /iomega -qa によって作られたリスト)

              1) setup-1.7-2                   2) pamconfig-0.51-2
              3) filesystem-1.3-1              4) MAKEDEV-2.2-9
              5) adduser-1.7-1                 6) libc-5.3.12-18
              7) SysVinit-2.64-8               8) ash-0.2-8
              9) at-2.9b-2                    10) libtermcap-2.0.8-4
             11) bash-1.14.7-1                12) bc-1.03-6
             13) bdflush-1.5-5                14) cpio-2.4.2-4
             15) cracklib-dicts-2.5-1         16) tmpwatch-1.2-1
             17) crontabs-1.5-1              *18) db-1.85-10 (-11)
             19) dev-2.5.1-1                  20) diffutils-2.7-5
             21) etcskel-1.3-1                22) file-3.22-5
             23) fileutils-3.16-1             24) findutils-4.1-11
             25) grep-2.0-5                   26) groff-1.10-8
            *27) ld.so-1.7.14-4 (-5)          28) getty_ps-2.0.7h-4
             29) gZip-1.2.4-7                 30) mingetty-0.9.4-3
            *31) initscripts-2.92-1 (93-1)    32) ed-0.2-5
             33) info-3.9-1                   34) ncurses-1.9.9e-4
             35) libg++-2.7.1.4-5            *36) pwdb-0.54-3 (-4)
             37) rootfiles-1.5-1             *38) pam-0.57-2 (-4)
             39) redhat-release-4.2-1         40) less-321-3
             41) mount-2.5l-2                 42) zlib-1.0.4-1
             43) rpm-2.3.11-1                 44) e2fsprogs-1.10-0
             45) sysklogd-1.3-15              46) tar-1.11.8-11
             47) passwd-0.50-7                48) gawk-3.0.2-1
             49) gdbm-1.7.3-8                 50) gpm-1.10-8
             51) hdparm-3.1-2                 52) kbd-0.91-9
             53) slang-0.99.37-2              54) newt-0.8-1
             55) kbdconfig-1.4-1              56) ncompress-4.2.4-7
            *57) sh-utils-1.16-4 (-5)         58) procinfo-0.9-1
            *59) logrotate-2.3-3 (4-1)        60) lilo-0.19-1
             61) losetup-2.5l-2               62) linuxthreads-0.5-1
            *63) mkinitrd-1.6-1 (7-1)         64) mailcap-1.0-3
            *65) man-1.4h-5 (j-1)             66) mt-st-0.4-2
             67) modules-2.0.0-5              68) mailx-5.5.kw-6
             69) net-tools-1.32.alpha-2       70) procmail-3.10-10
             71) procps-1.01-11               72) psmisc-11-4
             73) quota-1.55-4                 74) readline-2.0-10
             75) sed-2.05-6                   76) setconsole-1.0-1
             77) sendmail-8.8.5-4             78) shadow-utils-960530-6
             79) stat-1.5-5                   80) tcsh-6.06-10
             81) termcap-9.12.6-5             82) textutils-1.22-1
             83) time-1.7-1                   84) timeconfig-1.8-1
             85) util-linux-2.5-38            86) vim-4.5-2
             87) vixie-cron-3.0.1-14          88) which-1.0-5
             89) zoneinfo-96i-4               90) tcp_wrappers-7.5-1
            *91) NetKit-B-0.09-6 (-8)        *92) lpr-0.18-1 (19-1)
            *93) bind-4.9.5p1-2 (9.6-1)      *94) bind-utils-4.9.5p1-2 (9.6-1)
            *95) wu-ftpd-2.4.2b12-6 (b15-1)   96) anonftp-2.3-3
             97) Zip-2.1-1                    98) unZip-5.12-5
             99) statserial-1.1-7            100) minicom-1.75-2
            101) lrzsz-0.12.14-1             102) dip-3.3.7o-9
            103) ppp-2.2.0f-3                104) portmap-4.0-3
            105) perl-5.003-8               *106) traceroute-1.0.4.4bsd-2 (1.4a5-1)
           *107) elm-2.4.25-7 (-8)           108) lynx-2.6-2
            109) ncftp-2.3.0-5               110) pine-3.95-2
            111) rdate-0.960923-1            112) apache-1.1.3-3
           *113) nfs-server-2.2beta16-7     *114) nfs-server-clients-2.2beta16-7
                 (2.2beta16-8)                    (2.2beta16-8)
       ______________________________________________________________________

  これらがインストールされていてもまだ32MBも残っています！

  4.2.1.1.  アップデート：誤り

  多くのRedHatユーザーはご存知の通り(であることを願っていますが) ある
  パッケージではセキュリティ上の欠点があったり問題があったりします。その
  修正のため、Red Hatは欠点/問題のあったパッケージのアップデートをリリー
  スします。アップデートしたり上記リストでマークされたパッケージを更新し
  ました。アップデートされたパッケージについてはRed Hatのwebパッケージを
  参照して下さい：

  http://www.redhat.com/support/docs/rhl/rh42-errata-general.html

       ______________________________________________________________________
          NOTE: パッケージをアップデートする前に4.3.1.1で述べたldconfigを実行します。
       ______________________________________________________________________

  4.2.2.  glintを使わず、rpmを使ってどのようにパッケージをインストールす
  るか：

  インストールにおいて、マウントしたディレクトリをルートだと指定するため
  に、 rpmに--rootオプションをつけます。しかしいろいろなパッケージのイン
  ストールに失敗することを発見しました。これはpreinstallあるい
  はpostinstallスクリプトは本当のルートディレクトリ以外に対しては正常に
  動作しないためです。そこで--noscriptsオプションを使います：

   ==> rpm --root /iomega -i --noscripts PACKAGE.i386.rpm

  多くのユーザーが確認しているように、以下のエラーメッセージが出ます：

       ______________________________________________________________________
         failed to open /iomega/var/lib/rpm/packages.rpm
         error: cannot open /iomega/var/lib/rpm/packages.rpm
       ______________________________________________________________________

  そこでvar/lib/rpmディレクトリを作ります :)。

  ==> mkdir /iomega/var; mkdir /iomega/var/lib; mkdir
  /iomega/var/lib/rpm

  4.2.3.  pamconfigあるいはpamどちらが先か？

  pamconfigをインストールしようとすると、pamに依存したエラーが出ます。一
  方 pamをインストールしようとするとpamconfigに依存したエラーが出ます！
  これはまるで「卵が先かにわとりが先か」ということのようですが、--nodeps
  フラグを使って強制的にpamconfigをインストールすることができます。
  pamはpamconfigよりも依存性のエラーが出るようです。

   ==> rpm --root /iomega -i --nodeps --noscripts pamconfig-0.51-2

  4.3.  パッケージのインストール後の問題

  うまく全てインストールされても、残念なことにディスクはこれだけでは十分
  に機能しません。私の言っていることは、もし現状のままフロッピーを使って
  ブートしようとしても、initがスタートアップしようとすると間もなく、２つ
  のラブリーな:) エラー出ます。

  4.3.1.  /etc/ld.so.cacheとlibc.so.5がないケース

  ブートしようとすると２つエラーメッセージが出てきます。１つ目
  は/etc/ld.so.cacheファイルがないためで、２つ目は libc.so.5がないための
  警告です。

  4.3.1.1.  /etc/ld.so.cache

  多くの読者の方から指摘を受けたのですが、以前に書いた手順では(私がそこ
  に書いたようには)ちゃんと動作しません。このファイルを作るためにZipドラ
  イブがマウントされている内にldconfigを実行しなければなりません：

   ==> chroot /iomega /sbin/ldconfig

  この解決を教えてくれたJavier Rodriguez氏に感謝します。

  4.3.1.2.  libc.so.5

  ライブラリがない場合の解決として、インストールスクリプトによって作られ
  たライブラリにシンボリックリンク(symlink)する必要があります。

   ==> cd /iomega/lib; ln -s libc.so.5.3.12 libc.so.5 この解決を教えてく
  れたDarcy Boese氏に感謝します。

  4.3.2.  rootパスワードの設定

  4.3.1.1章で実行したldconfigと同様に、新しいシステム用のrootパスワード
  も変更/生成しておきます。

   ==> chroot /iomega passwd root

  4.3.3.  インストールプログラムが作るもの

       ______________________________________________________________________
              NOTE: これはとても簡単なセットアップ方法です。動作するかどうか
                    はテストしていません。理論的には動作するはずですが、動か
                    なくても私に文句を言わないように。
       ______________________________________________________________________

  Red Had 4.2 CD-ROMを調べている間、興味深いこと(インストールプログラム
  のソースコード)に遭遇しました。このコードは/misc/src/install以下にあり
  ます。興味深いのはnet.cファイルです。ここでどのようなファイルが、イン
  ストールプログラムによって実行されることで、生成されるかがわかりまし
  た。これらのほとんどは(net.cという名前の通り)ネットワークサポートを与
  えていますが、ネットワークカードがなくてもネットワークとし
  てlocalhostを使うことができます(加えてapacheはhostnameを決定できないこ
  とに文句を言うかもしれません)。これらのファイルには：

             /etc/hosts
             /etc/HOSTNAME
             /etc/resolv.conf
             /etc/sysconfig/network
             /etc/sysconfig/network-scripts/ifcfg-eth0
             (あるいはあなたが持っているネットワークデバイス)

  が含まれています。

  4.3.4.  ネットワーク設定

  このドキュメントにおいて私は「3Com 3c595 fast-ethernetカード」 (以前は
  別のマシンで数カ月使っていたもの)を使いたいと思います。

  まず名前が必要です。私は他のマシンで自分専用のネームサーバを走らせてい
  るので(話せば長いのですが)、(IPアドレスだけでなく)名
  前：dash-dot.wig.orgを与えました。IPアドレス無しで名前を与えることは意
  味のないことなので、ローカルアドレスとして定義されているIPアドレス
  192.168.10.0のネットワークに接続することにしました。ネームサーバもこの
  ネットワークに接続されています。ホスト名は普通/etc/HOSTNAMEに書かれて
  いますが、Red Hatでは/etc/sysconfig/networkをチェックします。以下は私
  の/etc/sysconfig/networkのサンプルです：

       ______________________________________________________________________
         NETWORKING=yes
         HOSTNAME=dash-dot
         DOMAINNAME=wig.org
         GATEWAY=
         GATEWAYDEV=eth0
         NS1=192.168.10.7
       ______________________________________________________________________

  次に/etc/HOSTNAME、/etc/resolv.conf、/etc/hosts に関する情報を挙げま
  す：

  /etc/HOSTNAME:

       ______________________________________________________________________
       dash-dot.wig.org
       ______________________________________________________________________

  /etc/resolv.conf:

  ______________________________________________________________________
  search wig.org
  nameserver ns.wig.org
  ______________________________________________________________________

  /etc/hosts:

       ______________________________________________________________________
       127.0.0.1 localhost
       192.168.10.99 dash-dot.wig.org dash-dot
       192.168.10.7  ns.wig.org ns
       ______________________________________________________________________

  Red Hatは/etc/sysconfig/network-scriptsにあるスクリプトから全ネットワ
  ークデバイスを設定します。ネットワークデバイスの設定は普通はじめにイン
  ストールプログラムを使って行われます。そこで手動でこれらの設定ファイル
  を作ります。これらの設定ファイル名は全てifcfg-XXX で始まります。ここ
  でXXXはifconfigで表示されるネットワークインターフェース(ppp0, eth0 な
  ど)です。例えば、ifcfg-eth0というファイルを以下のように作ります：

       ______________________________________________________________________
         DEVICE=eth0
         ONBOOT=yes
         BOOTPROTO=none
         BROADCAST=192.168.10.255
         NETWORK=192.168.10.0
         NETMASK=255.255.255.0
         IPADDR=192.168.10.99
       ______________________________________________________________________

  これらを正しく行うために、/etc/sysconfig/network-scripts ディレクトリ
  で以下を実行します：

   ==> ./ifup ifcfg-eth0 boot

  これはスクリプトをスタートします。このスクリプトは、インターフェースが
  ブート時開始するようセットされた場合に、セットネットワークインターフェ
  ースの設定をするものです。

  詳細については「NET-3-HOWTO」ドキュメントを参照して下さい。

  5.  Slackware 2.2インストール

       ______________________________________________________________________
           NOTE: この部分はアップデートされていません
       ______________________________________________________________________

  5.1.  必要なもの

  o  Zipディスクとドライブ(当然)

  o  Zipサポートのカーネル

  o  「Zip HOWTO」(お奨め)

  o  1.44" HDフォーマットのフロッピー

  o  １〜２時間の所用時間

  5.2.  インストール

  さて、楽しい作業です。システムディスクに必要なファイルとZip ドライブに
  入れておきたいパッケージを決めます。

  ZipドライブにSlackwareを直接インストールするのがもっとも簡単な方法だと
  思います。SlackwareはRed Hatよりも小さなパッケージであり、不必要なもの
  を切り詰めるのが易しいのでこのアプローチにします。これは私
  がSlackware配布パッケージを使っているという理由でもあります。

  ZipドライブにSlackwareをインストールするのは簡単です。rootとして
  setupコマンドを実行し、インストールするパーティションを/iomega に選び
  ます。「パーティションからのインストール(install from partition)」
  をSlackwareソースがある場所(CDROM、ハードディスクなど)にセットして
  「install」を選択します。後はプロンプトに従って作業を進めて下さい。

  5.3.  インストールについて

  難しいのは何を追加して何を追加しないかを決めることです。最低限'A'シリ
  ーズ (約8MB)は必要です(訳注：基本セット)。残りはあなたの好きなものを入
  れて下さい。

  gcc/g++, perl, X11R6(全てではありません！)、sendmail, オンラインドキュ
  メント (development manページは入れずHOWTOのみ全て入れました)、その他
  必要なものをいろいろ入れてSlackwareを70MBのインストールに切り詰めまし
  た。それでもユーザーファイル用に約10MB残っています。もっともこれは人に
  よって状況が違うので必ずしもそうとは限りません。

  6.  /etc/fstabを作る

  (Red Hat、Slackware配布パッケージ共通)

  再起動する前に行う最後のことはfstabファイルを作ることです。以下
  は/iomega/etc/fstabの最小設定のものです：

       ______________________________________________________________________
         /dev/sda1      /         ext2        defaults   1   1
         /dev/sda2      none      swap        sw
         none           /proc     proc        defaults   1   1
       ______________________________________________________________________

  ファイルを保存して新しく作ったブートフロッピーを使って再起動します。
  enjoy!(私にこの重要で決定的な作業を教えてくれたMikeに感謝します -
  John)

  7.  Debian 1.2インストール

       ______________________________________________________________________
           NOTE: この章の作者の方から1997年6月11日にメールで送られたものです。
       ______________________________________________________________________

  7.1.  必要なもの

  o  ppa Zipドライブとディスク

  o  ２枚の空のフロッピーディスク

  o  Debianインストールディスクの完全なセット(これらの作り方を思い出せな
     かったらDebianインストールドキュメントを参照しましょう)

  o  ２時間の所用時間

  7.2.  あらまし

  dpkgと2,3時間格闘してみて、ppa Zipドライブの認識ができるように Debian
  "Rescue" ディスクを修正してしますのが最も簡単である結論に達しました。
  これはとても簡単に行えます。修正したディスクを通常のDebian基本システム
  インストールで使うことができます。いったん基本システムをインストールし
  てしまえば、ブートディスクを使って新しい基本システムをスタート
  し、dselectを使ってインストールを完全なものにできます。この方法を行う
  ために２つのカーネルを構築する必要があります。ひとつはppaと初期RAMディ
  スクをサポートしたもの。もうひとつはRAMディスクサポートをしないカーネ
  ルです。

  やろうと思えば``3章''のステップを全て飛ばして、 Debianインストール
  でZipディスクのフォーマットもすることができます。

  7.3.  レスキューディスクの作成と修正

  DebianレスキューディスクはSYSLINUXスタイルのブートディスクです。
  DOSフォーマットのフロッピーディスクでMS-DOSをロードしないように特別な
  ブートローダを使っています。これらのディスクではカスタム化したブート設
  定に容易に修正することができます。Debian 'boot-floppies' パッケージに
  はブートディスクの作成プロセスを自動化するスクリプトセットが含まれてい
  ます。しかしこのスクリプトはシンプルなもので、手で処理を行う方がよいと
  いうことに気づきました。 これはDebianの哲学から少し逸れるものですが、
  私は手で行いました :)。以下は主にレスキューフロッピーのreadme.txtファ
  イルに書かれていることです。

  7.3.1.  新しいレスキューディスクを作るためにdd(あるいはDOSでRAWRITE)を
  使う

  レスキューディスクの作り方を忘れたらDebian installドキュメントを参照し
  て下さい。

  訳注：UNIXでイメージファイルをフロッピーディスクに書き込むには：

       dd if=rsc1440.bin of=/dev/fd0 bs=512 conv=sync;sync

  とします。

  7.3.2.  Zip ppa サポートの新しいカーネルを構築する

  Zip ppaサポート``カーネルの設定と作成''した新しいカーネルを構築します
  が、RAMディスクの設定もして初期RAMディスクサポートをするようにします。
  またmsdos, fat, minix, ext2fs, procfsファイルシステムの設定をする必要
  もあります。

  またZipディスク上に、最後にインストールしたいモジュールも設定しておき
  ます。

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

   ==> make dep; make clean

   ==> make bzImage

  モジュールを作ります：

   ==> make modules

  あとでこれらをインストールします(今はモジュールインストールをしませ
  ん)。

       ______________________________________________________________________
                 NOTE: 'make zImage'ではなく'make bzImage'を使っている
                       ことに注意して下さい。
       ______________________________________________________________________

  7.3.3.  新しいレスキューディスクのマウント

   ==> fdmount fd0

  あるいは

   ==> mount /dev/fd0 /mnt

   ==>などなど :)

  7.3.4.  カーネルイメージのコピー

  (i386プラットフォーム用のarch/i386/boot/bzImageにある)カーネルイメージ
  をフロッピーディスク上のlinuxにコピーします。

   ==> cp arch/i386/boot/bzImage /mnt

  7.3.5.  rdev.shスクリプトの編集

  適当なエディタでレスキューフロッピー上にあるrdev.shスクリプトを開きま
  す。最後の行

              'rdev /mnt/linux /dev/ram0'

  を

              'rdev /mnt/linux /dev/sda1'

  に変更します： /mnt/linuxの最後の箇所は適当なパスに変更して下さい。フ
  ロッピーは/fd0にマウントしているので、/mnt/linux を/fd0/linuxに変更し
  ます。

  7.3.6.  修正したrdev.shスクリプトを実行

   ==> ./rdev.sh

  と実行して下さい。

  7.4.  Zipドライブに基本システムをインストールする

  修正したレスキューディスクをブートさせます。全てうまくいったら見慣れ
  たDebianメニューベースのインストールプロセスが表示されます。いつもと違
  うのはppa Zipドライブが対象となっていることです。ハードディスク上にシ
  ステムをインストールしているように処理を進めていきますが、/dev/sda1を
  ルートとしてマウントして/dev/sda2をスワップとして初期化しておいて下さ
  い。

  標準的なインストールプロセスからすこし外れたものがあります -- ロードモ
  ジュールをインストールしない/設定しないということです。ここで ``レス
  キューディスクの作成と修正''の後半で作ったモジュールをインストールしま
  す。

  7.5.  ブートディスクの作成

  ``カーネルの設定と作成''と ``フロッピーにカーネルを納める''で書いたよ
  うにしてブートディスクを作ることができます。またもし必要ならDebianイン
  ストール中に"Create Boot Disk"オプションを使うこともできます。他
  のSYSLINUXブートディスクがあるので、２つ目のオプションが気に入っていま
  す。私がカスタムしたブートフロッピーの振る舞いを記述する初期メッセー
  ジ(greeting message)を編集することができ、カーネル引数を追加できるから
  です。ファンクションキーを使ったヘルプファイルを入れることさえできま
  す。カーネルを再構築したりブートディスクを後からRAMディスクサポートに
  したい方がいるかもしれません。その時は連絡して下さい。

  7.6.  システムの再起動

  ブートディスクを挿入してインストールメニューの「Reboot」オプションを選
  びます。

  7.7.  基本システムの設定、インストールプロセスの完成

  システムが再起動されると、遅いけれど完全に動作する(ppa Zipドライブを外
  した) Debian基本インストールができています。ここで通常のインストールを
  行いUNIX ユーティリティ(ドキュメントセット、make、gcc、ライブラリ、そ
  の他さまざまなファイル操作ユーティリティ)を全てインストールしました。
  後は緊急時にシステムを復旧するための緊急ブートディスクです。

       ______________________________________________________________________
               NOTE: 次のステップを行うために少なくともmakeはインストール
                     しておいて下さい。
       ______________________________________________________________________

  7.8.  step 7.3.2で作ったモジュールのインストール

  ``Zip ppa サポートの新しいカーネルを構築する'' で作ったモジュールのイ
  ンストールをします。makeはインストールされているはずなので、ここでハー
  ドディスクパーティションをマウントできるようにカーネルを構築しておきま
  す。適当なディレクトリに移動してmake modules_installと実行します。以下
  はこの作業例です：

   ==> mount /dev/hda2 /mnt

   ==> cd /mnt/usr/src/linux

   ==> make modules_install

       ______________________________________________________________________
               NOTE: ステップ6で説明したように/etc/fstabファイルを修正
                     する必要はありません。Debianインストールプロセスは
                     すでにそれらが考慮されています。
       ______________________________________________________________________

  「``ステップ6''」："/etc/fstabを作る"。

  8.  補足

  ふー。31枚のZipディスクがたまり、Zip unleashedバッテリーパックを外した
  ら次に試してみることはラップトップでPCMCIAを動作させることです。

  [日本語訳：伊佐冶  哲, isaji@mxu.meshnet.or.jp

  校正    ：中野  まさよしさん, sx3m-nkn@asahi-net.or.jp

  またJFの方々にもお世話になりました。ここに感謝いたします。]

