Variousible ホーム Programming Room トップ

ブート CD の作成

2004/ 8/ 8

Linux では、非常時などの起動用にカーネルを含めたブートディスクを作成します。 Vine Linux や Red Hat のインストーラなどでも、 最後にブートディスクを作成します。ここでは、 フロッピーが使えない環境のために同等の CD を作成する方法を紹介します。

準備

CD を作成するには、ISO イメージを作成する必要があります。 Linux では、`mkisofs' コマンドにより ISO イメージを作成できます。 このコマンドは CD ライター cdrecord に含まれます。 作成マシンには R/RW はありませんが、これをインストールします。RPM パッケージは Vine の場合、用意されているので、 FTP サイトなどからとってきます。

% rpm -ivh cdrecord-1.10-0vl3.i386.rpm

仮想フロッピー ?!

ブートディスクを作るコマンドは mkbootdisk。 このコマンドに引数を指定してできるかと思いましたが、これではできませんでした。 mkbootdisk スクリプトを見ると、デバイスが対象でないと使えません。

ファイルをデバイスと見立てるのであれば、ループバックデバイスの出番。 CD-R を焼く前にイメージを確認したりするときに使えるのがループバックデバイス。 ループバックデバイスを使ってみせかけフロッピーとするわけです。

% dd if=/dev/zero of=bootdisk bs=1k count=1440

上記 dd コマンドにより、フロッピーディスクサイズのファイルを作成します。

ブートディスク作成

mkbootdisk スクリプトでは、デバイスとして /dev/fd0 を使用するように なっています。これを元にして作成した mkbootcd をおいておきます。参考にしてください (mkbootdisk は GPL です)。 (ここで必要な箇所のみ変更していますので、注意してください)。 # @change のコメントの入っているところが変更部分です。 デバイス (dd で作成したファイル名) は、それぞれの環境にあわせる必要があります。

% ./mkbootcd --verbose 2.4.20-0vl29.1

--verbose オプションは無くてもかまいません。 動作を確認するためのものです。今回はアップデート後のカーネルを用いますので、 そのカーネルをコマンド引数に指定します。

CD イメージの作成

ISO イメージを作成すれば後は CD-R に書き込むだけです。 このとき、新しくディレクトリを作成して、そこにさきほどの bootdisk を移動してください。ここでは以下のように cdroot ディレクトリを作成しています。

% mkdir cdroot % cp bootdisk cdroot/ % mkisofs -r -J -b bootdisk -c boot.catalog -o bootcd.img cdroot/

後はこのイメージをライティングソフトウェアを使って CD-R に焼くだけです。cdrecord を使用するかもしくは CD-R のない Linux 環境であれば、 Windows マシンで ISO イメージの書き込めるソフトを使用してください。 例えば Nero の場合、「ファイル」メニューの「イメージを CD-R へ書き込む...」 を利用して、作成したイメージを選ぶと作成できます。

Variousible ホーム Programming Room トップ
※Java およびすべての Java に関する標章は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標または登録商標です。
※その他の登場する製品名は、各社の商標または登録商標です。
本サイトについて
Copyright © 2004 KURIHARA, Yusuke