[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-devel:00367] FAQ Ch.10
笹井@サーフライン西湘 です。Debian FAQ の10章の翻訳です。
---
10. Debian とカーネル
10.1. Debian はカスタムカーネルを構築するためにどんなツールを提供して
いるのですか?
カスタムカーネルを構築したい(しなければならない)ユーザは
kernel-package_VVV_all.deb パッケージ(これは Debian FTP アーカイブの
misc セクションにあります)をダウンロードすることを勧めます。このパッケー
ジはカーネルパッケージを構築するためのスクリプトを含んでおり、カーネル
ソースディレクトリの最上位でコマンド make-kpkg kernel_image を走らせる
だけで、Debianの kernel-image パッケージを作成する能力を提供します。ヘ
ルプはコマンド make-kpkg --help を実行したり、make-kpkg(8) のマニュア
ルページを通して入手できます。ユーザは別々にお気に入りの Linux アーカ
イブから最新カーネル(あるいは、選んだカーネル)のソースコードをダウンロー
ドしなければなりません。カスタムカーネルを構築するには、ユーザは gcc,
libc5-dev, bin86, binutils, gawk, make, gzip, grep といったパッケージ
をインストールしている必要があります。
コマンド dpkg --install kernel-package_VVV_all.deb を実行するとディレ
クトリ /usr/src/linux-VVV/ が作られ、カーネルソースを含むディレクトリ
/usr/src/linux-VVV/ を指すリンク/usr/src/linuxが作られます。このパッケー
ジを利用する際の詳しい手順はファイル /usr/doc/kernel-package/README に
あります。簡単に述べると次のようになります。
o カーネルソースを展開し、新しく作成されたディレクトリに移動して下さい。
o 以下のコマンドのどれかを使ってカーネル設定を修正して下さい。
-- make config (一度に一行の tty)
-- make menuconfig (ncurses ベースのメニュー駆動インタフェース)
このオプションを使うには ncurses3.0-dev パッケージがインストール
されている必要があることに注意して下さい。
-- make xconfig (X11 インタフェース)このオプションを使うには適切なX
パッケージ群がインストールされている必要があります。
以上のどれを使っても、カーネルソースディレクトリの最上位に新しい .
config を生成します。
o 次のコマンドを実行して下さい。make-kpkg -r Custom.N kernel_image
ここで N はユーザが割り当てる改訂番号です。こうして作られた新しい
Debian アーカイブはリビジョン Custom.1 になります。つまり、Linux
kernel 2.0.27 のための kernel-image-2.0.27-Custom.1.deb になります。
o 作ったパッケージをインストールして下さい。
-- カーネル自身をインストールするために
dpkg --install /usr/src/kernel-image_VVV-Custom.N.deb
を走らせて下さい。インストールスクリプトは次のことをするでしょう。
* (もし LILO がインストールされていれば)ブートローダ LILO を走
らせる。
* /boot/vmlinuz_VVV-Custom.N にカスタムカーネルをインストール
して、最も新しいバージョンのカーネルに適切なシンボリックリン
クを作る。
* ユーザにブートフロッピーを作るかどうか尋ねる。このブートフロッ
ピーは raw カーネルだけを含みます。カスタムブートフロッピー
(10.2) を作るための追加的な注意を見て下さい。
-- 2次的なブートローダ(例えば、loadlin)を使うためには、このイメージ
を別の場所(例えば、MS-DOS のパーティション)にコピーして下さい。
10.2. カスタムブートフロッピーはどうすれば作ることができるのですか?
この作業は通常 Debian FTP アーカイブの binary/devel セクションで見つか
る Debian パッケージ boot-floppies_VVV-RRR.deb が大いに手助けしてくれ
ます。このパッケージの中のシェルスクリプトは SYSLINUX 形式でブートフロッ
ピーを作成します。これはマスターブートレコードが変更された MS-DOS 形式
のフロッピーで、直接 Linux (あるいは、フロッピー中のファイル
syslinux.cfg で定義されている別の OS)をブートします。このパッケージに
含まれる他のシェルスクリプトは非常用ルートディスクを作成したり、ベース
ディスクを作成したりできます。
boot-floppies パッケージがインストールされると、
/usr/src/boot-floppies/ にファイルを作成します。これには bootdisk.sh,
rootdisk.sh, basedisk.sh と呼ばれる3つのスクリプトが含まれます。これら
のスクリプトを使う際には、それらを読んで、適切にカスタマイズすることを
薦めます。特に、bootdisk.sh スクリプトを実行する時には、あなた自身が選
んだカーネルを含まなければなりません。このカーネルは CONFIG_RAMDISK=y,
CONFIG_INITRD=y でコンパイルしていなければ、ルートディスクを RAMDISK
にロードするのに使えないことに気を付けて下さい。
kernel-image-2.0.27 パッケージを A: ドライブの 1.44MByte のディスクに
書き込むには次のコマンドを走らせて下さい。
./bootdisk.sh /usr/src/kernel-image-2.0.27_1.00.deb /dev/fd0 1440
カスタムルートディスクを ./rootdisk.sh を使って構築する時にはあなたの
お気に入りのエディターとその他のツールが含まれていることを確認して下さ
い。
ブートディスクとルートディスクは良い非常用フロッピーになるとわかった
人もいます。
10.3. Debian はモジュールを扱うための何か特別な規定があるのですか?
Debian の modconf パッケージはモジュールの設定をカスタマイズするのに使
われるシェルスクリプト (/usr/sbin/modconf) を提供しています。このスク
リプトはメニューベースのインタフェースを表示し、システムのローダブルデ
バイスドライバの詳細をユーザに問い合わせます。ここでの応答はファイル
/etc/conf.modules (エイリアスや様々なモジュール間の結合に必要なその他
の引数を記入) と /etc/modules (ブート時にロードしなければならないモジュー
ルを記入) をカスタマイズするのに使われます。
現在、カスタムカーネルの構築をサポートするのに利用できる(新しい)
Configure.help ファイルなどと同様に、modconf パッケージには個々のモジュー
ルに関する適切な引数の詳しい情報を提供する一連のヘルプファイル
(/usr/lib/modules_help/ の中にあります) が付属しています。
10.4. 古いカーネルを安全に消去することはできますか? もしあるならどう
すればいいのですか?
はい。kernel-image-NNN.prerm スクリプトはあなたが現在走らせているカー
ネルがあなたが消去しようとしているカーネルと同じかどうか調べてくれます。
だからあなたは次のコマンドを使って不要なカーネルイメージパッケージを
消去することができます。
dpkg --purge --force-remove-essential kernel-image-NNN
--- 以上
---
笹井 崇司 (Takashi Sasai)
Email: sasai@xxxxxxxxxxxxxxxxxx
sasai@xxxxxxxxxxxxxxxxxxxxxxx