genericarm64: clean up kernel modules and firmware

Don't install _all_ of the firmware, as that's huge (almost 1GB). Instead
install a few pieces of firmware for common hardware.

Also use the same list of packages to populate the initramfs, so there's
no need to manually sync the package lists (as initramfs doesn't install
the MACHINE_EXTRA_RRECOMMENDS automatically).

(From meta-yocto rev: a5aa914990f36cc5175577983dd1ad1aa0bb81f2)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2024-03-07 06:42:26 -08:00
committed by Richard Purdie
parent e1858360af
commit 4b42a93edf

View File

@@ -1,6 +1,6 @@
#@TYPE: Machine
#@NAME: genericarm64
#@DESCRIPTION: Generic Arm64 machine for typical SystemReady platforms, which
#@DESCRIPTION: Generic Arm64 machine for typical SystemReady IR/ES platforms, which
#have working firmware and boot via EFI.
require conf/machine/include/arm/arch-armv8a.inc
@@ -10,15 +10,17 @@ DEFAULTTUNE = "armv8a-crc"
MACHINE_FEATURES = "acpi alsa bluetooth efi keyboard pci qemu-usermode rtc screen usbhost vfat wifi"
# Install all the kernel modules and all the firmware
MACHINE_EXTRA_RRECOMMENDS += "kernel-modules linux-firmware"
KERNEL_IMAGETYPE = "Image"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
# Use an initramfs and populate it with the kernel modules
# Install all the kernel modules into the rootfs
MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
# Install selected pieces of firmware
MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-wl12xx linux-firmware-wl18xx linux-firmware-rtl-nic"
# Use an initramfs and populate it with the kernel modules and key firmware
INITRAMFS_IMAGE ?= "core-image-initramfs-boot"
PACKAGE_INSTALL:append:pn-core-image-initramfs-boot = " kernel-modules"
PACKAGE_INSTALL:append:pn-core-image-initramfs-boot = " ${MACHINE_EXTRA_RRECOMMENDS}"
IMAGE_FSTYPES ?= "wic"
WKS_FILE ?= "genericarm64.wks.in"