diff --git a/project/build.sh b/project/build.sh index 3f87c73bc5..e2cb74082a 100755 --- a/project/build.sh +++ b/project/build.sh @@ -1531,6 +1531,11 @@ EOF chmod a+x $RK_PROJECT_FILE_ROOTFS_SCRIPT cp -f $RK_PROJECT_FILE_ROOTFS_SCRIPT $RK_PROJECT_PACKAGE_ROOTFS_DIR/etc/init.d fi + + echo "Copying kernel modules into the right place" + __COPY_FILES $SDK_SYSDRV_DIR/source/objs_kernel/drv_ko/lib $RK_PROJECT_PACKAGE_ROOTFS_DIR/lib + rm -f $RK_PROJECT_PACKAGE_ROOTFS_DIR/lib/modules/*/build + rm -f $RK_PROJECT_PACKAGE_ROOTFS_DIR/lib/modules/*/source } function parse_partition_env() { diff --git a/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-buildroot-init/lib/udev/rules.d/79-rockchip-no-autoload.rules b/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-buildroot-init/lib/udev/rules.d/79-rockchip-no-autoload.rules new file mode 100644 index 0000000000..fb6a4b7025 --- /dev/null +++ b/project/cfg/BoardConfig_IPC/overlay/overlay-luckfox-buildroot-init/lib/udev/rules.d/79-rockchip-no-autoload.rules @@ -0,0 +1,6 @@ +# Disable Rockchip camera driver autoloading + +ACTION=="add", SUBSYSTEM=="platform", ENV{MODALIAS}=="of:Ncsi2-dphy*", ENV{MODALIAS}="" +ACTION=="add", SUBSYSTEM=="platform", ENV{MODALIAS}=="of:Nmipi*-csi2*", ENV{MODALIAS}="" +ACTION=="add", SUBSYSTEM=="platform", ENV{MODALIAS}=="of:N*rkcif*", ENV{MODALIAS}="" +ACTION=="add", SUBSYSTEM=="platform", ENV{MODALIAS}=="of:N*rkisp*", ENV{MODALIAS}="" diff --git a/sysdrv/Makefile b/sysdrv/Makefile index 142248c419..b10ee950e8 100644 --- a/sysdrv/Makefile +++ b/sysdrv/Makefile @@ -700,9 +700,12 @@ drv: prepare O=$(SYSDRV_KERNEL_OBJS_OUTPUT_DIR) \ modules_install INSTALL_MOD_STRIP=1 \ INSTALL_MOD_PATH=$(KERNEL_DIR_DRV_KO) - $(AT)find $(KERNEL_DIR_DRV_KO)/lib/modules/*/kernel \ - -name "*.ko" -type f -exec cp -fav {} $(SYSDRV_KERNEL_MOD_PATH) \; + + $(AT)find $(KERNEL_DIR_DRV_KO)/lib/modules/ -name "*.ko" -type f -printf '%P\0' | \ + xargs -0 -I {} \ + sh -c 'ln -s /lib/modules/{} $(SYSDRV_KERNEL_MOD_PATH)/$$(basename {})' @test ! -d drv_ko || ($(MAKE) O=$(SYSDRV_KERNEL_OBJS_OUTPUT_DIR) -C $(SYSDRV_DIR)/drv_ko KERNEL_DRV_KO_INSTALL_PATH=$(SYSDRV_KERNEL_MOD_PATH)) + $(call MAROC_COPY_PKG_TO_SYSDRV_OUTPUT, $(OUTPUT_ROOTFS_SOURCE_DIR), $(SYSDRV_KERNEL_MOD_PATH), SELF) drv_clean: