[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-devel:00541] Debian 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