私の root ディスクおよび utility ディスクのディレクトリ一覧です。 このリストはシステムを作る際、あくまで例として利用して下さい。有益と思 えるコメントをいくつか書き込んであります。
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/fd16.7 Q. ブートのたびに "ahaxxxx=nn,nn,nn" と打ち込むのは面倒です。
例えば SCSI デバイスが自動的に検知されないような場合には、カーネルに以 下のようなパラメータ文字列を与えてやる必要があります。
LILO を用いてこのパラメータ文字列をカーネルに渡すにはいくつかの方法が あります。aha152x=0x340,11,3,1
コマンドラインからパラメータ文字列を打ち込む場合は以下のようになるでしょ う。
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 宣言を使うと、パーティションに障害を与えること もあり得ます。
1.3.48 以降のカーネルでは ブートディスク作成上級編 で述べた方法で圧縮ファイルシステムをつくるのが良いでしょう。あなたのカー ネルがこれ以前のバージョンの場合は、カーネルをアップグレードするか、こ の HOWTO 文書の 2.0 版以前のものを参照して下さい。
あるユーティリティが他のプログラムを起動する場合、そのプログラムの名前 がユーティリティの内部にハードコーディングされていることがあります。こ のような場合 は実際にプログラムがあってもユーティリティには見えないということが起こ ります。 string コマンドを用いた出力をパイプで grep につなげば、問題を 起こすユーティリティがどんな名前で他のプログラムを使っているか知ること ができます。
例としては以下のようなものが知られています。
/etc/reboot を直接プログ
ラム中に書いています。従って reboot は /etc に置く必要があります。
これらの問題を解決するにはプログラムを正しいディレクトリに移動するか、 もしくは inittab のような設定ファイルの方を変更する必要があります。も し疑わしい場合には現在ハードディスクで使っているのと同じディレクトリ構 成、 inittab、 /etc/rc.d を使ってみることです。
このようなことが起こる場合は
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 ディスクを使用した場合の結果は予測できません。カーネルパニッ クが起こることもあり得ます。