if you rebuild your own kernel, you need to pay attention to modules and bootargs.
- modules: the kernel modules are installed on the rootfs, if you rebuild your kernel the ‘kernel version’ string is likely to be different from the one we used when we create our builds. In our images, it is set to:
The boot image only includes the kernel Image file, not the modules. If your local change does not ‘impact’ any of the modules, it is generally ok to rebuild the Image file, with the right KERNELRELEASE variable set.
if you patch kernel modules, then you need to deploy the newly rebuilt kernel modules on your target rootfs. If you are not familiar with that, the simplest way to do it is to build the kernel deb package, copy it onto the board, install and reboot. To build the kernel deb package, if your kernel tree:
then copy the generated linux-image-<version>_arm64.deb onto the board (SD card, USB, SSH, …) and install it with “dpkg -i”. Your new modules will now be installed in the rootfs in /lib/firmware. Then you can reboot with your new kernel.
I am not sure which instructions you used to rebuild the boot image, but you need to make sure that you don’t have “systemd.unit=multi-user.target” in your bootargs. This option will boot the system to console only.