長南です。
武田さんのメールより [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ではどのパッケージに含まれているのでしょうか?
というわけで、存在しないのではないでしょうか。どこかのパッケージに
入っているのかもしれませんけれど。
--
長南洋一