当社の製品ソフトウェアは依然として古いRed Hat(RH)バージョン5.1、2.6.32カーネルを使用しています。 USB 2.0 CDROMを介してソフトウェアをiso CDとしてインストールしました。これまで、ハードウェアにはUSB 2.0ポートしかありませんでした。新しいハードウェアがありますが、USB 3.0ポートのみです。
残念ながら、RH 5/2.6.32はUSB 3(xHCI)USBホストアダプタエミュレーションをサポートしていません。 RH 7以降でのみ使用可能です。
回避策として、カーネルでxhciを有効にし、xhci.ko
モジュールディレクトリを追加し、それinitrd.img
に応じて更新しようとしましたmodule-info
。modules.alias
newを使用してisoを生成しましたが、インストールログ(xhciのロードなど)に違いはありません。modules.dep
pci.ids
initrd.img
init
私はモジュールをロードする人が2人であることを知り、「言葉通りに」/sbin/loader
変更する必要があることに気づきましたinsmod xhci.ko
。残念ながら、これらのファイルはELFファイルであり、他の人がWeb検索で言及したスクリプトファイルではありません。
さらに詳しく調べたところ、そのソースファイルがアナコンダインストーラで見つかることがわかりました。このアナコンダインストーラのソースはどこにも見つかりません。
2つの質問があります。
古いカーネル/ディストリビューションを使用している人はどのように新しいハードウェアをサポートし続けることができますか? ELFファイルです
initrd.img
。これらの初期化/ローダーファイルを変更せずに新しいドライバモジュールをロードする方法はありますか?init
/sbin/loader
Anacondaのソースを修正するのは唯一のオプションですか?ソースはどこで見つけることができますか?
ベストアンサー1
最新のカーネルバージョンのカーネルモジュールを古いカーネルを使用しているシステムにコピーすることはできません。時々、最新のカーネルで古いドライバモジュールを使用することができます(特定の制限があります)、その逆は不可能です。
USB 3サポートの欠如は、直面する最初の問題です。既存の5.1カーネルが新しいハードウェアのストレージコントローラでさえサポートしていないため、RHEL 5.1インストーラはそれをサポートできない可能性があります。インストールするディスクをすべてインストールしてください。
- 古いカーネル/ディストリビューションを使用している人はどのように新しいハードウェアをサポートし続けることができますか?
仮想化
物理ハードウェアをサポートするオペレーティングシステムのバージョンをインストールし、USB 2コントローラ、ストレージコントローラ、仮想CDROMドライブなど、以前のハードウェアのエミュレートされたバージョンを提供する仮想化レイヤをインストールします。次に、以前のバージョンのオペレーティングシステムを仮想マシンにインストールします。
もちろん、仮想化にはわずかなオーバーヘッドがありますが、11年のOSを実行するため、最新のハードウェアは11年前のすべての作業をベアメタルでRHEL 5.1を使用して引き続き使用できるように、より良いパフォーマンスを提供する必要があります。
本番ソフトウェアに RHEL 5.1 が明示的に要求されない限りただ代わりにRHEL 5.11を試してください。 RedHatは、5.xライフサイクル全体にわたってユーザースペースABIを確実に維持します。これがエンタープライズLinuxディストリビューションの中核です。本番ソフトウェアにカスタムカーネルモジュールが含まれていない限り、より高いマイナーバージョンへのアップグレードに問題はありません。
5.1から5.11にアップグレードすると、7年間のセキュリティやその他のバグ修正が提供されます。
本番ソフトウェアにインターネットアクセスが必要な場合、5.11を使用することは情報セキュリティの面で十分に悪いです。現在の運用用に新しいRHEL 5.1を明示的にインストールすることは無責任です。
- Anacondaのソースを修正するのは唯一のオプションですか?ソースはどこで見つけることができますか?
起動オプションを使用してインストーラを起動すると、dd
「ドライバディスク」の入力を求められます。フロッピーディスク、CD、または追加のドライバモジュールを含む他のサポートされているメディアです。その後、Anacondaインストーラは自動的に追加のモジュールをロードし、それをインストールの一部として使用します。