up

kernel build 最初に

”kernel build”とか ”kernel rebuild”という事をする場合が有ります カーネルの再構築 とかいわれるものです

通常の 場合

以下の方法は 今までの 処理方法の 一例です。

カーネルの再構築 通常の 場合

以下の 処理にて 表だった不都合は 発生していないように 思われる?

$ su -
Password: 
lx:~# cd /usr/src/     /* 所定の場所に 移動    */
lx:/usr/src# ls -l | grep linux ;pwd
lrwxrwxrwx    1 root     root           12 Oct 19 07:57 linux -> linux-2.4.31/
drwxr-xr-x   15 root     root         4096 Nov 16 00:16 linux-2.4.31/
/usr/src   /* 所定の場所は /usr/src である そこで  linux-2.4.31/ に 移動して */
lx:/usr/src# cd linux-2.4.31/
lx:/usr/src/linux-2.4.31# make menuconfig  /* 設定に取り掛かる  */
rm -f include/asm
( cd include ; ln -sf asm-i386 asm)
make -C scripts/lxdialog all
make[1]: Entering directory `/usr/src/linux-2.4.31/scripts/lxdialog'
make[1]: Leaving directory `/usr/src/linux-2.4.31/scripts/lxdialog'
/bin/sh scripts/Menuconfig arch/i386/config.in
Using defaults found in .config
Preparing scripts: functions, parsing...........
.......................................................................done.
/*   一連の設定作業を 終えて     */
Saving your kernel configuration...

*** End of Linux kernel configuration.
*** Check the top-level Makefile for additional configuration.
*** Next, you must run 'make dep'./*  普通は 以下の処理をしている  */
lx:/usr/src/linux-2.4.31# make dep && make clean && make bzImage
...
objcopy -O binary -R .note -R .comment -S compressed/bvmlinux compressed/bvmlinu
x.out
tools/build -b bbootsect bsetup compressed/bvmlinux.out CURRENT > bzImage
Root device is (3, 7)
Boot sector 512 bytes.
Setup is 4767 bytes.
System is 1022 kB
warning: kernel is too big for standalone boot from floppy
make[1]: Leaving directory `/usr/src/linux-2.4.31/arch/i386/boot'
/*  大き過ぎる といわれるが  grub で 直接 起動するので 無視をして 続ける   */
/*  従来は これを クリヤーできるまで 続けていたのですが 現在の所    */
/*  起動はできるので 無視をしている boot floppy を 作成しないという事  */
lx:/usr/src/linux-2.4.31# cd /lib/modules
lx:/lib/modules# mv 2.4.31-plamo/ 1st-2.4.31-plamo/
lx:/lib/modules# cd -
/usr/src/linux-2.4.31 /*  modules は 消去しても 問題は無いのですが 残しておいて  */
 /*  modules を インストールする */
lx:/usr/src/linux-2.4.31# make modules && make modules_install  
...
mkdir -p pcmcia; \
find kernel -path '*/pcmcia/*' -name '*.o' | xargs -i -r ln -sf ../{} pcmcia
if [ -r System.map ]; then /sbin/depmod -ae -F System.map  2.4.31-plamo; fi
 /* 出力の 結果は 設定 により異なるでしょうが 終了したとします    */
 /*  新しく 2.4.31-plamo/ が できています                         */
lx:/usr/src/linux-2.4.31# ls /lib/modules/
1st-2.4.31-plamo/  2.4.31-plamo/  
 /* ここからは  bzImage を  /vmlinuz   に 置き換える作業をして */
lx:/usr/src/linux-2.4.31# cd /
lx:/# mv vmlinuz-2.4.31 001_vmlinuz-2.4.31
lx:/# cp /usr/src/linux-2.4.31/arch/i386/boot/bzImage vmlinuz-2.4.31
 /* System.map も 新しいものと 置き換えます */
lx:/# cd /boot/
lx:/boot# mv System.map-2.4.31 001_System.map-2.4.31
lx:/boot# cp /usr/src/linux-2.4.31/System.map System.map-2.4.31

この様な一連の作業にて カーネルの 再構築 というものを 行って きていました。

mrproper

いろいろ参考になる資料を 見ていると 条件により”mrproper”を しないと いけないよ とか”make include/asm”なんという 表現に 出くわしました。

乏しい 知識を 総動員すると ”mrproper”は ドットファイルを削除するん だということが 認識できました さすれば と思い 其回りを 見てみると、 ”myconfig”というものを 発見しました、 過去には ”/boot”という所に この場合 ”Plamo Linux”という デストリビューションの 場合ですが ” config”という デストリビューション の 最初の ”config”が 有ったような ので 比較をしてみると

# pwd
/usr/src/linux-2.4.31
# diff -s /boot/config-2.4.31 myconfig 
Files /boot/config-2.4.31 and myconfig are identical

これらの 結果から myconfig というものが このデストリビューションの 初 期のものであろうと 判断しています。とすれば ”mrproper”を するのは この デストリビューションも するべきであろうと 判断しているようです

これらを総合的に 判断すると ”mrproper”を 行いなさい ということのよ うです。

にゃんたろう 拝!

2007年11月21日 (水) 21:12:44 JST 作成


up

Copyright © 2004.-2007. nyantarou All Rights Reserved.