- /usr/src ディレクトリに rtlinux/ を作成.
# cd /usr/src
# mkdir rtlinux
- 2.4.18 のカーネルソースと,rtlinux-3.1 のソースを展開.
# cd rtlinux
# bunzip2 -c ../linux-2.4.18.tar.bz2 | tar xvf -
# tar zxvf ../rtlinux-3.1.tar.gz
- rt-patch-2.4.18-rtl3.1.tgz を展開.
# cd /usr/src
# tar zxvf rt-patch-2.4.18-rtl3.1.tgz
- パッチをあてる.
# cd rtlinux/linux
# patch -p1 < ../../patch_rtl-2.4.18
# cd ../rtlinux-3.1
# patch -p1 < ../../patch_rtlinux-3.1
- カーネルの config
# cd /usr/src/rtlinux/linux
RT-Linux カーネルであることがわかるように,Makefile の先頭を次
のように編集してください:
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 18
EXTRAVERSION = -rtl3.1 ←これを追加
つぎに,カーネルパラメータを設定します.
# make menuconfig
システムに応じて,パラメータを設定.
single CPU の場合は,SMP を外すのを忘れずに.
注意すべき箇所:
- Processor type and features --->
- General setup
Power Management support を ON にすると,RT-Linux で不具合
が生じることが報告されているので,off にしてください.
- Networking options -->
root on NFS する場合には,IP kernel level
autoconfiguration を ON する必要あります.
これをやらないと,以下の Network file systems で,
root file system on NFS のチェックができません.
- Network device support
Root on NFS で実験機をブートする場合には,
ネットワークカードが必須です.
サーバではなく,*実験機に* ささっているネットワークカー
ドが何か調べて,
それに対応するドライバをカーネルに組み込むようにします.
モジュールにしてはいけません.
- File systems --->
- Network File Systems --->
Root on NFS をする場合には,
NFS file system support の中の
Root file system on NFS を有効にしてください.
Red Hat 8.0 の場合は,NFS version 3 も必要なようです.
- カーネルのコンパイル
# make bzImage
ウォーニングがたくさん出るかもしれませんが,気にしないで OK で
す.
- モジュールのコンパイル,インストール
# make modules
# make modules_install
- カーネルイメージを /boot にコピー.
root on NFS する場合は,フロッピィディスクにカーネルイメージ
をコピーしてください.
詳しくは, ブートフロッピィの作成
を参照
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.18-rtl3.1
- rtlinux がブートできるように,
grub.conf を編集.(LILO の場合も適宜作業)
以下のような行を追加:
title Red Hat Linux (2.4.18-rtl3.1)
root (hd0,1)
kernel /vmlinuz-2.4.18-rtl3.1 ro root=/dev/hda3
/dev/hda3 は,/boot があるデバイス.
- リブートして,grub で 2.4.18-rtl3.1 を選択.
- 続いて rtlinux のモジュールのコンパイル等.
# cd /usr/src/rtlinux/rtlinux-3.1
# ln -sf /usr/src/rtlinux/linux linux
# make menuconfig
# make
# make devices
- 動作チェック.
example の frank_module, frank_app の動作を確認する.
# cd /usr/src/rtlinux/rtlinux-3.1/examples/frank
README に従ってください(手抜き :-)