vine-users ML アーカイブ



[vine-users:076584] Re: Vine 4.1でカーネルコンパイル 後のmake installに失敗

  • From: 長南洋一 <cyoichi@xxxxxxxxxxxxxxx>
  • Subject: [vine-users:076584] Re: Vine 4.1でカーネルコンパイル 後のmake installに失敗
  • Date: Wed, 04 Apr 2007 22:22:29 +0900 (JST)
長南です。

武田さんのメールより [vine-users:076572]
> 
> Vine 4.1で、apt-get install kernel-sourceでインストールしたカーネル
> ソース(2.6.16)をコンパイルしたあと、make installすると以下のように
> 止まります。
> 
> sh /usr/src/linux-2.6.16/arch/i386/boot/install.sh 2.6.16-0vl68custom
> arch/i386/boot/bzImage System.map "/boot"
> /usr/src/linux-2.6.16/arch/i386/boot/install.sh: line 54:
> /etc/lilo/install: No such file or directory
> make[1]: *** [install] Error 127
> make: *** [install] Error 2

わたしも試しにカーネルのコンパイルをやってみました。
おっしゃるとおり、make install で上ののようなエラーが出ましたが、
vmlinuz や System.map は問題なく /boot にコピーされていました。
つまり、エラーは出るものの、カーネルのインストールは曲がりなりにも
成功しています。

上のエラーメッセージは /etc/lilo/install が存在しないと言って
います。Vine 4.x はデフォルトのブートローダに GRUB を使うことに
したわけですから、こうなるのも当然なのでしょう。と言うか /usr/src/
linux-2.6.16/arch/i386/boot/install.sh に古いところがまだ残っている
ということではないでしょうか。Vine はカーネルの構築には mkkpkg の
使用を推奨していますし、昔ながらのやり方で make install しても、
致命的なエラーが出るわけではない。それで、改良されないままになって
いるのだろうと思います。

> install.shの中身を見ると、ほかのディストリビューションではある
> /sbin/installkernelが、Vineではないためにこけているようでした。

/usr/src/linux-2.6.16/arch/i386/boot/install.sh を見ると、こんなふうに
書いてあります。

  # User may have a custom install script

  if [ -x ~/bin/${CROSS_COMPILE}installkernel ]; then exec ~/bin/${CROSS_COMPILE}installkernel "$@"; fi
  if [ -x /sbin/${CROSS_COMPILE}installkernel ]; then exec /sbin/${CROSS_COMPILE}installkernel "$@"; fi

installkernel はなくても問題ないみたいですね。installkernel が
存在すれば、以後そちらのスクリプトが実行される、存在しなければ、
install.sh が先へ進むというだけで。

> installkernelはCentOS4.4ならmkinitrdに含まれているようですが、
> Vineではどのパッケージに含まれているのでしょうか?
 
というわけで、存在しないのではないでしょうか。どこかのパッケージに
入っているのかもしれませんけれど。

-- 
長南洋一