Is there a proper way in which to include an additional file into the /boot
partition of an OpenWrt image? In case it helps, I build an x86_64 generic image for my OpenWrt box.
More context:
My BeeLink EQ12 has an Intel i915 graphics chipset. Beginning [I believe] with kernel 6.1 there seems to be some additional firmware requirements (for DRM perhaps?) for the i915 that are needed early in the boot process. The need for said firmware occurs prior to the root filesystem being mounted. If the firmware is unavailable early in the boot process, there is a 60 second "hang" during boot while the kernel fails to find the firmware.
I have worked around this by creating a dmc.cpio
file containing the required firmware files. This file then has to be read into RAM via an additional initrd
call right after the kernel load (linux /boot/vmlinuz...
). This fixes the i915 firmware timeout issue, but only after I can get dmc.cpio
into /boot
and append the initrd
line into grub.cfg. Right now I do this programmatically via a uci-default script, but it only helps after the second (and subsequent) reboots following an OpenWrt upgrade.
Goals:
First, I would like to build the dmc.cpio
file into my OpenWrt image whereby that file is stored in the /boot
partition from the start.
Secondly, if there is a "proper" way in which to append additional lines to the grub.cfg file, apart from modifying the target/linux/x86/image/grub-efi.cfg
directly, I would love to know this as well.
Thanks in advance for any pointers on how to approach this!