at posts/single.html

Kernel 2.6.3

ネットワークにつながったので、さっそくカーネルのバージョンアップに挑戦。 まずは、最新版のカーネルソースを取得して、 /usr/src/linux からシンボリックリンクを張る。

# emerge /usr/portage/sys-kernel/development-sources/gentoo-dev-sources-2.6.3-r2.ebuild
# rm /usr/src/linux
# ln -s /usr/src/linux-2.6.3-gentoo-r2 /usr/src/linux

次に、genkernelを実行してカーネルを構築。

# genkernel all --menuconfig

これで、/boot にカーネルが作られる・・・と思ったら、何もできていなかった。 原因は、/boot をマウントするのを忘れていたから。 /boot をマウントして、再度genkernelを実行。

# mount /dev/hda1 /boot
# genkernel all --kernel-config=/etc/kernels/kernel-config-x86-2.6.3-gentoo-r2 --no-clean

--no-cleanオプションをつけるとmake cleanを実行しないので、前回のコンパイル結果をそのまま利用できる。

次に、/boot/grub/grub.conf を編集。 一応2.4でも起動できるようにしておく。

timeout 30
default 1
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

# For booting GNU/Hurd
title  Gentoo Linux 2.4 (genkernel)
root   (hd0,0)
kernel (hd0,0)/boot/kernel-2.4.23_pre8-gss-r2 root=/dev/ram0 real_root=/dev/hda3 init=/linuxrc vga=0x317 splash=verbose
initrd (hd0,0)/boot/initrd-2.4.23_pre8-gss-r2

# For booting GNU/Hurd
title  Gentoo Linux 2.6 (genkernel)
root   (hd0,0)
kernel (hd0,0)/boot/kernel-2.6.3-gentoo-r2 root=/dev/ram0 real_root=/dev/hda3 init=/linuxrc vga=0x317 splash=verbose
initrd (hd0,0)/boot/initrd-2.6.3-gentoo-r2

これで再起動したところ、見事に2.6で起動した。

# uname -a
Linux lavie 2.6.3-gentoo-r2 #2 Wed Mar 10 08:07:42 JST 2004 i686 Pentium III (Coppermine) GenuineIntel GNU/Linux

簡単すぎて拍子抜けしたなぁ。

関連する日記