File replace issue after change builtin module to loadable module

Hi everyone.

I successfully compiled max9295, max9296 and imx390 from builtin module to loadable module( They do not exist in modules.builtin)

I used to replace Image and tegra194-p2888-0001-p2822-0000.dtb according to Leopard imaging. But if I change them into loadable modules, which file should I replace before I flash kernel-dtb and kernel?

Thanks in advance

Have a check the flash log to find the dtb file name for your Xavier. Like below.
And for the kernel Image you can copy it to Xavier and modify the /boot/extlinux/extlinux.conf to load your Image.

[  96.0785 ] Writing partition DTB-1 with tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb.encrypt
[  96.1089 ] [................................................] 100%
[  96.1378 ] Writing partition TOS-1 with tos-mon-only.img.encrypt
[  96.1801 ] [................................................] 100%
[  96.1936 ] Writing partition EKS-1 with eks.img
[  96.2302 ] [................................................] 100%
[  96.2419 ] Writing partition LNX-1 with boot.img.encrypt
[  96.2783 ] [................................................] 100%
[  96.3077 ] Writing partition BMP with bmp.blob
[  96.3389 ] [................................................] 100%
[  96.3674 ] Writing partition RP4 with rp4.blob
[  96.4048 ] [................................................] 100%
[  96.4651 ] 
[  96.4660 ] tegradevflash --write BCT P2180_A00_LP4_DSC_204Mhz.bct
[  96.4672 ] Cboot version 00.01.0000
[  96.5374 ] Writing partition BCT with P2180_A00_LP4_DSC_204Mhz.bct
[  96.5380 ] [................................................] 100%
[  96.9676 ] 
[  96.9677 ] Flashing completed

[  96.9678 ] Coldbooting the device
[  96.9690 ] tegradevflash --reboot coldboot
[  96.9702 ] Cboot version 00.01.0000
*** The target t210ref has been flashed successfully. ***
Reset the board to boot from internal eMMC.

Thank you for your reply.

After I finished compiling kernel. I replaced Image and tegra194-p2888-0001-p2822-0000.dtb just like before. Then I flashed the kernel-dtb and kernel.

I replaced Image file in /boot according to /boot/extlinux/exlinux.conf and reboot. But in my Xavier, modules.builtin still has imx390.ko, max9295.ko and max9296.ko

Does loadable module need to add some code in dts or dtb file?

Have try just remove it from the modules.builtin list?

Thanks. It works. But when I want to rmmod them. It said rmmod: ERROR: Module imx390 is builtin.

What’s below command shows.
modinfo imx390

Sorry for the delay. This is modinfo of imx390.ko

filename:       /lib/modules/4.9.140-tegra/kernel/drivers/media/i2c/imx390.ko
license:        GPL v2
author:         Sudhir Vyas <svyas@nvidia.com
author:         NVIDIA Corporation
description:    Media Controller driver for Sony IMX390
alias:          of:N*T*Cnvidia,imx390C*
alias:          of:N*T*Cnvidia,imx390
alias:          i2c:imx390
depends:        max9296,max9295
intree:         Y
vermagic:       4.9.140-tegra SMP preempt mod_unload modversions aarch64
parm:           test_mode:int