標準のコアパッケージには以下のものはすべてバイナリで含まれています。 しかしモジュールの一部はカーネルに強く依存するため、 カーネルを再構築した際には、それに合わせてつくりなおさなければなりません。
PCMCIA スロットへのアクセスを担当します。 PocketLinux では必須です。 3.0.9 以降で動作しますが、3.0.12 以降が望ましいです。
pcmcia-cs を再構築する必要があるのは、
の三つの場合があります。 1, 3は当然として、2 の理由は、バイナリパッケージの pcmcia-cs は SCSI を外して構築されているからです。
ソース展開後、make config ; make all します。 大抵の場合、母艦からのクロスインストールになるでしょう。 この場合 make config 時に注意すべきものは 3 つあります。
PocketLinux kernel source のトップディレクトリを指示してください。
cardmgr などを install する先のディレクトリ。このディレクトリを root directory
と見なした時の /etc/pcmcia, /sbin, /usr/bin
などに関連ファイルがインストールされます。
PocketLinux 用のルートディスクの mount point を指示してください。
target install directory を root directory と見なした時の 'module install directory'
に modules がインストールされます。デフォルトの
/lib/modules/`uname -r`/ のままで
かまわないはずです。
n のままで良いでしょう。
ext2 の圧縮ファイルシステムを担当します。 コアパッケージ 'mizuka' では必須になりますが、'akane' などでは 必ずしも必要ありません。
現在のところ e2compr-0.3.9-patch-2.0.35 が使われています。 e2compr をカーネルとは別に再構築する必要があるのは、
だけでしょう。 e2compr のカーネル依存部分はすべてカーネルに含まれており、 カーネル自身を再構築した段階で e2compr も再構築されます。
e2fsck や chattr などのユーティリティはカーネルではなく ancillary-981212 に含まれていますが、こちらはカーネルを rebuild しても つくりなおす必要はありません。
MSDOS の圧縮ファイルシステムを担当します。 いわゆる I:, J: ドライブにアクセスする時に必要です。
dmsdos をカーネルとは別に再構築する必要があるのは、
ですが、現在すでに warning がでる位で I:, J: へのアクセスには支障がないようなので、 2. のケースで再構築する必要はおそらくないでしょう。
dmsdos の再構築の場合、kernel tree は /usr/src/linux 下にある必要があります。
再構築の前に母艦用のソースツリーを避けて symlink するか、コピーするかしておいて
下さい。
また make all すると多くの場合、kernel に dmsdos パッチをあてようとします。
patch-2.0.37p1-3.diff は dmsdos パッチを含んでいますので、
こちらを既にあてている場合には make all してはいけません。
カーネルソースツリーを /usr/src/linux に移した後、
dmsdos のソースを展開し、cd src; make dmsdos.o します。
このあと dmsdos.o を /lib/modules/`uname -r`/misc にコピーして depmod -a
しておいてください。
モバイルギアのサウンドを担当します。 カーネル依存部分はすべてカーネルに含まれるため、カーネルの再構築後に pcsnd のために何かする必要はありません。
モバイルギアの IrDA ポートを駆動するには linux-ir-1998-10-12 が必要です。 カーネル依存部分、非依存部分すべてこちらに含まれます。
現在 linux-ir の開発は停止し、irda-util に移行しているため、 オリジナルカーネルの version が上がった時に再構築する以外は これをつくりなおす必要はないでしょう。
ソースのうち
#include <ioctls.h>
となっているものを
#include <asm/ioctls.h>
に書き換えます。
さらに Makefile の
MODVERSIONS = -DMODVERSIONS -include /usr/src/linux/include/linux/modversions.h
の項をコメントアウトします。これは PocketLinux カーネルを構築する時にデフォルトでは
'Set version information on all symbols for modules' を 'n' にしているためで、
'y' にしている場合にはコメントアウトする必要はありません。
同じく Makefile の
drivers: Makefile
を
drivers::
に書き換えます。このあと make depend; make all して IrDA modules が完成します。
make install すると /usr/sbin, /etc/irda, /lib/modules/`uname -r`/net/
に直接インストールしようとします。
クロスインストールのことは配慮されていないので注意してください。
もっとも 2.0.x の母艦で IrDA を使うことは普通ないので、そのままインストールして
/lib/modules/`uname -r`/net/ir*
を MobileGear 側に移すという程度でもかまわないでしょう。