845 kernel modules

Hello,
Can someone please tell me how to move kernel modules to target rootfilesystem?
I am following the steps for 5.2.0 kernel
https://releases.linaro.org/96boards/dragonboard845c/linaro/debian/19.11/
Thank you

After performing install step in a local folder:

make modules_install KERNELRELEASE=5.2.0-qcomlt-arm64 INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=<folder>

Copy content of this folder to 845 over via scp or via intermediate usb mass storage.
/lib/modules/5.2.0-qcomlt-arm64/ => /lib/modules/5.2.0-qcomlt-arm64/

BUT, I suggest you to move on latest release: https://releases.linaro.org/96boards/dragonboard845c/linaro/debian/latest/

(or even on latest snapshot if you need a functional WiFi).

I usually create a tarball since that is easy to apply as an overlay.
Something like:

make modules_install KERNELRELEASE=5.2.0-qcomlt-arm64
INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=$PWD/overlay
tar -C overlay -cf modules-5.2.0-qcomlt-arm64.tar.gz .
scp modules-5.2.0-qcomlt-arm64.tar.gz root@myboard:
ssh root@myboard tar -C / -xf modules-5.2.0-qcomlt-arm64.tar.gz

PS I have not tested this specifically on a DB845C, this is the
generic technique I use on pretty much every board.

1 Like

Hi Loic, Thanks for getting back.
I flashed the rb3 with boot image i created for 5.2.0, I see that I already have the contents at /lib/modules/5.2.0-qcomlt-arm64, even before I scp’ed.
Can that be a possibility?
This is the contents on my host:
Rex: /lib/modules/19.11KernelModules/lib/modules/5.2.0-qcomlt-arm64$ ls -la
total 1288
drwxr-xr-x 3 root root 4096 Apr 9 08:13 .
drwxr-xr-x 3 root root 4096 Apr 9 08:13 …
lrwxrwxrwx 1 root root 27 Apr 9 08:13 build → /mnt/local/workspace/kernel
drwxr-xr-x 10 root root 4096 Apr 9 08:13 kernel
-rw-r–r-- 1 root root 329811 Apr 9 08:13 modules.alias
-rw-r–r-- 1 root root 325307 Apr 9 08:13 modules.alias.bin
-rw-r–r-- 1 root root 27158 Apr 9 08:13 modules.builtin
-rw-r–r-- 1 root root 30965 Apr 9 08:13 modules.builtin.bin
-rw-r–r-- 1 root root 137818 Apr 9 08:13 modules.builtin.modinfo
-rw-r–r-- 1 root root 76746 Apr 9 08:13 modules.dep
-rw-r–r-- 1 root root 109480 Apr 9 08:13 modules.dep.bin
-rw-r–r-- 1 root root 169 Apr 9 08:13 modules.devname
-rw-r–r-- 1 root root 30831 Apr 9 08:13 modules.order
-rw-r–r-- 1 root root 155 Apr 9 08:13 modules.softdep
-rw-r–r-- 1 root root 95078 Apr 9 08:13 modules.symbols
-rw-r–r-- 1 root root 115212 Apr 9 08:13 modules.symbols.bin
lrwxrwxrwx 1 root root 27 Apr 9 08:13 source → /mnt/local/workspace/kernel

I have all these on the rb3 as well, except the softlinks.
Thank you.

There are two main partitions, boot and rootfs, boot is for the boot image blob, which contains the kernel (Image+dtb…) and rootfs is the root filesystem containing the debian/oe distro as well as the kernel modules (/lib/modules). When you build the kernel from tree, it generates kernel and modules, so you have to update both on the target. You regenerate and flash a new boot image with the new kernel, and push the new modules to the rootfs.

The module you have on the targets are the original ones you get with your boards, you need to replace them with yours. The modules will load only if their version match the kernel version.

Thank you.
I tried it with scp, for some reason, the ssh connection is lost always after the vmlinux part.
kmap_types.h 100% 198 46.0KB/s 00:00
parport.h 100% 604 211.3KB/s 00:00
jedec_ddr.h 100% 3557 1.0MB/s 00:00
boot-db845c.img 100% 16MB 19.8MB/s 00:00
vmlinux 5% 20MB 19.6MB/s 00:16 ETApacket_write_wait: Connection to 192.168.1.254 port 22: Broken pipe
lost connection
root@W510LU:/home/rex#

Did you try the @danielt method?

no , i have used a flash drive to transfer the contents

so does it work now?

yes it works now, thank you Loic