PCへのART-LINUXのインストール
ART-Linux のインストールで困ったことの解決策を書いておきます。対象は debian 6.0 (squeeze) です。
◎ カーネルのリビルド
配布されている art-linux のカーネルは,modversion が有効になっているため,その後追加ボードのドライバを入れようとすると,チェックサム (version string?) が合わなくて "invalid module format" というエラーが出て悩むことになる。そこで,カーネルの再構築を行う。
-
産総研 art-linux のHPから,カーネル本体にソースとヘッダを頂いてきてインストール。ソースはbz2ができるだけなので,その後は手動展開。ソースには /usr/src/linux でアクセスできるようリンク貼る。
-
cd /usr/src/linux をして,cp /boot/config-2.6.32-art .config により art カーネルの設定ファイルを作っておく。
-
apt-get install build-essentials kernel-packages libncursese-dev として必要なツールを入れておく。
-
make-kpkg clean ののち,make menuconfig し,以下の項目を変更のうえ,.configを更新保存。
1)Loadable module support の中に入り,versioning に関する項目(デフォルト では選択された状態)のチェックを外す【重要】
2)Processor feature の中に art のリアルタイム関係の設定可能項目がある。デフォルトだとタスク実行の最小周期は 1000 [micro sec] に設定されているので,それより短い時間を望む場合は1000よりも小さい数字にしておく。実行周期設定の限界がどの変化は不明だが、あまり短いとタスク本体の実行に支障が出るのでは?
- make-kpkg --append-to-version hoge kernel-image とし,コンパイルが終わるのをお茶を飲みながら待つ。append-to-version に文字列をつけるのは重要(hogeは好きなものに入れ替えてね)。これをしておかないと,新たにビルドされたモジュールなどが /lib/modules/2.6.32-art に上書きされてしまい,最悪1からやり直しになる。
- コンパイルが終わったら /usr/src に *.deb なカーネルができているので,dpkg -i でインストール
- ls /lib/modules とすると,出来上がった新しいカーネルに対応する新しいフォルダができているはず。それをhogehogeとすると
update-initramfs -c -k hogehoge
として,initrd.img (起動時に使う ramdisk のイメージ?)を作成。 - 最後に update-grub2 とすれば,次回再起動時よりメニューに新しいカーネルが追加されてめでたしめでたし。
◎ nVidia 謹製 driver のインストール
nVidia のドライバインストールパッケージは,X が起動していない状態でインストールすることを要求するので,"init 3" として数秒待ったが変化なし (-_-; web 情報で,debian では runlevel 2-4 に明確な規定がなく,デフォルト設定では runlevel 2 or 3 でも gdm3 (Xウィンドウマネージャ)が起動してしまうことが判明。そこで以下のような手段でこれを回避した。
- cd /etc/rc2.d し,mv S20gdm3 stopS20gdm3 とする。/etc/rc3.d にある S20gdm3 にも同じ処理をする。
- init 3 を実行(だめなら一度リブートすると,ランレベル2で止まりコンソールログイン待ち状態で止まるはず)
- ログインして root になり sh ./NVIDIA-***.sh を実行する。すでに versioning サポートを外してあるので問題なくモジュールの構築ができるはず。
- インストールスクリプトが無事終わったら,名前を書き換えた S20gdm3 を元に戻しておく。
さすがに,きちんとフルスクリーン使えるようになると見栄えが違いますね(笑)