比例道
| フロントページ | 新着 | 一覧 |
<-domain ijino tamedesu

diary/20061013

数年ぶりのlinux kernel make

kernel 2.0系のときは毎週のように行っていたkernel makeだが,2.2系以降は一度もやっていなかった.動的ローダブルモジュールになったので,ハードウェア構成変更してもそのままkernelが使えることが最大の理由だ.2.2系がリリースされた時期はマシンのメモリが潤沢になってきた時期と重なるから,kernelサイズを無理に絞る必要がなくなったこともある.
そうこうしているうちにkernelは2.4, 2.6と移り変わって行き,ソースツリーのディレクトリを訪ねることもなくなってしまっていた.ところが本日,Redhat 6.2を入れたマシンの不具合を直すため,数年ぶりのkernel makeを行った.不具合は3com 905Bのドライバーが数日に一度Too much interruptを吐いてそのままマシンを凍らせるというものだ.これが起こるとリセットも効かず,マシンの電源を強制的に落とすしかないので困っていたのだが,kernelを2.2安定版の最終版である2.2.26に変えたら(元は2.2.14)あっさり直ってしまった.kernel make手順はすっかり忘れていたのだが,2.0系で数百回のmakeを行った指が覚えてくれていた.

  • /usr/src/にkernelソースを展開
  • /usr/src/linuxを展開したソースディレクトリにシンボリックリンクを張り直す
  • kernelソースディレクトリに下りて

 make config
 make dep
 make clean
 make bzImage
 make modules
 make modules_install (間の_を忘れてスペースにしてしまってエラーを出してしまった)
 cp arch/i386/boot/bzImage /boot

  • /etc/lilo.confを編集
  • lilo
  • 再ブート


調子に乗って2.2.14だった別のノートPCのkernelも2.2.26に上げた.こちらはメモリが56Mなのでkernelサイズが減って多少メモリが節約できた.ノートPCの場合,通常のkernel makeにpcmcia-csのインストールが必要だ.

  • kernelを通常通りインストール
  • /usr/src/にpcmcia-csのソースを展開.最新版は3.2.8だった.
  • pcmcia-csのディレクトリに下りて

 ./Configure
 make all
 make install

おしまい