up

make menuconfig まで

カーネルの再構築

まあ簡単に独断と偏見の調査を した結果 ということです

通常の 場合

カーネルの再構を 行う場合 は 以下の手順で行うようにします。

ディレクトリ

この場所は 推奨されていないように 考えられる。しかしながらここで 行う 事にする。

# 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”として ”make menuconfig”を 使用する。

手順 その1

では最初から ”make menuconfig”まで を 行います。

backup .config

現在ある .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 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

次は設定に 取り掛かります。”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

この様な画面が 表れるでしょう。

001 Linux Kernel v2.4.31-plamo Configuration

これで 色々設定してゆく事に なります。 もう一つ参考に 画像を 見ておき ましょう。

002 General setup

これは ”shutdown -h now ”で 電源を 切る という試みを設定している場 合です。この 計算機は 旧いので ”ACPI Support”でなく、 上記の設定で対応し ようと考えています。当然個々の 環境に依り同じ設定で上手くゆかない場合も 有りますが、それはまた別の問題です。まあ一連の作業を 終えたとしましょう

003  Exit

”Exit”とすると

004  save?

とうぜん ”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 作成


up

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