Open morbidrsa opened 3 years ago
At one stage I remember looking into whether we could get Dracut to "overlay" rapido specific modules atop the distro ones packaged in /usr/lib/dracut/modules.d
. Unfortunately Dracut only seems to support all or nothing via the --local
parameter.
That said, one option might be to use --local
and play some symlink games to include /usr/lib/dracut/modules.d
subpaths.
Another version would be to add all the new paths, libraries and bins to a $DRACUT_RAPIDO_DRGN_INCLUDES, might be easier for starters
At one stage I remember looking into whether we could get Dracut to "overlay" rapido specific modules atop the distro ones packaged in
/usr/lib/dracut/modules.d
. Unfortunately Dracut only seems to support all or nothing via the--local
parameter. That said, one option might be to use--local
and play some symlink games to include/usr/lib/dracut/modules.d
subpaths.
One thing I found recently while digging through Documentation/driver-api/early-userspace/buffer-format.rst
is that the kernel accepts cpio archives which are chained back to back. So we could add support for rapido overlays by just appending to the Dracut archive using the kernel's usr/gen_init_cpio
helper binary... Just something to keep in mind :)
Drgn (pronounced dragon) is a scriptable run time kernel debugger (drgn documentation, drgn lwn.net article) written in Python.
When debugging kernel problems on test kernels in rapido it is sometimes helpful to runtime inspect kernel data structures without the overhead of attaching gdb to the VM, creating breakpoints and so on.
Unfortunately it is a bit cumbersome to just add a local
--include
or--install
for drgn in a cut script:so we'd need to create a dracut module and include it if needed.