Linux x86 マシンでrtl8192cu ドライバーを ARM マシン用にクロスコンパイルしようとしています。Realtek の Web サイトからドライバーをダウンロードしました。コンパイル ガイドでは、Makefile の編集について次のように言及しています。
$PATH 変数に、モジュールのクロスコンパイルに使用するツールチェーンの場所が含まれていることを確認してください。このディレクトリの場所については、セットアップ手順を参照してください。
KSRC 環境変数を Beagleboard のカーネル ソースの場所に設定します (このディレクトリ パスについては、クロスコンパイル環境のセットアップ手順を参照してください)。
KVER 環境変数をビーグルボードのカーネル バージョンに設定します。
この理由で、私は編集しました:
KVER := 2.6.32
(2.6.32.はBBのカーネルバージョン)
KSRC ?= /home/demetres/linux-2.6.32.61
(コンパイルされたカーネル ソース、BB から取得、保存されているhome/demetres/linux-2.6.32.61
場所)
私の質問は:
Makefile のフィールドで何を編集する必要がありますCROSS_COMPILE:
か? パスを編集しまし/home/demetres/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin
たが
make
、次のエラーで失敗します:
make ARCH=arm CROSS_COMPILE=/home/demetres/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin -C /home/demetres/linux-2.6.32.61 M=/home/demetres/Downloads/rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911 modules
make[1]: /home/demetres/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bingcc: Command not found
make[1]: Entering directory `/home/demetres/linux-2.6.32.61'
CC [M] /home/demetres/Downloads/rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911/core/rtw_cmd.o
/bin/sh: /home/demetres/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bingcc: No such file or directory
make[2]: *** [/home/demetres/Downloads/rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911/core/rtw_cmd.o] Error 1
make[1]: *** [_module_/home/demetres/Downloads/rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911] Error 2
make[1]: Leaving directory `/home/demetres/linux-2.6.32.61'
make: *** [modules] Error 2
情報: x86 マシンのクロスツールチェーンは CodeSourcery からのものです。arm-none-linux-gnueabi-gcc helloworld.c –o helloworld
場所で を実行して、BB 用の helloworld.c をクロスコンパイルしましたCodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin
。