ARM 리눅스 용 커널 모듈을 크로스 컴파일하는 방법을 모색 중입니다. 툴체인을 설치했습니다. 하지만 다양한 방법으로 얻지 못하는 것이 있습니다. 빌드하고자하는 모듈은 gadgetfs
입니다.크로스 컴파일 리눅스 커널 모듈
내 호스트의 커널 버전이 3.5.0-34-generic
인 대상에 동안의 3.6.9-0.1
이제 커널 소스 또는 헤더가 실제로 어디에서 다운로드하여 설치하고,해야 할 일을? kernel.org
에서 linux-3.6.9.tar.bz2
을 다운로드하고 추출했습니다. drivers/usb/gadget/
에서 는 Makefile
나는 그것에이 라인을 추가 할 필요가이 사이트에 따르면, 다음 실행 make
있다 :
KDIR := /lib/modules/`uname -r`/build
PWD := `pwd`
obj-m := dummy_hcd.o gadgetfs.o
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
하지만 난과 함께 uname -r
대체 무엇을해야합니까? 왜냐하면 내 호스트의 커널 버전을 줄 것이기 때문입니다. 하지만 내 목표 버전이 다릅니다. /lib/modules/3.6.9
폴더는 어디에 있습니까? CROSS_COMPILE
및 ARCH
이 모두 설정됩니다.