[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:29107] Re: カーネルのコンパイル後に再起動が必要?



> > >  お世話になっています。アスカルです。カーネルのコンパイル後に再起動が必
> > 要で
> > > しょうか?
> > コンパイルしただけなら再起動は不要です。
> make xconfigで設定を行い、make bzImageを実行しました。これがコンパイル段階で
> すよね?
>
> > コンパイルしたカーネルをインストールしたら
> > 再起動が必要です。
> bzImageをvmlinuzにコピーして、liloを実行しました。新しい設定を有効にさせるた
> めに再起動しましたが、インストールって同じ意味ですか?
残念ながら私は「Debian流の」コンパイル方法しか
知りません。したがって、これはあなたの質問に
対する直接の回答ではありません。

「Debian流の」やり方ではカーネルも単なる
debパッケージとして扱います。したがって、
カーネルのコンパイルとはカーネルを含む
debパッケージを作ることを意味します。

# apt-get install kernel-source-2.2.19
$ cd ~/
$ cp /usr/src/kernel-source-2.2.19.tar.bz2 ./
$ tar xIvf kernel-source-2.2.19.tar.bz2
$ cd kernel-source-2.2.19
$ make xconfig
$ make-kpkg clean
$ fakeroot make-kpkg --revision 20010708 kernel_image
ここまでが「コンパイル」です。これだけなら
再起動は不要です。

# dpkg -i ../kernel-image-2.2.19_20010708_i386.deb
これが「インストール」です。このときは
(lilo実行後に)再起動が必要です。
# lilo
# reboot

以下解説。
必要なパッケージ
kernel-source-2.2.19
  カーネルのソースコードです。ほかのバージョンも
  似たような名前で提供されています。
bin86
  i386ではこれが必要です。
kernel-package
  make-kpkgコマンドを含みます。
fakeroot
  一般に、「本物の」root権限なしでdebパッケージを
  作るにはこれが必要です。

# apt-get install kernel-source-2.2.19
いくつか注意するべき点があります。
* apt-get sourceではありません。
* 大きさが15Mもあります。(2.2.19の場合)
* 2.2.19を使うときは、potato-proposed-updatesにある
  最新版を使いましょう。

$ cd ~/
$ cp /usr/src/kernel-source-2.2.19.tar.bz2 ./
$ tar xIvf kernel-source-2.2.19.tar.bz2
コンパイル自体にはrootの権限は不要です。
自分のホームディレクトリ以下で作業しましょう。

$ cd kernel-source-2.2.19
$ make xconfig
カーネルの設定です。これは「Debian流」で
ないときと同様です。

$ make-kpkg clean
おまじないと思って実行してください。

$ fakeroot make-kpkg --revision 20010708 kernel_image
これだけでコンパイルが終了します。
--revisionに対する引数にはすきな文字列を
使ってください。日付を使うといいでしょう。
fakerootを忘れるとエラーが出ます。

# dpkg -i ../kernel-image-2.2.19_20010708_i386.deb
../kernel-image-2.2.19_20010708_i386.debが
カーネルの完成品です。これをふつうに
dpkgでインストールします。このときに
いくつか質問が出ますが、単にリターンキーを
押せばすくなくともインストールは成功します。

# lilo
# reboot
インストールが終わると「ただちに再起動してください」
という警告文が出ますが、だからといって
あわてて再起動するとひどい目にあいます。
先にliloを実行してください。

大原雄馬
京都大学大学院理学研究科修士1回生
oohara@xxxxxxxxxxxxxxxxxx