開発したアプリなど一覧

Kernel2.6.18にしますた。

作業メモ

カーネルアップデートする。今入ってるのが2.6.17だからほとんど変わらないが勉強ついでに。

%su -
rootpasswd:

カーネルのソースは/usr/srcに展開。

#tar jxf linux-2.6.18.tar.bz2 -C /usr/src/

ちなみに/usr/src/linux2.6.18の中身はこんな感じ
ここをカレントディレクトリにしとく。

[root@GX150 linux-2.6.18]# ls -al
total 452
drwxr-xr-x 19 root root  4096 Sep 20 12:42 .
drwxr-xr-x  4 root root  4096 Sep 30 17:59 ..
-rw-r--r--  1 root root   542 Sep 20 12:42 .gitignore
-rw-r--r--  1 root root 18693 Sep 20 12:42 COPYING
-rw-r--r--  1 root root 89517 Sep 20 12:42 CREDITS
drwxr-xr-x 58 root root  4096 Sep 20 12:42 Documentation
-rw-r--r--  1 root root  1273 Sep 20 12:42 Kbuild
-rw-r--r--  1 root root 72925 Sep 20 12:42 MAINTAINERS
-rw-r--r--  1 root root 47674 Sep 20 12:42 Makefile
-rw-r--r--  1 root root 16538 Sep 20 12:42 README
-rw-r--r--  1 root root  3065 Sep 20 12:42 REPORTING-BUGS
drwxr-xr-x 26 root root  4096 Sep 20 12:42 arch
drwxr-xr-x  2 root root  4096 Sep 20 12:42 block
drwxr-xr-x  2 root root  4096 Sep 20 12:42 crypto
drwxr-xr-x 61 root root  4096 Sep 20 12:42 drivers
drwxr-xr-x 58 root root  4096 Sep 20 12:42 fs
drwxr-xr-x 40 root root  4096 Sep 20 12:42 include
drwxr-xr-x  2 root root  4096 Sep 20 12:42 init
drwxr-xr-x  2 root root  4096 Sep 20 12:42 ipc
drwxr-xr-x  5 root root  4096 Sep 20 12:42 kernel
drwxr-xr-x  5 root root  4096 Sep 20 12:42 lib
drwxr-xr-x  2 root root  4096 Sep 20 12:42 mm
drwxr-xr-x 36 root root  4096 Sep 20 12:42 net
drwxr-xr-x  9 root root  4096 Sep 20 12:42 scripts
drwxr-xr-x  4 root root  4096 Sep 20 12:42 security
drwxr-xr-x 17 root root  4096 Sep 20 12:42 sound
drwxr-xr-x  2 root root  4096 Sep 20 12:42 usr

前の設定を反映させるために make oldconfigで設定を行う。
新しく増えた設定項目だけ設定すればおk。めんどくさいから全部enter押してみた。
というか項目多すぎる。

ソースの依存関係の確認を行う

make dep

不要なファイルを削除しとく

make clean

そしてカーネルイメージを作成

make bzimage

時間かかるから放置。

終ったらvmLinuzxが作成される。

次はカーネルモジュールの作成

make modules

これも時間がかかるから放置。

Cel400MHZじゃ遅い

終ったらカーネルモジュールのインストール

make modules_install

初期RAMディスクを作成する。

[root@GX150 linux-2.6.18]# mkinitrd /boot/initrd-2.6.18.img 2.6.18

LPICLv2教科書だと、SCSIデバイス上やRAIDデバイス上にある場合などでは?と書いてあるが、
無い状態でやったらKernelPanic起こしますた。無いと駄目っすね。こいつの役割はext-root-mini-HOWTO-2で。

カーネルイメージのできあがり、そして配置。
arch/アーキテクチャ名(i386)/bootにbzImageの名で入ってる
名前かえて/bootに配置

[root@GX150 linux-2.6.18]# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.18

カレントディレクトリにあるsystem.mapも名前をあわせて配置

ブートローダ(俺はGRUBを使用)に以下を追加して読み込めるようにする。

title Fedora Core (2.6.18)
root (hd0,0)
kernel /vmlinuz-2.6.18 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18.img

これで再起動し、ブートローダで2.6.18を選べばOK

########カーネルにパッチを当てる方法 今回はやらない########
展開して出来た"/usr/src/linux-2.4.20/"にパッチファイルをコピーします。

#cp patch-2.4.21-pre7.gz /usr/src/linux-2.4.20/

パッチを適用します。

#zcat patch-2.4.21-pre7.gz | patch -p1

これでパッチが適用されます。
*bz2の場合は、

#bzip2 -d patch-2.4.21-pre7.bz2
#cat patch-2.4.21-pre7|patch -p1

########コピペ終わり##########
どこからコピペしたのかわからないけどメモしとく。どこだっけなあ・・・

Sponsored Link

コメント