2015-01-21 4 views
1

저는 Freescale QorIQ SDK 1.7을 사용하고 있습니다. 커널 게이지 'make menuconfig'를 수정하여 USB 가제트 드라이버를 모듈로 포함하고 가제트 제로 또는 직렬 가젯을 모듈로 포함 시켰습니다.USB 가젯 커널 모듈을 yocto를 사용하여 rootfs에 배포

또한 커널에 net2280 주변 장치를 직접 컴파일하고 PCI 장치에로드하고 바인딩하는 데는 문제가 없습니다. 내가 bitbake를 실행 한 후

는 신축 rootfs는 새로 건설 가제트 모듈을 포함하지 않습니다 아직 나는 .ko 파일이 내장되어 볼 수 있습니다

$ find -name g_zero.ko 
./tmp/work/t1040rdb-fsl-linux/linux-qoriq/3.12-r0/git/drivers/usb/gadget/g_zero.ko 
./tmp/work/t1040rdb-fsl-linux/linux-qoriq/3.12-r0/image/lib/modules/3.12.19-rt30-QorIQ-SDK-V1.7+g6619b8b/kernel/drivers/usb/gadget/g_zero.ko 

을하지만 이미지에서 볼 때 나는 아무것도 얻을 . 내가 검색에서 발견

$ tar -tzvf tmp/deploy/images/t1040rdb/fsl-image-core-t1040rdb.tar.gz | grep g_zero 

한 가지 .config 필요가 meta-fsl-arm/recipies-kernel/linux/에 복사 할 수 있음이 제시 한 것입니다. 불행하게도 나는 meta-fsl-ppc을 사용하고 있으며 커널 설정을 위해 완전히 다른 계획을 사용하는 것으로 보인다. 먼저

은 다음과 같습니다 meta-fsl-ppc/conf/machine/machine.conf에 정의 된 변수가 :

KERNEL_DEFCONFIG ?= "${S}/arch/powerpc/configs/corenet32_fmanv3_smp_defconfig" 

내 생각은 어쩌면 내가 그 파일을 덮어 쓸 필요가 있었다. 그러나 나는 ${S}인데 실제로는을 가리키며 혼란 스럽다. 내 나무에 아무것도 일치하지

$ bitbake -e | grep KERNEL_DEFCONFIG 
KERNEL_DEFCONFIG="/home/jaket/QorIQ-SDK-V1.7-20141218-yocto/build_t1040rdb_release/tmp/work/ppce5500-fsl-linux/defaultpkgname/1.0-r0/defaultpkgname-1.0/arch/powerpc/configs/corenet32_fmanv3_smp_defconfig" 

:

$ find -name corenet32_fmanv3_smp_defconfig 
./tmp/sysroots/t1040rdb/usr/src/kernel/arch/powerpc/configs/corenet32_fmanv3_smp_defconfig 
./tmp/work/t1040rdb-fsl-linux/linux-qoriq/3.12-r0/sysroot-destdir/usr/src/kernel/arch/powerpc/configs/corenet32_fmanv3_smp_defconfig 
./tmp/work/t1040rdb-fsl-linux/linux-qoriq/3.12-r0/package/usr/src/kernel/arch/powerpc/configs/corenet32_fmanv3_smp_defconfig 
./tmp/work/t1040rdb-fsl-linux/linux-qoriq/3.12-r0/git/arch/powerpc/configs/corenet32_fmanv3_smp_defconfig 
./tmp/work/t1040rdb-fsl-linux/linux-qoriq/3.12-r0/image/usr/src/kernel/arch/powerpc/configs/corenet32_fmanv3_smp_defconfig 
./tmp/work/t1040rdb-fsl-linux/linux-qoriq/3.12-r0/packages-split/kernel-dev/usr/src/kernel/arch/powerpc/configs/corenet32_fmanv3_smp_defconfig 

그래서 내 질문을 추측입니다 :로드 가능한 모듈이 커널에 구성되어있는 경우이며,이 모듈이 마술에 그것의 방법을 찾을 수있을 것으로 기대 rootfs 또는 거기에 더 이상 무엇입니까?

+0

모든 패키지가 저장된 디렉토리를 살펴볼 것입니다. 커널 모듈을 빌드한다고해서 기본 Yocto가 설치 되어도된다는 뜻은 아니며 Freescale 레이어에 익숙하지 않습니다. 기본 Yocto를 사용하면 모든 커널 모듈이 자체 패키지로 압축되어 이미지에 넣고 싶은 모든 단일 커널 모듈에 대해 패키지를 설치해야합니다. – volker

답변

0

kernel 빌드 디렉토리의 image/디렉토리 (커널이 "make install"을 수행하는 곳)에서 .ko를 찾았지만 packages-split가 아니라는 사실은 커널 모듈이 실제로 패키지되지 않았 음을 의미합니다. 설치되지 않은 이유를보기 위해 설치 한 경로를 확인한 다음, 커널 모듈이 개별적으로 패키지화 될 때 rootfs에 끝나는 패키지를 추가하는 것이 좋습니다.