ドライバー編集Redhat
-
22-07-2019 - |
質問
Linux用のドライバーをコンパイルするのはまったく初めてで、いくつかの問題が発生しました!
USBデバイス用のドライバーをコンパイルしようとしています。
結果:
[thayoz@lacalpc13 linux]$ make
for i in driver lib qrng ; do cd $i && (make all || exit ) && cd ..; done
make[1]: Entering directory /home/thayoz/Desktop/untitled folder/Quantis-USB/src/linux/driver'
make -C /usr/src/kernels/ M=/home/thayoz/Desktop/untitled folder/Quantis-USB/src/linux/driver V=1 modules
make[2]: Entering directory
/usr/src/kernels'
make[2]: * No rule to make target folder/Quantis-USB/src/linux/driver'. Stop.
make[2]: Leaving directory
/usr/src/kernels'
make[1]: * [all] Error 2
make[1]: Leaving directory `/home/thayoz/Desktop/untitled folder/Quantis-USB/src/linux/driver'
/bin/sh: line 0: cd: lib: No such file or directory
/bin/sh: line 0: cd: qrng: No such file or directory
make: *** [all] Error 1
何が間違っているのかわかりません???
解決
通常、次のようなものです:
make -C <directory to kernel source> M=<directory to module/driver source> modules
make -C <directory to kernel source> M=<directory to module/driver source> modules_install
十分です。
ドライバにはメイクファイルが付属していましたか?適切なカーネルソース、たとえば正しいバージョンに対してコンパイルしていますか?
他のヒント
ビルドディレクトリへのパスのスペースが問題の原因であると思われます。
/ home / thayoz / Desktop / untitled folder / Quantis-USB ...
「無題フォルダ」のスペースに注意してください。
makeはモジュールディレクトリを次のように取っているようです:
/ home / thayoz / Desktop / untitled
そして:
folder / Quantis-USB / src / linux / driver
追加の引数としてmakeに渡されます(おそらくビルドされるターゲット)。
「/ home / thayoz / Desktop / untitled folder」の名前を「/ home / thayoz / Desktop / untitledfolder」に変更して、何が起こるかを確認してください。
GNUビルドシステムを使用してパッケージ化されたソフトウェアをビルドする一般的な手順についての私の理解は次のとおりです。
- .configureスクリプトを実行します。このスクリプトは、システム上のビルド環境をチェックし、必要なすべての実行可能ファイル、ライブラリなどが使用可能であることを確認し、機能するMakefileを作成します。
- makeを実行します。これは、ステップ1で生成されたMakefileを使用してバイナリをビルドします。
- make installを実行します。これにより、バイナリがシステム上の正しい場所にインストールされます。
ドライバーパッケージに付属の.configureスクリプトを実行しましたか?
所属していません StackOverflow