こんばんは。宮脇です。ご無沙汰しております。
最近、KNOPPIXでUSB 2.0を使いたいと考え、いろいろ調べています。
USB 2.0で2台のHDDをつないで、HDD間のコピー(dd)やコンペア(cmp)したい
のです。
USB 2.0インタフェースにはAdaptecのインタフェースカードAUA-1420Aを使用し
ています。
HDDを1台USBでつなぐだけなら、「modprobe ehci-hcd」を実行するだけでよい
ようです。
実行後ただちにUSB-HDDのアクセスが高速化されます。
リブートすると、modprobe しても、しばしば、USB 2.0を認識してくれない(USB
1.1になる)という問題がありますが、もういちど電源切断&再起動すれば、
たいてい、USB 2.0を認識してくれるので、当面は運用でなんとかできます。
問題は2台のHDD間で比較すると、直ちにシステムがハングアップすることです。
調べてみると、kernel-2.4.21-pre7で多くのバグ対策とサポート拡大を行っている
とのこと。そこで、最新版の2.4.21-rc3に乗り換えたいのですが、どうもうまくいき
ません。
下記に私が行った再構築方法を示しますので、カーネルバージョンアップのノウ
ハウをお持ちの方、抜けや間違いなどご指摘いただけると幸いです。
よろしくお願いいたします。
記
1.再構築手順
1.1 カーネルのコンパイル
(1)ソースディレクトリ(/usr/src/linux-2.4.21-rc3)を作成し、そこに、
2.4.20のフルバージョンのソースをダウンロードして解凍する。(KNOPPIXの
カーネルのソース2.4.20-xfsもつかって見ましたが、次のpatchでエラーに
なるのであきらめました)
(2)同じディレクトリに2.4.21-rc3のパッチファイルをダウンロードし、(1)の
ソースに対して適用する。
(3)cp /KNOPPIX/usr/src/linux/.config /usr/src/linux-2.4.21-rc3/.
(4)cd /usr/src; ln -sfn linux-2.4.21-rc3 linux; make
(5)追加オプションの確認メッセージに対しては、「m」が応答できる場合は
「m」、それ以外は「y」を応答する。
(6)make処理が長時間実行されますが、最終的には、めでたく、3つの.deb
ファイル(バイナリ、ソース、ドキュメント)が出来上がります。(途中、多数の
警告エラーが表示されていましたが)
(7)KPackageでkernel-image-2.4.21-rc3・・・.debをインストールする。
1.2 cloop.oのコンパイル
(1)KNOPPIX本家からcloop_0.68-3をダウンロードし、makeする。コマンドは
以下のとおり。
make KERNEL_DIR=/usr/src/linux-2.4.21-rc3
mkdir -p /lib/modules/2.4.21-rc3/misc && cp cloop.o
/lib/modules/2.4.21-rc3/misc/
depmod -a -C /etc/modules.conf -F /boot/System.map-2.4.21-rc3
2.4.21-rc3
#mknod /dev/cloop b 240 0
1.3 minirootのカーネルモジュール差し替え
miniroot.gzを解凍し、/mnt/testにループバックマウントしたのち、modules
ディレクトリ内のcloop.oとscsi/*.oを、1.1と1.2でコンパイルして得られた
モジュールに差し替える。(ただし、同じ名前のモジュールを差し替える
だけで、モジュールの追加・削除はしない。)
1.4 grubのmenu.lstを編集
更新された新しいカーネルと、新しいminiroot.gzを参照するように修正します。
2.問題状況
(1)以上の設定後にリブートすると、HDDパーティションの自動認識処理後
(linuxrcの実行開始前)にinit プロセスが見つからない旨のエラーメッセージ
を表示してシステムが停止する。
(2)カーネルオプションに「init=/linuxrc」を指定すると、linuxrcは実行開始さ
れますが、FAT32パーティション(/dev/hda2)を見つけたところ(当該パーティ
ションへのmountit()手続きを呼び出したところ)でハングアップします。
(linuxrcにset +xオプションを』指定して調査)。
3.再構築に使用した環境。(参考)
Windowsをメインに使っているノートマシンで、30GBのドライブの95%をWindows
XPがNTFSで占有しています。再構築にUSBは使用しない方針です。(1.1は遅く、
2.0は不安定なため)
そこで、FAT32パーティションにCDROMの内容をコピーし、grubをMBRにインス
トールしてHDブートする方法でHDブート環境を構築しました。(knx-hdinstallは
行っていません。)
/var/lib/dpkgと/usr/src、/usr/share/docは実体を/home/knoppix以下に作成し
mkpersistenthomeで保存しています。容量は640MB。
/bootと/lib/modulesの実体は/cdrom以下に作成しました。/cdromにはFAT32
パーティション(/dev/hda2)をRWモードでマウントしています。
/etcは/ramdiskに移動しています。
以上
|