FriendlyARM mini210용 Netis WF2190 Wifi 동글용 Linux 드라이버를 컴파일하는 방법은 무엇입니까?

FriendlyARM mini210용 Netis WF2190 Wifi 동글용 Linux 드라이버를 컴파일하는 방법은 무엇입니까?

표적

내 FriendlyARM mini210에 Netis WF2190 Wi-Fi 동글 Linux 드라이버를 설치하고 싶습니다.

환경

크로스 컴파일이 필요하다는 걸 알아요Netis WF2190 Linux 드라이버

크로스 컴파일(vagrant box)을 위해 가상 머신을 사용하고 있습니다.

$ uname -a
Linux vagrant 3.11.0-15-generic #25~precise1-Ubuntu SMP Thu Jan 30 17:39:31 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

드라이버를 다운로드하여 가상 머신에 복사했습니다.

vagrant@vagrant:~/rtl8812AU_linux_v4.3.8_12175.20140902$ 

드라이버에서 Makefile나는 이것을 추가했습니다

CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_FRIENDLYARM_MINI210S = y     <==== 

그런 다음

ifeq ($(CONFIG_PLATFORM_FRIENDLYARM_MINI210S), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
ARCH := arm
CROSS_COMPILE := /home/vagrant/friendlyarm/tools/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-
KVER  := 3.0.8
KSRC := /home/vagrant/friendlyarm/linux-3.0.8/kernel
endif

그런 다음 컴파일을 시도했지만 이 오류가 발생했습니다.

vagrant@vagrant:~/rtl8812AU_linux_v4.3.8_12175.20140902$ make
make ARCH=arm CROSS_COMPILE=/home/vagrant/robot-os/friendlyarm/tools/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi- -C /home/vagrant/robot-os/friendlyarm/linux-3.0.8/kernel  M=/home/vagrant/rtl8812AU_linux_v4.3.8_12175.20140902  modules
make[1]: Entering directory `/home/vagrant/robot-os/friendlyarm/linux-3.0.8/kernel'
make[1]: *** No rule to make target `modules'.  Stop.
make[1]: Leaving directory `/home/vagrant/robot-os/friendlyarm/linux-3.0.8/kernel'
make: *** [modules] Error 2

나는 전문가가 아니며 목표를 달성하는 방법을 배우려고 노력하고 있다는 점은 주목할 가치가 있습니다.

이 단계에서는 메시지가 나에게 말하는 내용과 해결 방법을 이해하지 못합니다.

어떤 도움이라도 대단히 감사하겠습니다.

답변1

커널 소스 코드 경로가 잘못되었습니다. 다음과 같이 수정했습니다.

KSRC := /home/vagrant/friendlyarm/linux-3.0.8/

그것은 컴파일

답변2

드라이버 Makefile에 다음을 추가했습니다.

이것은 이 문제를 해결하는 방법이 아닙니다. 바라보다여기-- 아마도 3단계로 건너뛸 수 있습니다.

그런 다음 컴파일하려고 하는데 이 오류가 발생합니다.

잘라서 붙여넣은 것으로 판단하면 make이전에 이것을 실행했지만 make modules아무 일도 일어나지 않았습니다. 그 좋지 않다. make모듈을 만드는 데 필요할 수도 있고 필요하지 않을 수도 있는 커널을 실제로 빌드해야 합니다.~해야 한다, 그러나 때로는 그렇게 보입니다). 이 작업은 최소한 몇 분 정도 소요되며 많은 출력을 생성해야 합니다. 만약 그런 일이 일어나지 않는다면 뭔가 크게 잘못된 것입니다.

나는 crosstool-ng를 통해 gcc로 커널을 크로스 빌드했으며 이를 설정해야 합니다 TARGET. 이 작업을 수행하지 않는 것 같습니다(그러나 배포 크로스 컴파일러는 다를 수 있음). 그러나 커널 makefile을 수정하여 이러한 사항을 설정하는 것은 실수일 수 있습니다. 다음 환경에서 실행해 보세요.

export TARGET=arm-none-linux-gnueabi
export ARCH=arm
export CROSS_COMPILE=/foo/bar/etc

텍스트 파일에 넣고 source my_environment.shmake()를 실행하기 전에 가져옵니다.

관련 정보