最もユーザーフレンドリーな方法で議論

最もユーザーフレンドリーな方法で議論

カーネルモジュールがあり、それを配布(パッケージなど)したいと思います。

ユーザーが他の作業を実行する必要がないように展開したいと思いますyum/dnf install kmod-mymodule

  • SRPM:ユーザーは自分のコンピュータにRPMを構築してからRPMをインストールする必要があります。 yumリポジトリに入れることができません
  • RPM:RHELのすべてのメジャーバージョンとマイナーバージョンに対してRPMを構築する必要があります。
  • DKMS:解決策かもしれませんが、ユーザーはdkmsの使い方を知っていると思いますが、それほど透明ではありません。

yum install kmod-mymoduleユーザーが特定のシステム用のモジュールをコンパイルするだけで、カーネルモジュールを簡単に配布する方法はありますか?

流通に関係のない解決策があれば、皆に耳を傾けます!

ベストアンサー1

最もユーザーフレンドリーな方法で議論

RPM:RHELのすべてのメジャーバージョンとマイナーバージョンに対してRPMを構築する必要があります。

しかし、顧客の観点から見ると、おそらく正しいアプローチです。シングルパッケージ、クリーン、即時、依存関係がなく、インストールされます。

6 ~ 12 のバージョンをすべて同じ SRPM で処理する必要がある場合があります。このSRPMを自分のプロジェクトにアップロードできます。モジュールを構築するのに必要な電力コストは、IBMが支払うようにするか、実行するシェルスクリプトでループを設定できますfor config in /etc/mock/rhel+epel-{7,8,9}-{x86_64,aarch64}.cfg ; do mock --rebuild ${your SRPM here} -r ${config} ; done (他のRHELマイナーバージョンを提供するには、/ etc / mockでテンプレートを少し調整する必要があるかもしれません)。

または、偽装を使用して隔離されたビルド環境を設定する代わりに、独自のコンテナ、仮想マシン、またはオンサイトで利用可能なすべての項目に設定できます。

目標RPMを自動的に構築します。

あなたは使いたいでしょうアークモズ、カーネルを更新して初めてインストールするたびに、バイナリカーネルモジュールRPMが自動的に再構築されるようにします。

これにより、ユーザーはカーネルと共に自動的に更新されるカーネルヘッダパッケージに依存するakmodパッケージをインストールする以外に何もする必要はありません。また、必要なビルドツール(Cコンパイラなど)によっても異なります。

rpmフュージョンカーネルモジュールをakmodにパッケージ化もう少し詳しく(少し)。結局のところ、akmodはkmod RPMを自動的に構築する方法です。

実際のケースを見てみるのが最善です。このv4l2loopback-kmodパッケージには、Linuxカーネルのv4l2カメラインフラストラクチャにビデオループバック機能を追加するサードパーティのカーネルモジュールが含まれています。残りのパッケージングファイルと一緒に仕様を見つけることができます。ここ

おすすめ記事