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)のインストール方法を記述
した、4つの章に分けられています。はじめの章では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での作業については5月終りになると思います。またできれば他の配
布パッケージでもテストしたいと思っています。
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. フロッピーにカーネルを納める
異なるカーネルとパラメータが必要なので4枚のフロッピーを用意します (加
えてこの作業の方法についてメールをいただきました)。ブート可能なフロッ
ピーを作る方法のひとつとしてLILOの章を設けました。
3.3.2.1. LILOインストール
いくつかのカーネルを1枚のフロッピーに納めたい、シングルユーザーモード
といった引数を渡せるようにしたいまたはその必要があるという人達のため
に、フロッピーに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
______________________________________________________________________
2つのカーネルがあります。ひとつ(vmlinuzLAP)は486ラップトップ用のもの
で数値演算コプロセッサをサポートしています。もうひとつ(vmlinuzDESK)は
デスクトップ用のものです。label=rescueはハードディスクからの緊急ブート
用です。
フロッピーはマウントしたままにして、以下のコマンドでフロッピー上
にLILOをインストールします。
==> /sbin/lilo -C /mnt/floppy/lilo.conf
LILOをフロッピーにインストールしたら、以下2つのステップ「カーネルのみ
のインストール」「フロッピーにルートとスワップを設定する」は飛ばして下
さい。ここまでの作業が楽しいからもう一度やりたいと言うなら話しは別です
けど :)。
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
全ての操作においてにルートされたシステムを使います。こ
れはデータベースは全て以下で読み込まれたり修正された
り、に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がスタートアップしようとすると間もなく、2つ
のラブリーな:) エラー出ます。
4.3.1. /etc/ld.so.cacheとlibc.so.5がないケース
ブートしようとすると2つエラーメッセージが出てきます。1つ目
は/etc/ld.so.cacheファイルがないためで、2つ目は 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 1〜2時間の所用時間
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 2枚の空のフロッピーディスク
o Debianインストールディスクの完全なセット(これらの作り方を思い出せな
かったらDebianインストールドキュメントを参照しましょう)
o 2時間の所用時間
7.2. あらまし
dpkgと2,3時間格闘してみて、ppa Zipドライブの認識ができるように Debian
"Rescue" ディスクを修正してしますのが最も簡単である結論に達しました。
これはとても簡単に行えます。修正したディスクを通常のDebian基本システム
インストールで使うことができます。いったん基本システムをインストールし
てしまえば、ブートディスクを使って新しい基本システムをスタート
し、dselectを使ってインストールを完全なものにできます。この方法を行う
ために2つのカーネルを構築する必要があります。ひとつは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ブートディスクがあるので、2つ目のオプションが気に入っていま
す。私がカスタムしたブートフロッピーの振る舞いを記述する初期メッセー
ジ(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の方々にもお世話になりました。ここに感謝いたします。]