[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:24842] Re: カーネルの再構築手順 補足のお伺い



  いろいろと お世話さまになります。
                                             佐藤明彦です

--------- 今まで、カーネルの再構築 の結果の概要をご報告しました。
          今回は、覚書です「カーネルの再構築手順」の実行手順ご報告です。  
            (この、実作業は 2/1〜2/2 に、実行したものです)        
                                                                     ----------
シンボリックリンク linuxを削除する。
harup:~# cd /usr/src/
harup:/usr/src# rm linux

ソースディレクトリにlinux-2.6.10.tar.gz を展開する。
harup:/usr/src# tar xvfz linux-2.6.10.tar.gz
 ----
linux-2.6.10/README
harup:/usr/src#

展開されたソースディレクトリからlinuxへシンボリックリンクを張る。
harup:/usr/src# ln -s linux-2.6.10 linux

バージョン-2.6.10 が シンボリックリンク張れました。
harup:/usr/src# ls -l li*
total 82036
lrwxrwxrwx    1 root     root           12 Feb  1 15:33 linux -> linux-2.6.10/
drwxr-xr-x   15 root     root         4096 Jan 21 19:29 linux-2.4.26/
drwxrwxr-x   18 500      500          4096 Dec 25 06:35 linux-2.6.10/
 ----
harup:/usr/src#


バージョン-2.6.10 の EXTRAVERSION = -harup01 に設定する。
harup:/usr/src# vi /usr/src/linux/Makefile
harup:/usr/src# cat /usr/src/linux/Makefile | more
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 10
EXTRAVERSION = -harup01
NAME=Woozy Numbat

# *DOCUMENTATION*
 -----
harup:/usr/src#


次に、make menuconfig 以前asm のシンボリックリンクを張る
手順に入りました。
しかし ここで、ディレクトリ/usr/src/ には,includeディレクトリがありません。
そのため、シンボリックリンクは /usr/includeディレクトリ に
移動して、実行しました。
harup:/usr/include# ln -s /usr/src/linux/include/asm-i386/ asm
ln: `asm': File exists
上記のように File exists の状態で、実行できずでした。
つまり 初期のインストール後にすでに、シンボリックリンクが張られている。
harup:/usr/include# ls -l asm
lrwxrwxrwx    1 root     root           26 Dec 14 03:24 asm -> /usr/src/linux/include/asm/

とりあえず asm-generic だけ シンボリックリンクを実行した。
harup:/usr/include# ln -s /usr/src/linux/include/asm-generic asm-generic

harup:/usr/src/linux/include# ls
acpi/       asm-generic/ 

しかし、/usr/src/linux には、includeディレクトリがありました。
ここでは、asm も generic も、両方とも可能でした。
harup:/usr/include# ln -s /usr/src/linux/include/asm-i386/ asm
harup:/usr/include# ln -s /usr/src/linux/include/asm-generic asm-generic

harup:/usr/src/linux/include# ls -l asm
lrwxrwxrwx    1 root     root            9 Feb  1 16:36 asm -> asm-i386//
harup:/usr/src/linux/include# ls -l generic
lrwxrwxrwx    1 root     root           12 Feb  1 16:37 generic -> asm-generic//
harup:/usr/src/linux/include#


更に、次に、make menuconfig 以前のコンフィグをコピーした。
ファイル config-2.6.7 を .config にコピーしました。
以下 Error のがでたので、まずかったです。
harup:~# cd /usr/src/linux/
harup:/usr/src/linux# cp /boot/config-2.6.7 .config


-------------------------- make menuconfig ---------------------------------

make menuconfig を この段階あたりで一度実行をして終えました。
そのとき、kterm の操作をミスしたようで 一度 logout しまして
その後、再度 kterm を立ち上げました。
そのため、以下の make menuconfig は、二度目の実行をしたことを
示しています。
今回、もっとも気になることの一つです。

----------------------------------------------------------------------------

ここで、この段階でのコピーは、make menuconfig につづき make を
実行したところ、以下 Error のがでました。
要注意!!! これは、まずかったので、次回からは除いた方がよいのでしょうか?
mspring@harup:~/temp$ ls -l ke*
-rw-r--r--    1 mspring  users     9392085  1月 20日  19:23 kernel-2.6.7-i586-P1.tgz
上記のダウンロードした、kernel-2.6.7-i586-P1.tgzを展開しまして
その中の /config-2.6.7 を /boot に移動したものです。

harup:~# ls -l /boot/con*
lrwxrwxrwx    1 root     root           13 Dec 14 03:22 /boot/config -> config-2.4.26
-rw-r--r--    1 root     root        32304 Jun 20  2004 /boot/config-2.4.26
-rw-r--r--    1 mspring  users       35758 Jun 20  2004 /boot/config-2.6.7
harup:~#
make: *** [drivers] Error 2harup:/usr/src/linux# cp /boot/config-2.6.7 .config
 .config にコピーできた。
harup:/usr/src/linux# ls -al .c*
-rw-r--r--    1 root     root        35758 Feb  1 18:31 .config
harup:/usr/src/linux#

----------------------------------------------------------------------------

いよいよ、ここから  make menuconfig を実行します。
20分以上かかったも、結構時間がかかりました。
harup:/usr/src/linux# make menuconfig
  HOSTCC  scripts/basic/fixdep
 -----
  HOSTLD  scripts/lxdialog/lxdialog
scripts/kconfig/mconf arch/i386/Kconfig
#
# using defaults found in .config
#
.config:130: trying to assign nonexistent symbol PM_DISK
 -----
.config:1836: trying to assign nonexistent symbol X86_STD_RESOURCES


*** End of Linux kernel configuration.
*** Execute 'make' to build the kernel or try 'make help'.

 -----  20〜30分という時間は、長くてしんどい待ち時間でありました。
なんと make menuconfig が、うまく実行できて終わったみたいです。
次に 以下の make を実行しました。

harup:/usr/src/linux# make
 -----
  LD [M]  drivers/scsi/qla2xxx/qla2300.o
  LD [M]  drivers/scsi/qla2xxx/qla2322.o
make[3]: *** [drivers/scsi/qla2xxx/qla6312.o] Segmentation fault
make[2]: *** [drivers/scsi/qla2xxx] Error 2
make[1]: *** [drivers/scsi] Error 2
make: *** [drivers] Error 2harup:/usr/src/linux# cp /boot/config-2.6.7 .config
harup:/usr/src/linux# 

上記の3点のエラーと、Segmentation fault が 出ましたが
この時点での、.config を調べました。
harup:/usr/src/linux# ls -al .c*
-rw-r--r--    1 root     root        35758 Feb  1 19:29 .config
-rw-r--r--    1 root     root         4908 Feb  1 18:40 .config.cmd
-rw-r--r--    1 root     root        38576 Feb  1 18:39 .config.old

上記のmenuconfig を直前の問題点は残してそのまま進みました。
本来は、ここで .config を消しておくべきだったのでしょうか。????

menuconfig を直後の新しい設定を反映した .config を 
config_20050201に コピーしておく。
harup:/usr/src/linux# cp .config config_20050201

menuconfig を直後の .config を config_20050201に コピー確認。
harup:/usr/src/linux# ls -l config_20050201
-rw-r--r--    1 root     root        38576 Feb  1 19:08 config_20050201



harup:/usr/src/linux# ls -al .c*
-rw-r--r--    1 root     root        38576 Feb  1 18:40 .config
-rw-r--r--    1 root     root         4908 Feb  1 18:40 .config.cmd
-rw-r--r--    1 root     root        38576 Feb  1 18:39 .config.old
harup:/usr/src/linux#


menuconfig をした後、のコンフィグ.configを
config-2.6.7 にコピーし設定しておく。
現実は、menuconfig をて、さらに make を実行した後のコンフィグであった。
harup:/usr/src/linux# cp /boot/config-2.6.7 .config
harup:/usr/src/linux# ls -al .c*
-rw-r--r--    1 root     root        35758 Feb  1 19:29 .config
-rw-r--r--    1 root     root         4908 Feb  1 18:40 .config.cmd
-rw-r--r--    1 root     root        38576 Feb  1 18:39 .config.old



makeだけでは、bzImageが出来ていないことが分かる。
harup:/usr/src/linux# ls arch/i386/boot/
 -----
harup:/usr/src/linux#

現段階では、make bzImage が必要であるらしい。
以下の通り実行する。
harup:/usr/src/linux# make bzImage
 -----
  BUILD   arch/i386/boot/bzImage
Root device is (3, 3)
 -----
Kernel: arch/i386/boot/bzImage is ready
harup:/usr/src/linux#

bzImageが出来ていることが分かる。!!
harup:/usr/src/linux# ls -l arch/i386/boot/bzImage
-rw-r--r--    1 root     root      1596690 Feb  1 19:42 arch/i386/boot/bzImage
harup:/usr/src/linux#


harup:/usr/src/linux# cp arch/i386/boot/bzImage /vmlinuz.test
カーネルを /usr/src/linux/arch/i386/boot/bzImage
ルートディレクトリに /vmlinzuz.test に コピーできた。
harup:/usr/src/linux# ls -l /vm*
 -----
lrwxrwxrwx    1 root     root           14 Jan 21 20:08 /vmlinuz.orig -> vmlinuz-2.4.26
-rw-r--r--    1 root     root      1596690 Feb  1 19:49 /vmlinuz.test
harup:/usr/src/linux# 

以下、オーソドックスに、モジュールのmeke とインストールをする。
make modules
make modules_install

下記の通り、モジュール関係は、問題なく実行できたと思います。
harup:/usr/src/linux# make modules
  -----
  LD [M]  sound/usb/snd-usb-lib.ko
harup:/usr/src/linux#

harup:/usr/src/linux# make modules_install
  -----
  INSTALL sound/usb/snd-usb-lib.ko
if [ -r System.map ]; then /sbin/depmod -ae -F System.map  2.6.10; fi
harup:/usr/src/linux#

以上の記事は、自分のための覚書でもあります。
今後、カーネルの再構築 の改善は、この内容をベースに進めたいと
考えております。

----------------
佐藤明彦 (Sato Akihiko)
e-mail : myspring_sato@kyp.biglobe.ne.jp

Follow-Ups
[plamo:24843] Re: カーネルの再構築手順 補足のお伺い, KATOH Yasufumi
[plamo:24845] Re: カーネルの再構築手順 補足のお伺い, Chie Nakatani
References
[plamo:24821] Re: カーネルの再構築手順 補足のお伺い, msharu
[plamo:24831] Re: カーネルの再構築手順 補足のお伺い, KIDO Hideyuki
[plamo:24832] Re: カーネルの再構築手順 補足のお伺い, msharu
[plamo:24834] Re: カーネルの再構築手順 補足のお伺い, MOUE Kiyoshi
[plamo:24840] Re: カーネルの再構築手順 補足のお伺い, msharu

[検索ページ] [メール一覧]
Plamo ML 公開システム