VineLinux3.0のkernelをkernel-2.4.26からkernel-2.6.9へアップグレードしたときエラーがでた(なんてこったい(; ;))。そのエラーの対処方法を記録する。
1.カーネルのゲットここ から(2004/11現在)最新であったlinux-2.6.9.tar.bz2をゲットする。
2.カーネルの展開と設定
# cd /usr/src
# tar jxvf linux-2.6.9.tar.bz2
# ln -s linux-2.6.9 linux
# cd linux
# make menuconfig
するといきなり以下のようなエラーが出た。
/usr/include/bits/socket.h:305:24: asm/socket.h: そのようなファイルやディレクトリはありません
make[1]: *** [fixdep] エラー 1
make[1]: ディレクトリ `/usr/src/linux/scripts’ から出ます
make: *** [menuconfig] エラー 2
素直に、このようなディレクトリ&ファイルがネエぜ!と言っているので、
# cd include
# ln -s asm-i386 asm
# cd ../
再度挑戦。
# make menuconfig
そしたら今度以下のようなエラーが出た。
/usr/include/asm/errno.h:4:31: asm-generic/errno.h: そのようなファイルやディレクトリはありません
make[1]: *** [split-include] エラー 1
make[1]: ディレクトリ `/usr/src/linux/scripts’ から出ます
make: *** [scripts] エラー 2
前と同じように/usr/includeの中にasm-genericというディレクトリがないのでシンボルリンクを張る。
# cd /usr/include
# ln -s ../src/linux/include/asm-generic asm-generic
# cd /usr/src/linux
またまた、挑戦
# make menuconfig
今度は成功。kernel設定用メニューが表示されたので設定する。プロセッサータイプとnicの型式を設定する。終わったら保存する。
3.コンパイル
# make
# make clean
掃除する。
# make bzImage
kernel imageを作る。
4.モジュールのコンパイルリンク
# make modules
# make modules_install
kernel modulesをつっこむ。
5.liloの設定
# ls -al
省略
lrwxrwxrwx 1 root root 13 Nov 3 14:01 vmlinuz -> vmlinuz-2.6.9
省略
vmlinuzがvmlinuz-2.6.9シンボルリンクしてあるのを確認して、
# vi /etc/lilo.conf
prompt
timeout=50
default=linux
boot=/dev/hda
map=/boot/map
install=menu
message=/boot/message
image=/boot/vmlinuz
label=linux
read-only
root=/dev/hda3
append=” resume2=swap:/dev/hda2″
image=/boot/vmlinuz-2.4.26-0vl16
label=linux.old
read-only
root=/dev/hda3
append=” resume2=swap:/dev/hda2″
濃い部分を追加編集する。
# /sbin/lilo
これで終わり。
以上
コメント