2014-01-20 6 views
2

아치 리눅스 암 장치에 직렬 포트 드라이버에 usb를 추가하려고합니다. 커널 소스 트리에 이미 FTDI 드라이버 소스 파일이 포함되어 있습니다.FTDI 커널 모듈 컴파일

drivers/usb/serial에는 ftdi_sio.c 및 ftdi_sio.h 파일이 있습니다.

커널/드라이버를 탐색 할 때 어디서나 ftdi_sio.ko 모듈을 찾을 수 없습니다.

어떻게하면 ftdi 커널 모듈을 빌드하고 부팅에 포함 시켜서 아치 리눅스 팔에서 직렬 포트 기능을 사용할 수 있습니까?

+0

이 참조 http://stackoverflow.com/questions/21237632/cross-compile-ftdi-vcp-driver-for-embedded-linux-arm –

+0

'ftdi_sio.ko'는 다음과 같이 컴파일 되었기 때문에 찾을 수 없습니다. 리눅스 커널의 일부. 즉 리눅스의 정적 모듈 부분. – Jeyaram

답변

3

은 당신이 당신의 팔 장치 (배포판의 패키지 관리자에서) 커널 소스 트리가 있다고 가정하면 크로스 컴파일하지 마십시오

make menuconfig 

이동로 : 장치 드라이버 -> USB 지원 -> USB 시리얼 컨버터 지원

그리고 변경 사항을 저장, USB FTDI Single Port Serial Driver

종료에 대한 'M'odule를 선택하고

make M=drivers/usb/serial/ 
make modules_install 
,536 필요하면 insmod usbserial.koinsmod ftdi_sio.ko, 그리고 depmod -a 그들 전원을 껐다 켠 후에로드 가지고 :
+0

감사합니다. 현재 포함 된 드라이버로 uImage에서 부팅하려면 어떻게해야합니까? 모듈을 설치 한 후 uImage를 실행 하시겠습니까? 나는 그 일을 시도했으나 효과가 없었습니다. – user3215598

+0

기본적으로'make modules_install'는 필요한 것을 처리해야합니다. 생성 된 .ko in/lib/modules/kernel-version /과'depmod'를 복사해야합니다. 따라서 현재 실행중인 커널과 동일한 소스로 빌드하면 괜찮습니다. – Mali

+0

내가 실제로 한 것은 크로스 컴파일이다 : ARCH = arm menuconfig, USB FTDI 용 M'odule 선택, M = drivers/usb/serial ARCH = arm CROSS_COMPILE =/home/z3/bin/arm- 인 경우 INSTALL_MOD_PATH = 으로 ARCH = arm CROSS_COMPILE =/home/z3/bin/arm modules_install을 만듭니다. 이제 내가해야 할 일은 uImage에서 다시 부팅하는 것 뿐이야? (다시 컴파일하고 새로운 uImage를 만들 필요가 없습니까?) – user3215598

1

편집의 .config :

make ARCH=arm menuconfig 

만들기 및 설치 모듈 : make modulesmake modules_install

은 잊지 마세요 .