web-dev-qa-db-ja.com

anacondaインストール用のドライバーディスクを作成する方法(CentOS 6)

Anaconda用のドライバーディスクを作成する必要があります。このディスクには、やや最近のラップトップのネットワークカード用の更新されたモジュールが含まれ、CentOS 6.2のネットワークインストールを機能させることを目標としています。 cobblerを使用しているため、キックスタートファイル自体もネットワーク上にあります。インストールが完全に無人でなくてもかまいませんし、インストール中にUSBスティックをドライバーディスクイメージに貼り付けて正しい項目を手動で選択してもかまいませんが、他のすべてをネットワーク(カーネルイメージ、initrd、キックスタートファイル、RPMリポジトリ)。

私はすでに更新されたドライバーをビルドしており、/ usr/lib/rpm/redhat/kmodtoolの助けを借りてビルドされた「kmod」RPMさえ持っています。残念ながら、ドライバーディスクがどのようなものかについてのドキュメントはまったく見つかりませんでした。

http://www.phil.muni.cz/~letty/linuxfaq/pracovni/driver-disk-howto は私が見つけた唯一のリンクであり、同じことをした誰かの闘争を説明しています私がしたこと-ドライバーディスクをダウンロードしてそれらを探そうとしました。残念ながら、CentOS 6のフォーマットは変更されたようで、anacondaに「ドライバーディスクはこのCentOSのリリースでは無効です。ログ自体に「/ tmp/drivers/rpms/x86_64/repodataが見つかりません」と表示され、これまで「repodata」が含まれているドライバーディスクを見たことがありません。

現在 anacondaソースコード に飛び込んでいますが、誰かが私を正しい方向に向けてくれることを願っています。

5
chutz

結局のところ、私の答えは anacondaのソース で見つかるかもしれません。

CentOS 6互換のドライバーディスクを生成するには、次のレイアウトでsquashfsイメージを作成できます(他のファイルシステムも機能する可能性がありますが、squashfsを作成するのがはるかに簡単です)。

  • rhdd3-ディスクを説明するための簡単な1行のコメントを含むファイル
  • .rundepmod-このファイルの存在は、モジュールを取得するためにdepmodを実行する必要があることをインストーラーに通知します
  • rpms/x86_64-kmodRPMを含むオプションのyumリポジトリ
  • lib/modules/2.6.32-220.el6.x86_64/...-実際のカーネルモジュールはここに移動します。ドライバディスクにアップストリームドライバの更新されたドライバが含まれている場合、ここのディレクトリ構造はアップストリームカーネルモジュールの場所と一致する必要があります。もちろん、カーネルのバージョンはインストーラーのバージョンと一致している必要があります。

そして、写真は千の言葉に値するので、更新されたatl1c.koドライバーを必要とする最近のラップトップをキックスタートするために使用するサンプルドライバーディスクは次のとおりです。

$ unsquashfs -ls driver-disk.dd 
Parallel unsquashfs: Using 2 processors
8 inodes (26 blocks) to write

squashfs-root
squashfs-root/.rundepmod
squashfs-root/lib
squashfs-root/lib/modules
squashfs-root/lib/modules/2.6.32-220.el6.x86_64
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/kernel
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/kernel/drivers
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/net
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/net/atl1c
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/net/atl1c/atl1c.ko
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/updates
squashfs-root/rhdd3
squashfs-root/rpms
squashfs-root/rpms/x86_64
squashfs-root/rpms/x86_64/kmod-compat-wireless-3.3_2_n-2.el6.x86_64.rpm
squashfs-root/rpms/x86_64/repodata
squashfs-root/rpms/x86_64/repodata/filelists.xml.gz
squashfs-root/rpms/x86_64/repodata/other.xml.gz
squashfs-root/rpms/x86_64/repodata/primary.xml.gz
squashfs-root/rpms/x86_64/repodata/repomd.xml
7
chutz

Centos 7.4のドライバーディスクを作成する方法の説明を検索したところ、これが見つかりました。私の場合、HPマイクロサーバーにインストールするためのRAIDドライバーが必要でした。この場合、内蔵ディスクだけがRAIDの一部です。

私は古いデバイスドライバーディスク(実際にはUSBキー)から始めました。このディスクには(他のいくつかのファイルの中で)次のフォルダーがありました。

/rpms/x86_64/
/rpms/x86_64/repodata/

次のプロセスは私にとってはうまくいったようです:

  1. USBキーの/rpms/x86_64/フォルダの内容を削除します
  2. 正しい/最新のドライバーをRPMファイルとしてダウンロードします
  3. このRPMを独自のフォルダーに移動します
  4. createrepoパッケージがインストールされていることを確認します
  5. 次のコマンドを実行します。ここで、your_folderはRPMが見つかる場所です。

    createrepo your_folder/

  6. これにより、your_folderrepodataフォルダーが作成されたことを確認します

  7. your_folderの内容をUSBキーの/rpms/x86_64にコピーします

これはOPに直接対処するものではありませんが、CentOSインストール用のデバイスドライバーディスクを作成する方法を検討するときに、このページに出くわした他の誰かにとって役立つ場合があります。

0
Charlie Joynt