ノートPCのカーネルアップデート |
ftpでソースコードを取得します。 ADSLルータの設定によりPASVモードで接続しています。 [root /root]# ftp -p ftp.turbolinux.co.jp ftp> cd /pub/TurboLinux/TurboLinux/ia32/Server/7/updates/RPMS/ ftp> bin ftp> get kernel-source-2.4.18-12.i586.rpm ftp> get kernel-headers-2.4.18-12.i586.rpm ftp> by 次はrpmのインストール。rpmをインストールすると/usr/src/linux-2.4.18が作成されます。 [root /root]# rpm -ivh kernel-source-2.4.18-12.i586.rpm kernel-headers-2.4.18-12.i586.rpm [root /root]# cd /usr/src [root src]# ln -s linux-2.4.18 linux [root linux]# cd linux |
[root linux]# dmesg このコマンドは起動時に表示されるメッセージです。 [root linux]# lspci これはPCIデバイスを表示します。 [root linux]# lsmod 組み込まれているモジュールを表示します。 |
[root linux]# make menuconfig <--カーネル設定画面へ |
[Input core support] <M> Mouse support [USB support] <*> Support for USB [*] Preliminary USB device filesystem <M> UHCI (Intel PIIX4, VIA, ...) support <M> USB Human Interface Device (full HID) support [*] HID input layer support |
[SCSI support] <M> SCSI support <M> SCSI disk support [USB support] <*> Support for USB [*] Preliminary USB device filesystem <M> UHCI (Intel PIIX4, VIA, ...) support <M> USB Mass Storage support |
[root linux]# make dep <--依存関係の構築 [root linux]# make clean <--不要ファイル消去 [root linux]# make bzImage <--カーネル構築 |
[root linux]# cd /boot [root boot]# cp -p /usr/src/linux/arch/i386/boot/bzImage vmlinuz-2.4.18 [root boot]# cp -p /usr/src/linux/System.map System.map-2.4.18 [root boot]# rm -f System.map [root boot]# ln -s System.map-2.4.18 System.map |
[root boot]# cd /usr/src/linux [root linux]# make modules <--モジュールの作成 [root linux]# make modules_install <--モジュールのインストール |
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 message=/boot/message lba32 default=2.4.18 <--新しく追加したカーネルのラベル名を記述 image=/boot/vmlinuz label=linux initrd=/boot/initrd read-only root=/dev/hda3 ↓ここから追加分 image=/boot/vmlinuz-2.4.18 <--作成したカーネルファイルを指定します。 label=2.4.18 <--ラベル名は任意ですが分かりやすいもの initrd=/boot/initrd read-only root=/dev/hda3 ↑ここまで追加分 |
[root linux]# /sbin/lilo [root linux]# shutdown -r now |
make[3]: Entering directory `/usr/src/linux-2.4.18/drivers/char/vtune' gcc -D__KERNEL__ -I/usr/src/linux-2.4.18/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-str ict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 〜(省略)〜 make[3]: *** [vtune.o] Error 1 make[3]: Leaving directory `/usr/src/linux-2.4.18/drivers/char/vtune' make[2]: *** [_modsubdir_vtune] Error 2 make[2]: Leaving directory `/usr/src/linux-2.4.18/drivers/char' make[1]: *** [_modsubdir_char] Error 2 make[1]: Leaving directory `/usr/src/linux-2.4.18/drivers' make: *** [_mod_drivers] Error 2 |
このエラーは[General setup] - [< > Intel VTune Support]を外す事で回避できた。 もっとも、我が家のPCでは不要な設定であった。 |
cc -E -C -P -I/usr/src/linux-2.4.18/include -imacros /usr/src/linux-2.4.18/include/asm-i386/page_offs et.h -Ui386 arch/i386/vmlinux.lds.S >arch/i386/vmlinux.lds ld -m elf_i386 -T /usr/src/linux-2.4.18/arch/i386/vmlinux.lds -e stext arch/i386/kernel/head.o arch/i3 86/kernel/init_task.o init/main.o init/version.o init/do_mounts.o \ --start-group \ arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o \ drivers/acpi/acpi.o drivers/char/char.o drivers/block/block.o drivers/misc/misc.o drivers/net /net.o drivers/media/media.o drivers/ide/idedriver.o drivers/cdrom/driver.o drivers/pci/driver.o drive rs/pcmcia/pcmcia.o drivers/net/pcmcia/pcmcia_net.o drivers/video/video.o \ net/network.o \ /usr/src/linux-2.4.18/arch/i386/lib/lib.a /usr/src/linux-2.4.18/lib/lib.a /usr/src/linux-2.4.1 8/arch/i386/lib/lib.a \ --end-group \ -o vmlinux arch/i386/kernel/kernel.o: In function `call_thermal_interrupt': arch/i386/kernel/kernel.o(.text+0x590e): undefined reference to `smp_thermal_interrupt' make: *** [vmlinux] Error 1 |
[Processor type and features] - [Machine Check Exception]を追加する事で回避できた。 よく分からないので外しておきたかったのだけれど...。 |