Conversation
|
Hi @proan , thank you for this PR! Have you tested what happens if the resulting image with the modified |
|
Ah, I have not tested that. And I'm pretty sure it will fail as you mention. So this will work for virtual RPis only. I'll also have to look at how export handles the kernel when exporting to a real RPi. In 'master', the I see 3 options to resolve this and keep kernel modules for the virtual RPi:
|
I will look into the export more to learn how the kernel is handled before I offer my own preference. I'm happy to take others' input though. |
|
Option 4 seems the most reasonable. Adding the |
|
I'll test with a real RPi tomorrow. |
|
I updated In the real RPi, the kernel and modules showed 6.6.51 and in the virtual RPi, the kernel and modules are 6.6.78. I compared the output of |
|
fantastic, I'll test it soon on a Pi 5 and merge once completed. Aiming to release version |
|
I am working on the option to enable GUI support, but that 1. depends on this branch, and 2. is not ready yet, as I need to simplify launching the container. |
The Raspberry Pi OS and kernel support kernel modules out of the box. pi-ci builds a custom kernel to boot via qemu, but it does not build or install the accompanying kernel modules. This PR adds support for kernel modules in pi-ci.
dockerfileis modified to build the kernel modules in the same stage as the main kernel build. Modules are then "installed" to a directory in kernel-builder where it can be copied into the emulator image later.start.pyuses virtfs to map the modules directory into qemu.start.pyandinit.pyare modified to remove the redundancy ofcheck_base_file()and to add support for copying the modules directory into a Docker volume.From a running qemu instance, the loaded kernel modules can be checked by the
lsmodcommand.This PR may address some of the questions raised in #17.