1

Freescale QorIQ SDK 1.7 を使用しています。カーネル構成 'make menuconfig' を変更して、USB ガジェット ドライバーをモジュールとして組み込み、ガジェット ゼロまたはシリアル ガジェットをモジュールとして組み込みました。

また、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検索で見つけた 1 つのことは、にコピーする必要があることが示唆されたこと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 への道を見つけると予想されますか、それともそれ以上のものがありますか?

4

1 に答える 1

0

カーネル ビルド ディレクトリの image/ ディレクトリ (カーネルが「make install」する場所) に .ko があり、packages-split にはないという事実は、カーネル モジュールが実際にはパッケージ化されていないことを意味します。インストール先のパスをチェックしてパッケージ化されない理由を確認し、カーネル モジュールが個別にパッケージ化されるときに最終的に rootfs にパッケージを追加します。

于 2015-01-21T21:38:44.683 に答える