Linux Can';t为AWUS036ACH制作驱动程序

Linux Can';t为AWUS036ACH制作驱动程序,linux,openwrt,Linux,Openwrt,我有一个Raspberry Pi 4,我需要创建一个支持AWUS036ACH的基于openwrt的系统的映像。 我已完成以下步骤: 为buildroot工具创建了自己的包,其makefile包含一个“Build/Compile”部分: 我从下载了驱动程序源,并对其Makefile进行了更改: 但是,当我开始构建系统时,会出现一个错误: make -j1 -C "/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/

我有一个Raspberry Pi 4,我需要创建一个支持AWUS036ACH的基于openwrt的系统的映像。
我已完成以下步骤:

  • 为buildroot工具创建了自己的包,其makefile包含一个“Build/Compile”部分:
  • 我从下载了驱动程序源,并对其Makefile进行了更改:
  • 但是,当我开始构建系统时,会出现一个错误:

    make -j1 -C "/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0" CC="aarch64-openwrt-linux-musl-gcc" KERNEL_SOURCE="/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/linux-5.4.31" TARGET_CFLAGS="-Os -pipe -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -ffile-prefix-map=/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0=Alfa-WiFi-1.0 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro" TARGET_LDFLAGS="-L/home/aleks/openwrt/source/staging_dir/target-aarch64_cortex-a72_musl/usr/lib -L/home/aleks/openwrt/source/staging_dir/target-aarch64_cortex-a72_musl/lib -L/home/aleks/openwrt/source/staging_dir/toolchain-aarch64_cortex-a72_gcc-8.4.0_musl/usr/lib -L/home/aleks/openwrt/source/staging_dir/toolchain-aarch64_cortex-a72_gcc-8.4.0_musl/lib -znow -zrelro" M="/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0"
    make[4]: Entering directory '/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0'
    make ARCH=arm64 CC=aarch64-openwrt-linux-musl-gcc CROSS_COMPILE= -C /home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/linux-5.4.31 M=/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0 LDFLAGS="-L/home/aleks/openwrt/source/staging_dir/target-aarch64_cortex-a72_musl/usr/lib -L/home/aleks/openwrt/source/staging_dir/target-aarch64_cortex-a72_musl/lib -L/home/aleks/openwrt/source/staging_dir/toolchain-aarch64_cortex-a72_gcc-8.4.0_musl/usr/lib -L/home/aleks/openwrt/source/staging_dir/toolchain-aarch64_cortex-a72_gcc-8.4.0_musl/lib -znow -zrelro" CFLAGS="-Os -pipe -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -ffile-prefix-map=/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0=Alfa-WiFi-1.0 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro" modules
    make[5]: Entering directory '/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/linux-5.4.31'
    arch/arm64/Makefile:27: ld does not support --fix-cortex-a53-843419; kernel may be susceptible to erratum
      CC [M]  /home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0/core/rtw_cmd.o
      CC [M]  /home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0/core/rtw_security.o
    ....
    ....
      CC [M]  /home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0/core/rtw_mp.o
      LD [M]  /home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0/88XXau.o
    ld: unrecognised emulation mode: aarch64linux
    Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om i386pep i386pe
    scripts/Makefile.build:437: recipe for target '/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0/88XXau.o' failed
    

    请帮帮我

    看起来您正在使用主机工具链(至少是ld)。 您的交叉编译选项为空

    你看了吗

    我删除了“buildroot”标记,因为问题是关于OpenWRT的,而不是关于buildroot的。OpenWRT是10多年前从Buildroot派生出来的,现在完全不同了。
    modules:
            $(MAKE) ARCH=$(ARCH) CC=$(CC) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KERNEL_SOURCE) M=$(M) LDFLAGS="$(TARGET_LDFLAGS)" CFLAGS="$(TARGET_CFLAGS)" modules
            @echo "---------------------------------------------------------------------------"
            @echo "Visit https://github.com/aircrack-ng/rtl8812au for support/reporting issues"
            @echo "or check for newer versions (branches) of these drivers.                   "
            @echo "---------------------------------------------------------------------------"
    
    make -j1 -C "/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0" CC="aarch64-openwrt-linux-musl-gcc" KERNEL_SOURCE="/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/linux-5.4.31" TARGET_CFLAGS="-Os -pipe -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -ffile-prefix-map=/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0=Alfa-WiFi-1.0 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro" TARGET_LDFLAGS="-L/home/aleks/openwrt/source/staging_dir/target-aarch64_cortex-a72_musl/usr/lib -L/home/aleks/openwrt/source/staging_dir/target-aarch64_cortex-a72_musl/lib -L/home/aleks/openwrt/source/staging_dir/toolchain-aarch64_cortex-a72_gcc-8.4.0_musl/usr/lib -L/home/aleks/openwrt/source/staging_dir/toolchain-aarch64_cortex-a72_gcc-8.4.0_musl/lib -znow -zrelro" M="/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0"
    make[4]: Entering directory '/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0'
    make ARCH=arm64 CC=aarch64-openwrt-linux-musl-gcc CROSS_COMPILE= -C /home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/linux-5.4.31 M=/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0 LDFLAGS="-L/home/aleks/openwrt/source/staging_dir/target-aarch64_cortex-a72_musl/usr/lib -L/home/aleks/openwrt/source/staging_dir/target-aarch64_cortex-a72_musl/lib -L/home/aleks/openwrt/source/staging_dir/toolchain-aarch64_cortex-a72_gcc-8.4.0_musl/usr/lib -L/home/aleks/openwrt/source/staging_dir/toolchain-aarch64_cortex-a72_gcc-8.4.0_musl/lib -znow -zrelro" CFLAGS="-Os -pipe -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -ffile-prefix-map=/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0=Alfa-WiFi-1.0 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro" modules
    make[5]: Entering directory '/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/linux-5.4.31'
    arch/arm64/Makefile:27: ld does not support --fix-cortex-a53-843419; kernel may be susceptible to erratum
      CC [M]  /home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0/core/rtw_cmd.o
      CC [M]  /home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0/core/rtw_security.o
    ....
    ....
      CC [M]  /home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0/core/rtw_mp.o
      LD [M]  /home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0/88XXau.o
    ld: unrecognised emulation mode: aarch64linux
    Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om i386pep i386pe
    scripts/Makefile.build:437: recipe for target '/home/aleks/openwrt/source/build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/Alfa-WiFi-1.0/88XXau.o' failed