まあ簡単に独断と偏見の調査を した結果 ということです
カーネルの再構を 行う場合 は 以下の手順で行うようにします。
この場所は 推奨されていないように 考えられる。しかしながらここで 行う 事にする。
# pwd /usr/src/linux-2.4.31 # ls -l ../ | grep linux lrwxrwxrwx 1 root root 12 Oct 19 07:57 linux -> linux-2.4.31/ drwxr-xr-x 15 root root 4096 Nov 22 15:28 linux-2.4.31/
当然 リンクを 一度削除して 新しい カーネルを 展開する。 ということは しないと いう前提です。パッチを当てるということもなしです。基本的に 再 構築を行う事にしております。
”make”として ”make menuconfig”を 使用する。
では最初から ”make menuconfig”まで を 行います。
現在ある .config の バックアップをしておきます。通常 ドットファイルは ”make mrproper”処理をすると削除されるので、他の名前に変更して このディ レクトリの 上に退避させます。(無論ここまでしなくても というのは 却下で す。)これは 実際の状態では有りません。退避していた”.config”を このディ レクトリに 持ってきた場合です。
# pwd
/usr/src/linux-2.4.31
# ls -a
./ Documentation/ Rules.make fs/ lib/
../ MAINTAINERS arch/ include/ mm/
.config Makefile config.SMP init/ myconfig
COPYING README crypto/ ipc/ net/
CREDITS REPORTING-BUGS drivers/ kernel/ scripts/
では 退避させましょう
# mv .config 20071122.config # mv 20071122.config ../BKUP-CONFIG/ # ls -a ./ Documentation/ REPORTING-BUGS crypto/ init/ mm/ ../ MAINTAINERS Rules.make drivers/ ipc/ myconfig COPYING Makefile arch/ fs/ kernel/ net/ CREDITS README config.SMP include/ lib/ scripts/
この状態にて ”make mrproper”を 行います。 上記の状態は一度 処理済のため 変化は見られませんが
以下の 処理にて 表だった不都合は 発生していないように 思われる?
# make mrproper make[1]: Entering directory `/usr/src/linux-2.4.31/arch/i386/boot' rm -f tools/build rm -f setup bootsect zImage compressed/vmlinux.out rm -f bsetup bbootsect bzImage compressed/bvmlinux.out ... rm -f .depend rm -f /usr/src/linux-2.4.31/scripts/mkdep-docbook rm -rf DBTOHTML_OUTPUT* make[1]: Leaving directory `/usr/src/linux-2.4.31/Documentation/DocBook'
これで 準備完了に なります。
次は設定に 取り掛かります。”make menuconfig”を 実行します。この場合 最初から 始めるのでも 良いのですが、 通常は 現在の最終の段階から 修正を する場合が 多々行われるでしょう。退避しておいた”.config”を コピーしま しょう。
# cp ../BKUP-CONFIG/20071122.config .config
# ls -a
./ Documentation/ Rules.make fs/ lib/
../ MAINTAINERS arch/ include/ mm/
.config Makefile config.SMP init/ myconfig
COPYING README crypto/ ipc/ net/
CREDITS REPORTING-BUGS drivers/ kernel/ scripts/
へてから
# 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'
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o checklist.o checklist.c
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o menubox.o menubox.c
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o textbox.o textbox.c
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o yesno.o yesno.c
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o inputbox.o inputbox.c
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o util.o util.c
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o lxdialog.o lxdialog.c
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o msgbox.o msgbox.c
gcc -o lxdialog checklist.o menubox.o textbox.o yesno.o inputbox.o util.o lxdialog.o msgbox.o -lncurses
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.
の様な 文字が 画面に 流れると ともに こんな画面に 変わります
ターミナル(端末の)表示部分が小さいと お断りの メッセージと共に終了 する場合も有りますがそうでなければ、
# 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 Your display is too small to run Menuconfig! It must be at least 19 lines by 80 columns. make: *** [menuconfig] Error 1
この様な画面が 表れるでしょう。
これで 色々設定してゆく事に なります。 もう一つ参考に 画像を 見ておき ましょう。
これは ”shutdown -h now ”で 電源を 切る という試みを設定している場 合です。この 計算機は 旧いので ”ACPI Support”でなく、 上記の設定で対応し ようと考えています。当然個々の 環境に依り同じ設定で上手くゆかない場合も 有りますが、それはまた別の問題です。まあ一連の作業を 終えたとしましょう
”Exit”とすると
とうぜん ”OK”ということにすれば 画面に 以下の ような文字列が 流れて
Saving your kernel configuration... *** End of Linux kernel configuration. *** Check the top-level Makefile for additional configuration. *** Next, you must run 'make dep'.
完了となります。
このあと 続いて 上記の指示のように ”make dep”してゆく事になります。
にゃんたろう 拝!
2007年11月22日 (木) 21:12:44 JST 作成