近頃のLinuxのカーネルのリメイクなど

00、<< イントロダクション >>

     最近使い始めた TurboLinuxWS6.0 ってのは
     カーネルが 2.2.13-33 ってので、2.2.15 には
     セキュリティホールが見つかっているので
     2.2.16 へアップデートしなくてはいけません。

     以前に比べてLinuxのカーネルリメイクは
     だいぶ、やり方が変わってきて、むかーし
     SlackWare で覚えたのや当然 *BSD とも違うので
     ここに書いておかなきゃ。。     

     個人的には カーネルいじるのは FreeBSD とか
     BSD系の方がやり易いと思うです。
     xconfig とかもイマイチピンとこないなあ。
     どーも GUI は苦手。。。

     愚痴ってもしょうがない、今時のやり方も
     できなきゃ、ますますオヤヂ化の一途なので。。


     でわ、例によって忘れっぽいので
     健忘症対策の覚え書きです。



01、<< 作業開始 >>

     当然ですが root ログイン。。


     カーネルソース元がCDROM からなら
     # mount /mnt/cdrom
     # cp /mnt/cdrom/****/linux-2.2.16.tar.gz /usr/src
     # cd /usr/src

     FTPなどから~HOME/へ落してきてあるなら
     # mv ~HOME/linux-2.2.16.tar.gz /usr/src
     # cd /usr/src

     TLWS6.0 はデフォルトで linux がlinux-2.2.13 への
     シンボルリンクになっているのでこれを斬る。
     # rm linux

     そうでない場合はりネームしておけば良いでしょう。
     # mv linux linux-2.2.13



     # gtar -zxvf linux-2.2.16.tar.gz
     # mv linux linux-2.2.16
     # ln -s linux-2.2.16 linux
     # cd linux

     make xconfigでもいいけど、僕的には、やはり。。
     # make menuconfig

     ここで、パラメータをいじる。
     メニュー形式なので、判り易い。。
     編集が終ったら exit 抜ける。


2000.08.20追記------ここから
     はじめてmenuconfig をする場合は以前の状態を
     引き継いでいないので、手作業でかなり書き換える
     項目が多い。。
     これでは、えらいこっちゃ。。なので
     .config があれば楽になる。
     例えば パッケージに入っているカーネルと同じ
     config が欲しければ menuconfig する前に
     TLWS6.0 なら /usr/src/linu2.2.13/configs 以下に
     それぞれの種類の config があるので それを
     取ってきて.config にりネームしておく。
     その後でmenuconfig する。

     それにしても TL の ftpサーバーから貰ってきた
     update のカーネルソースを展開してmakeしたら
     エラーでストップ。。。
     なんとCC=egcs になっていた。。。
     なんでよ! gcc しか入ってないじゃん。。
     ということで、Makefile を書き換えて再トライ。

------------ここまで

     # make dep;make clean
     # make bzImage

     お約束のおまじないを叩く。。
     マシンぱうわあーの足りない時はおそーい。。
     しばし、一服。。。

     # make modules
     # make modules_install

     起動に必要なドライバーをモジュール化してしまった
     時は起動用のRAMディスクイメージを作る。
     # mkinitrd /boot/initrd-2.2.16 2.2.16

     # cp arch/i386/boot/bzImage /boot/vmlinuz-2.2.16
     # cp System.map /boot/System.map-2.2.16

     # cd /boot
     # ln -s System.map-2.2.16 System.map
     # ln -s module-info-2.2.16 module-info
     # ln -s vmlinuz-2.2.16 vmlinuz

     liloを使ってるばやいは /etc/lilo.conf を編集
     # emacs -nw /etc/lilo.conf

     liloに新しいエントリを追加する。

     image=/boot/vmlinuz
           label=new
           initrd=/boot/initrd-2.2.16
           root=/dev/hda1
           read-only

     と追記して更新。
     更新をliloへ反映
     # /sbin/lilo

     以上でリブートし、起動中のlilo:のところで
     new を入力する。

     新カーネルをいろいろチェックしてOKなら
     /etc/lilo.conf を再度変更して
     新カーネルをデフォルトにする。
     # emacs -nw /etc/lilo.conf

     default=new   <--- 変更

     # /sbin/lilo

     ですべて完了。。。。。
     次回から 新カーネルがデフォルトで立ち上がる。。










      それでは



             ∩  ∩           
           ( ̄。 ̄)..zzZ   E-mail
        〜(_ x _)        URL     http://www.shin.nu/