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

8. 例

8.1 ディスクのディレクトリ一覧

私の root ディスクおよび utility ディスクのディレクトリ一覧です。 このリストはシステムを作る際、あくまで例として利用して下さい。有益と思 えるコメントをいくつか書き込んであります。

root ディスクのディレクトリ一覧

total 18
drwxr-xr-x   2 root     root         1024 Jul 29 r$$$k%I%i%$%V$N%G%P%$
ス名で、 filename はコピーするファイルの名前です。

例えば /dev/fd0 から /tmp/diskette.copy という一時ファイルへコピーする 場合は次のようになるでしょう。

        dd if=/dev/fd0 of=/tmp/diskette.copy

このように "count" パラメータを省略すると、ディスク全体の 2880 ブロック(高密度フロッピーの場合)がコピーされます。

一時ファイルを新しいフロッピーに書き戻すには、新しいフロッピーを入れて 次のコマンドを実行します。

        dd if=filename of=devicename

ここまで述べてきた内容はフロッピードライブがひとつしかない場合です。も し同じドライブが 2 つある場合には、次のようなコマンドを使えば直接フロッ ピー間でコピーができます。

        dd if=/dev/fd0 of=/dev/fd1

6.7 Q. ブートのたびに "ahaxxxx=nn,nn,nn" と打ち込むのは面倒です。

例えば SCSI デバイスが自動的に検知されないような場合には、カーネルに以 下のようなパラメータ文字列を与えてやる必要があります。

        aha152x=0x340,11,3,1
LILO を用いてこのパラメータ文字列をカーネルに渡すにはいくつかの方法が あります。

コマンドラインからパラメータ文字列を打ち込む場合は以下のようになるでしょ う。

        zImage  aha152x=0x340,11,3,1 root=/dev/sda1 lock
これはデバイスのパラメータ文字列を渡し、カーネルにルートデバイスを /dev/sda1 にするよう指示し、さらにこのコマンドライン全体を保存して次か らのブートで再び用いるようにしています。

APPEND 宣言は以下のようになります。

        APPEND = "aha152x=0x340,11,3,1"

コマンドラインではパラメータ文字列は引用符で囲ってはいけません。逆に APPEND 宣言では引用符で囲わなければ行けません。間違えないように!

パラメータ文字列を機能させるにはカーネルにドライバが含まれていなければ なりません。含まれていなければそもそもパラメータを受け取るものがないの ですから、必要なドライバを含んだカーネルを再構築する必要があります。カー ネル再構築の詳細については /usr/src/linux ディレクトリの README や、 Linux FAQ、 Installation HOWTO などをお読み下さい。または必要なドライ バを含んだ汎用のカーネルを手に入れ、それを使って下さい。

LILO をインストールする前に LILO の添付文書を読んでおくことを強くお薦 めします。不用意に BOOT 宣言を使うと、パーティションに障害を与えること もあり得ます。

6.8 Q. RAM ディスクにフロッピーよりも大きいファイルシステムを作るには?

1.3.48 以降のカーネルでは ブートディスク作成上級編 で述べた方法で圧縮ファイルシステムをつくるのが良いでしょう。あなたのカー ネルがこれ以前のバージョンの場合は、カーネルをアップグレードするか、こ の HOWTO 文書の 2.0 版以前のものを参照して下さい。

6.9 Q. ブート時に A: cannot execute B といったエラーが出ます。

あるユーティリティが他のプログラムを起動する場合、そのプログラムの名前 がユーティリティの内部にハードコーディングされていることがあります。こ のような場合 は実際にプログラムがあってもユーティリティには見えないということが起こ ります。 string コマンドを用いた出力をパイプで grep につなげば、問題を 起こすユーティリティがどんな名前で他のプログラムを使っているか知ること ができます。

例としては以下のようなものが知られています。

これらの問題を解決するにはプログラムを正しいディレクトリに移動するか、 もしくは inittab のような設定ファイルの方を変更する必要があります。も し疑わしい場合には現在ハードディスクで使っているのと同じディレクトリ構 成、 inittab、 /etc/rc.d を使ってみることです。

6.10 Q. 私のカーネルは RAM ディスク機能をサポートしているのに RAM ディスクのサイズが 0 になってしまいます。

このようなことが起こる場合は

Ramdisk driver initialized : 16 ramdisks of 0K size
のようなカーネルメッセージがブート時に現われます。

通常 RAM ディスクが作成される場合、そのサイズはデフォルトの 4096K か、 またはカーネルパラメータの ramdisk_size や ramdisk で指定された値にな ります。

サイズが 0K の場合には、おそらくブート時にこのサイズがカーネルパラメー タで 0 に設定されているのでしょう。 LILO の設定ファイルに以下のような 行がありませんか?

ramdisk 0

古い配布パッケージでは LILO の設定ファイルのサンプルにこの行が入ってい ることがあります。この行はカーネルでの設定より優先されてされてしまいま す。

1.3.48 以降のカーネルではこの問題は関係ありません。なぜならカーネルパ ラメータ ramdisk_size は RAM ディスク容量の最大値を指定するものであり、 ブート時に割り当てられるサイズを指定するものではないからです。ブート時 には RAM ディスクへはメモリの割り当てはされません。

というわけで、この質問への回答は LILO の ramdisk パラメータを削除する こと、です。

サイズ 0 の RAM ディスクを使用した場合の結果は予測できません。カーネルパニッ クが起こることもあり得ます。


前のページ 次のページ 目次 usr/doc/LANG/ja/HOWTO/Bootdisk-HOWTO-7.html100644 0 0 16726 6436523567 16310 0ustar rootroot The Linux Bootdisk HOWTO: 参考情報 前のページ 次のページ 目次

7. 参考情報

このセクションでは特定のバージョンを指定したくない場合パッケージの名前 のバージョンの部分に vvv を使います。特に理由がなければ常に最新のバー ジョンを取ってくるようにして下さい。

7.1 配布パッケージのブートディスク

以下に配布パッケージのブートディスクの一次サイトを示します。

これらのマシンの負荷を減らすため、ミラーサイトを使うようにして下さ い。

7.2 LILO - Linux ローダ

Werner Almesberger が作者です。優れたブートローダです。ドキュメントに はブートセクタの内容や、ブートプロセスの初期段階に関する情報が含まれて います。

ftp サイト tsx-11.mit.edu/pub/linux/packages/lilo/lilo.vvv.tar.gz という名前で置いてあります。 sunsite およびそのミラーサイトにもあります。

7.3 Linux FAQ と HOWTO 文書

色々なところに置いてあります。 usenet のニュースグループ news.answerscomp.os.linux.answers を見て下さい。

sunsite.unc.edu/pub/Linux/doc からも ftp できます。

WWW なら Linux documentation home page http://sunsite.unc.edu/mdw/linux.html 以下のページを見て下さい。

どれもだめなら、 mail-server@rtfm.mit.edu 宛に、本文に "help" と書いたメー ルを送り、返送されてくる説明に従って下さい。

注意: boot ディスクを作る前に Linux Installation HOWTO や Linux Install Guide などの FAQ、 関連文書を読んで下さい。これらを読んでいな い場合は boot ディスクを作るべきではありません。

訳注: 日本語版 JF の文書は ftp://jf.linux.or.jp/pub/JF/ にあります。 WWW ページは http://jf.linux.or.jp/JF/JF.html です。

7.4 RAM ディスクの使い方

新しくなった RAM ディスクの動作に関する優れた文書が Linux カーネルに付 属して来ます。 /usr/src/linux/Documentation/ramdisk.txt を見 て下さい。これは Paul Gortmaker が書いたもので、圧縮ファイルシステムの 作り方が書いてあります。この HOWTO の ブートディスク作成上級編 と同種のものです。

7.5 レスキューパッケージ

Bootkit

作者は Scott Burkett です。 Bootkit を使うと、メニュー形式でレスキュー ディスクを作成したり、ディスクの内容を管理することができます。メニュー は Dialog パッケージを用いた見栄えの良いものです。また作成されるディス クのディレクトリツリーはシンプルで理解しやすいものになっています。パッ ケージには必要なファイルのサンプルも含まれています。このパッケージの目 的はディスクの概略を決定することであり、どんなファイルをディスクに入れ、 どんな設定をするのかはユーザが決めなければなりません。このことを気にし ない人ならばこのパッケージを気に入るでしょう。

sunsite.unc.edu/pub/Linux/system/Recovery/Bootkit-vvv.tar.gz から ftp して下さい。

CatRescue

作者は Oleg Kibirev です。このパッケージでは、圧縮を使ったり実行ファイ ルをシェルスクリプトにしたりして、とにかくディスクスペースを広げること に重点が置かれています。ドキュメントには様々な障害状況に対する対策が記 されています。

gd.cs.csufresno.edu/pub/sun4bin/src/CatRescue100.tgz から ftp して下さい。

Rescue Shell Scripts

Thomas Heiling が作者です。このパッケージには boot と boot/root フロッ ピーを作成するシェルスクリプトが含まれています。これらは LILO などの外 部プログラムのある特定のバージョンに依存しているため、現在使っているシ ステムを置き換えるのに少々苦労するかもしれません。しかし、この文書に含 まれているシェルスクリプトよりも一般的なものが必要でしたら、出発点とし ては役に立つでしょう。

sunsite.unc.edu/pub/Linux/system/Recovery/rescue.tgz から ftp して下さい。

SAR - Search and Rescue

作者は Karel Kubat です。 SAR はレスキューディスクを作成するプログラム で、必要とされるディスクスペースを小さくするために色々なテクニックを使っ ています。マニュアルには Linux のブートプロセス、ログインプロセスに関 しても記述されています。

ftp.icce.rug.nl:/pub/unix/SAR-vvv.tar.gz から ftp できます。

マニュアルは WWW でも見ることができます。 http://www.icce.rug.nl/karel/programs/SAR.html をどうぞ。

YARD

作者は Tom Fawcett です。 yard では 1.3.48 以降のカーネルの圧縮ラムディ スク機能を用いており、カスタマイズされたレスキューディスクを作ることが できます。 ブートディスク作成上級編 で述べていることの大部分を自動的に行えるように設計されています。さらに yard は選択されたファイル(ローダやライブラリ、 /etc/fsatab、 rc、 passwd など)をチェックして、レスキューディスクをブートさせるために必 要なものがすべて揃っているか確認してくれます。 yard を実行するには Perl5 と LILO が必要です。またカーネルが 1.3.48 以降のものである必要 があります。

Yard のホームページは http://www.cs.umass.edu/~fawcett/yard.html にあります。ここには最新版と、最近のバグに願する情報があります。 Yard は http://sunsite.unc.edu/pub/Linux/system/recovery/ からもダウンロードできます。


前のページ 次のページ 目次 usr/doc/LANG/ja/HOWTO/Bootdisk-HOWTO-8.html100644 0 0 50732 6436523567 16304 0ustar rootroot The Linux Bootdisk HOWTO: 例 前のページ 次のページ 目次

8. 例

8.1 ディスクのディレクトリ一覧

私の root ディスクおよび utility ディスクのディレクトリ一覧です。 このリストはシステムを作る際、あくまで例として利用して下さい。有益と思 えるコメントをいくつか書き込んであります。

root ディスクのディレクトリ一覧

total 18
drwxr-xr-x   2 root     root         1024 Jul 29 r$$$k%I%i%$%V$N%G%P%$
ス名で、 filename はコピーするファイルの名前です。

例えば /dev/fd0 から /tmp/diskette.copy という一時ファイルへコピーする 場合は次のようになるでしょう。

        dd if=/dev/fd0 of=/tmp/diskette.copy

このように "count" パラメータを省略すると、ディスク全体の 2880 ブロック(高密度フロッピーの場合)がコピーされます。

一時ファイルを新しいフロッピーに書き戻すには、新しいフロッピーを入れて 次のコマンドを実行します。

        dd if=filename of=devicename

ここまで述べてきた内容はフロッピードライブがひとつしかない場合です。も し同じドライブが 2 つある場合には、次のようなコマンドを使えば直接フロッ ピー間でコピーができます。

        dd if=/dev/fd0 of=/dev/fd1

6.7 Q. ブートのたびに "ahaxxxx=nn,nn,nn" と打ち込むのは面倒です。

例えば SCSI デバイスが自動的に検知されないような場合には、カーネルに以 下のようなパラメータ文字列を与えてやる必要があります。

        aha152x=0x340,11,3,1
LILO を用いてこのパラメータ文字列をカーネルに渡すにはいくつかの方法が あります。

コマンドラインからパラメータ文字列を打ち込む場合は以下のようになるでしょ う。

        zImage  aha152x=0x340,11,3,1 root=/dev/sda1 lock
これはデバイスのパラメータ文字列を渡し、カーネルにルートデバイスを /dev/sda1 にするよう指示し、さらにこのコマンドライン全体を保存して次か らのブートで再び用いるようにしています。

APPEND 宣言は以下のようになります。

        APPEND = "aha152x=0x340,11,3,1"

コマンドラインではパラメータ文字列は引用符で囲ってはいけません。逆に APPEND 宣言では引用符で囲わなければ行けません。間違えないように!

パラメータ文字列を機能させるにはカーネルにドライバが含まれていなければ なりません。含まれていなければそもそもパラメータを受け取るものがないの ですから、必要なドライバを含んだカーネルを再構築する必要があります。カー ネル再構築の詳細については /usr/src/linux ディレクトリの README や、 Linux FAQ、 Installation HOWTO などをお読み下さい。または必要なドライ バを含んだ汎用のカーネルを手に入れ、それを使って下さい。

LILO をインストールする前に LILO の添付文書を読んでおくことを強くお薦 めします。不用意に BOOT 宣言を使うと、パーティションに障害を与えること もあり得ます。

6.8 Q. RAM ディスクにフロッピーよりも大きいファイルシステムを作るには?

1.3.48 以降のカーネルでは ブートディスク作成上級編 で述べた方法で圧縮ファイルシステムをつくるのが良いでしょう。あなたのカー ネルがこれ以前のバージョンの場合は、カーネルをアップグレードするか、こ の HOWTO 文書の 2.0 版以前のものを参照して下さい。

6.9 Q. ブート時に A: cannot execute B といったエラーが出ます。

あるユーティリテ