差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン | |||
| linux:fedora:driver_rebuild_after_kernel_updated [2024/02/04 13:35] – 削除 - 外部編集 (Unknown date) 非ログインユーザー | linux:fedora:driver_rebuild_after_kernel_updated [2024/02/04 13:35] (現在) – ↷ linux:fedora_driver_rebuild_after_kernel_updated から linux:fedora:driver_rebuild_after_kernel_updated へページの移動と名称変更しました。 ともやん | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | ====== カーネルアップデート後の RocketRAID 1740 ドライバ リビルドメモ ====== | ||
| + | [[http:// | ||
| + | \\ | ||
| + | 参考文献: | ||
| + | [[https:// | ||
| + | ===== インストール用のシェルスクリプト修正 ===== | ||
| + | 注意: 以下は Open Source driver v2.2-090407-1348 に関する情報です。\\ | ||
| + | \\ | ||
| + | インストール用のシェルスクリプトは、RocketRAID 1740, 2310 兼用のものとして作成されているようであるが、修正漏れが存在している。\\ | ||
| + | これを修正せずに make install を行うと、initrd に sata_mv が含まれてしまうため、新しいカーネルでブートすると sata_mv がロードされてしまい、RAID Array が認識できないというトラブルに見舞われる。\\ | ||
| + | RocketRAID 1740 上に Linux をインストールしている場合は、起動の途中で RAID Array を認識できないため、結果としてブートできない状況となる。\\ | ||
| + | \\ | ||
| + | インストール用のシェルスクリプトの以下の部分を修正する。(34行目と同じになるように修正)\\ | ||
| + | \\ | ||
| + | rr174x-linux-src-v2.2/ | ||
| + | [修正前] | ||
| + | <code bash> | ||
| + | 54: if [ " | ||
| + | </ | ||
| + | [修正後] | ||
| + | <code bash> | ||
| + | 54: if [ " | ||
| + | " | ||
| + | </ | ||
| + | |||
| + | ===== ドライバのリビルドとインストール ===== | ||
| + | ビルドディレクトリに移動する。\\ | ||
| + | < | ||
| + | # cd rr174x-linux-src-v2.2/ | ||
| + | </ | ||
| + | make install コマンドに KERNELDIR オプションを指定して実行する。\\ | ||
| + | ※ KERNELDIR には新しいカーネルのソースディレクトリを指定する。 | ||
| + | < | ||
| + | # make install KERNELDIR=/ | ||
| + | make[1]: ディレクトリ `/ | ||
| + | CC [M] / | ||
| + | CC [M] / | ||
| + | CC [M] / | ||
| + | CC [M] / | ||
| + | CC [M] / | ||
| + | LD [M] / | ||
| + | Building modules, stage 2. | ||
| + | MODPOST 1 modules | ||
| + | WARNING: could not find / | ||
| + | .him_rr1740pm.o.cmd for / | ||
| + | him_rr1740pm.o | ||
| + | CC / | ||
| + | LD [M] / | ||
| + | make[1]: ディレクトリ `/ | ||
| + | You made a module for 2.6.29.6-213.fc11.x86_64 which does not match current kernel. | ||
| + | The driver will be installed for kernel 2.6.29.6-213.fc11.x86_64. | ||
| + | Deleting previous installed driver module rr174x... | ||
| + | Install the new driver module... | ||
| + | Removing conflicted driver module... | ||
| + | Updating module dependencies...Done. | ||
| + | Checking for initrd images to be updated... | ||
| + | Backup / | ||
| + | x86_64.img.rr174x. | ||
| + | </ | ||
| + | 上記のように無事終了したら、リブートを行い新しいカーネルで起動することを確認する。 | ||
| + | |||
| + | ===== Kernel 2.6.29 -> 2.6.30 へ移行時のビルドエラー修正 ===== | ||
| + | 以下の内容について私は如何なる保証もしない。修正する場合は自己の責任において利用すること。\\ | ||
| + | 因みに以下の修正で動作することは確認済みである。\\ | ||
| + | |||
| + | - osm_linux.h: | ||
| + | |||
| + | #ifndef IRQ_HANDLED | ||
| + | typedef void irqreturn_t; | ||
| + | #define IRQ_NONE | ||
| + | #define IRQ_HANDLED | ||
| + | #define IRQ_RETVAL(x) | ||
| + | #endif | ||
| + | |||
| + | </ | ||
| + | /* comment out by tomoyan | ||
| + | #ifndef IRQ_HANDLED | ||
| + | typedef void irqreturn_t; | ||
| + | #define IRQ_NONE | ||
| + | #define IRQ_HANDLED | ||
| + | #define IRQ_RETVAL(x) | ||
| + | #endif | ||
| + | */ | ||
| + | </ | ||
| + | - osm_linux.c: | ||
| + | SCpnt-> | ||
| + | </ | ||
| + | SCpnt-> | ||
| + | </ | ||
| + | - osm_linux.c: | ||
| + | SCpnt-> | ||
| + | </ | ||
| + | SCpnt-> | ||
| + | </ | ||
| + | - osm_linux.c: | ||
| + | SCpnt-> | ||
| + | </ | ||
| + | SCpnt-> | ||
| + | </ | ||
| + | - 無事ビルドが通ることを確認する。\\ < | ||
| + | # make install KERNELDIR=/ | ||
| + | make[1]: ディレクトリ `/ | ||
| + | CC [M] / | ||
| + | CC [M] / | ||
| + | CC [M] / | ||
| + | CC [M] / | ||
| + | CC [M] / | ||
| + | LD [M] / | ||
| + | Building modules, stage 2. | ||
| + | MODPOST 1 modules | ||
| + | WARNING: could not find / | ||
| + | / | ||
| + | LD [M] / | ||
| + | make[1]: ディレクトリ `/ | ||
| + | You made a module for 2.6.30.8-64.fc11.x86_64 which does not match current kernel. | ||
| + | The driver will be installed for kernel 2.6.30.8-64.fc11.x86_64. | ||
| + | Deleting previous installed driver module rr174x... | ||
| + | Install the new driver module... | ||
| + | Removing conflicted driver module... | ||
| + | Updating module dependencies...Done. | ||
| + | Checking for initrd images to be updated... | ||
| + | </ | ||
| + | 参考文献: | ||
| + | [[http:// | ||
| + | linux/ | ||
| + | scsi/ | ||
| + | [[http:// | ||