[opensuse-ja] ドライバディスクの作成の質問
ci5kym です。 opensue13.1 インストール用の ドライバディスクの作成をしたいのですが、 以下のシェルスクリプトの 内容が 今ひとつ理解できないので、 ご教授お願い致します。 対象ドライバは、arecaのraidカードの arcmsrドライバアップデートです。 このモジュールはカーネルツリーにあるのですが、カーネルに組み込まれた バージョン以後に発売になった製品には対応していません。 そこで、対応した新しい arcmsrのソースがメーカーより提供されているのですが、 これを 13.1のインストール痔に 置換えアップデートさせてインストールしたいのです。 以下の スクリプトは、それの準備をしているらしいのですが、 今ひとつ 意味がわかりません。 お分かりのかたがおられたら、これの解説をお願いいたします。 --------------------------- #! /bin/sh # list of updated modules mods="arcmsr" # rebuild InitrdModules info: # - add all modules from $mods that are currently loaded # - put them into the correct order imods=`grep "InitrdModules:" /etc/install.inf | sed -e 's/^InitrdModules://'` imods2=" $imods $mods " # add all modules that are currently loaded for i in `cat /proc/modules | cut -d ' ' -f 1` ; do x="${imods2/ $i / }" if [ "$imods2" != "$x" ] ; then imods2="$x" imods3="$i $imods3" fi done # add all modules that were in InitrdModules but are currently not loaded # (there should be none, but who knows...) for i in $mods ; do imods2="${imods2/ $i / }" done imods3="$imods3 $imods2" imods=`echo $imods3` grep -v "InitrdModules:" /etc/install.inf >/etc/install.tmp if [ "$imods" ] ; then echo "InitrdModules: $imods" >/etc/install.initrd cat /etc/install.initrd /etc/install.tmp > /etc/install.inf rm -f /etc/install.initrd /etc/install.tmp else mv /etc/install.tmp /etc/install.inf fi #SuSE Driver Update Disk Bug cd /update/000 find . |cpio -pdm .. >/dev/null 2>&1 ----------------------------------------------- -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
鎌田@翻訳人です。 誰も返答していないようなので。 今更なお返事で申し訳ありません・・
以下の スクリプトは、それの準備をしているらしいのですが、 今ひとつ 意味がわかりません。 お分かりのかたがおられたら、これの解説をお願いいたします。 (略)
ざっくり書くと、"#SuSE Driver Update Disk Bug" の前までは、インストール メディアから読み込んでRAMディスク上にあるはずの /etc/install.inf の InitrdModules: 以下を書き換える処理です。既に /etc/install.inf に書かれ ているモジュールのほか、ドライバアップデートディスクにあるモジュールと既 に読み込まれているモジュールを InitrdModules: 以下に記載して、インストー ル後のシステムに反映しようとする処理です。 https://ja.opensuse.org/SDB:Linuxrc "#SuSE Driver Update Disk Bug"以降は単純に /update/000 以下 (ドライバ アップデートディスク内) のファイルとディレクトリをコピー(cpio コピーパス モード)しているだけです。 以上です。 -- Yasuhiko Kamata E-mail: belphegor@belbel.or.jp -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
ci5kymです。 鎌田 さん、詳細なご返答ありがとうございます。
メディアから読み込んでRAMディスク上にあるはずの /etc/install.inf の ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ということなんですね。インストーラー起動中に、コンソールを開けば、 この instal.inf が 見えるということでしたか!。 インストールされたHDDの中身のinstall.inf を探しても、見つからないわけです。
おかげさまで、このスクリプトが、インストーラー自身にハードウエアを認識させるためのドライバー情報の読取りの意味だったという事が理解できました。 今回以外のハードウエアの認識であっても、ドライバモジュール名の変更だけで、 あとは、スクリプトそのままを使えばよさそうですね。
"#SuSE Driver Update Disk Bug"以降は単純に /update/000 以下 (ドライバ アップデートディスク内) のファイルとディレクトリをコピー(cpio コピーパス モード)しているだけです。
13.2でしか試していませんが、どうやら、こいつがなくても問題なさそうな事がわかりました。 追申--- いつもドキュメントの和訳ありがとうございます。 -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
participants (2)
-
mlus
-
Yasuhiko Kamata