Kernel 2.4.xへの移行

今回普通にinstallしたらkernelは2.2.20でした。
ついでなので2.4.xへ移行。まずはdselectで選択しpackage installした。
dselectではkernel-package、kernel-source-2.4.18を選択。
make menuconfigのためにlibncurses5-dev、 日本語表示のためkon2、konfont、 Configure.help.jaのgetのためwgetも選択。
またDependencyのためbzip2、libbz2-1.0もinstallした。

# cd /usr/src
# ls -F
# bunzip2 kernel-source-2.4.18.tar.bz2
# tar xvf kernel-source-2.4.18.tar
# tar zxvf pcmcia-cs.tar.gz
linkをはってkernelのconfigurationをする。
このときConfigrationのHelpを日本語にしたい場合は http://www.linux.or.jp/JF/JFdocs/Configure.help/から インストールしたいkernelのバージョン(今回の場合は2.4.18)の Configure.help-2.4.18.ja.gzを持ってきて、/usr/src/linux/Documentationに コピーすると便利。
日本語が表示できるようにあらかじめkonをインストールしておく。

# ln -s /usr/src/kernel-source-2.4.18 /usr/src/linux
# cd /usr/src/linux
# mv Documentation/Configure.help Documentation/Configure.help.orig
# cp Configure.help-2.4.18.ja Documentation/Configure.help
# kon
# make menuconfig
その後kernelのmakeとinstall。

# make-kpkg clean
# make-kpkg --revision sophia.0731 kernel_image
# cd /usr/src
installの前にmoduleをバックアップしておく
# mv /lib/modules/2.4.18 /lib/modules/2.4.18.old
# dpkg -i kernel-image-2.4.18_sophia.0731_i386.deb
Please Hit return to continue. [Enter]
Would you like to create a boot floppy now? [No] [Enter]
Install a boot block using the existing /etc/lilo.conf? [Yes] [Enter]
次にpcmcia-csをコンパイルしようとしたのだが、なぜかエラーになる。
いろいろdocumentを読むと2.4.xからはkernelにpcmciaが一部取り込まれて いるので、そこが問題になっているよう。
いろいろ試行錯誤した結果、kernelのconfigでPCMCIAは使わないようにして、 普通にpcmcia-csをinstallすることにした。
Debianのpackageでなく普通にsourceを http://pcmcia-cs.sourceforge.net/ftp/から 取ってきておく。
今回は最新のpcmcia-cs-3.2.0.tar.gzを使用。

# cd /usr/src
# tar zxvf pcmcia-cs-3.2.0.tar.gz
# cd cd pcmcia-cs-3.2.0
# make config

Linux kernel source directory [/usr/src/linux]: [Enter]
  kernel sourceの場所

Build 'trusting' versions of card utilities (y/n) [n]: y [Enter]
  ユーザーレベルでcard utilityを使うかはYesに

Include 32-bit (CardBus) card support (y/n) [y]: [Enter]
  CardBusは使う

Include PnP BIOS resource checking (y/n) [n]: y [Enter]
  よく分からないけど一応Yesに

How would you like to set kernel-specific options?
1 - Read from the currently running kernel 2 - Read from the Linux source tree Enter option (1-2) [1]: 1 [Enter]   一度kernelをコンパイルしたあとなのでsource treeに合わせる Module install directory [/lib/modules/2.4.18]: [Enter]   Moduleのinstall directoryはデフォルトで # make all; make install
# /etc/init.d/pcmcia start

できちんと動くか確認。
このままだとreboot時にcardmgrが自動的に起動しないので、リンクを作る。

# update-rc.d pcmcia defaults 20

rebootして問題ないか確認。


今回PCMCIA関係の試行錯誤中に最初からやり直そうと、PCMCIA関係を全部 dpkg -P hogehogeで削除。
当然LAN Cardは認識しなくなり、sourceのgetもできず。
仕方なくWindowsでgetして、幸いpcmciaのsourceは1.2Mほどだったので、 FDD baseでコピーし事なきを得ました。(^^;