rfs(firmware): pack full Alpine linux-firmware set from container and overmount /lib/firmware
Change pack source: install all linux-firmware* packages in container and pack from /lib/firmware via [bash.rfs_common_install_all_alpine_firmware_packages()](scripts/rfs/common.sh:290) used by [bash.pack-firmware.sh](scripts/rfs/pack-firmware.sh:21). At runtime, overmount firmware flist on /lib/firmware by updating [sh.firmware.sh](config/zinit/init/firmware.sh:10). Update docs to reflect /lib/firmware mount and new pack strategy.
This commit is contained in:
@@ -15,9 +15,10 @@ Scope of this change
|
||||
Inputs
|
||||
- Built kernel modules present in the dev-container (from kernel build stages):
|
||||
- Preferred: /lib/modules/KERNEL_FULL_VERSION
|
||||
- Firmware tree:
|
||||
- Preferred: $PROJECT_ROOT/firmware (prepopulated tree from dev-container: “$root/firmware”)
|
||||
- Fallback: initramfs/lib/firmware created by apk install of firmware packages
|
||||
- Firmware source for RFS pack:
|
||||
- Install all Alpine linux-firmware* packages into the build container and use /lib/firmware as the source (full set).
|
||||
- Initramfs fallback (build-time):
|
||||
- Selective firmware packages installed by [bash.alpine_install_firmware()](scripts/lib/alpine.sh:392) into initramfs/lib/firmware (kept inside the initramfs).
|
||||
- Kernel version derivation (never use uname -r in container):
|
||||
- Combine KERNEL_VERSION from [config/build.conf](config/build.conf) and LOCALVERSION from [config/kernel.config](config/kernel.config).
|
||||
- This matches [kernel_get_full_version()](scripts/lib/kernel.sh:14).
|
||||
@@ -71,7 +72,7 @@ Scripts to add (standalone)
|
||||
|
||||
Runtime (deferred to a follow-up)
|
||||
- New zinit units to mount and coldplug:
|
||||
- Mount firmware flist read-only at /usr/lib/firmware
|
||||
- Mount firmware flist read-only at /lib/firmware
|
||||
- Mount modules flist at /lib/modules/KERNEL_FULL_VERSION
|
||||
- Run depmod -a KERNEL_FULL_VERSION
|
||||
- udevadm control --reload; udevadm trigger --action=add; udevadm settle
|
||||
|
||||
Reference in New Issue
Block a user