From 4525544fede79693d278cbe4c2a3bbaf5e9dae53 Mon Sep 17 00:00:00 2001 From: Konrad Rzeszutek Wilk Date: Tue, 1 Oct 2013 10:02:00 -0400 Subject: [PATCH] Makefile: early microcode cpio generation - optional on EARLY_MICROCODE variable If the EARLY_MICROCODE env variable is set then we will generate the early cpio image. Otherwise we won't and will use the old-style of putting it in /lib/firmware/. Also fix the AMD ucode generation - it was using the Intel blobs and not the AMD ones. Signed-off-by: Konrad Rzeszutek Wilk --- root_image/Makefile | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/root_image/Makefile b/root_image/Makefile index c64552e..d1a8221 100644 --- a/root_image/Makefile +++ b/root_image/Makefile @@ -998,7 +998,7 @@ root_image-tools-install: userspace-prep .PHONY: initramfs -initramfs: distdir ucode-initrd +initramfs: distdir ucode-initrd time sh $(LINUX_SRC)/scripts/gen_initramfs_list.sh \ -u $(shell id -u) -g $(shell id -g) \ {user,module}space/ $(wildcard debugspace/) \ @@ -1072,16 +1072,15 @@ QLOGIC_PATH=firmware/qlogic/ RADEON_PATH=firmware/radeon/ RTL_NIC_PATH=firmware/rtl_nic/ INTEL_UCODE_PATH=firmware/intel-ucode/ -AMD_UCODE_PATH=firmware/intel-ucode/ +AMD_UCODE_PATH=firmware/amd-ucode/ .PHONY: local-firmware-install local-firmware-install: modulespace-prep - FIRMWARES="3com e100 radeon bnx2x qlogic isci rtl_nic intel-ucode"; \ + FIRMWARES="3com e100 radeon bnx2x qlogic isci rtl_nic intel-ucode amd-ucode"; \ for firmware in $$FIRMWARES; do \ mkdir modulespace/$(LOCAL_FIRMWARE_PATH)/$$firmware; \ for i in `find $(LINUX_DST)/modulespace/lib/firmware/$$firmware`; \ do \ - echo "File: $$i"; \ if [ -f "$$i" ]; then \ $(INSTALL_DATA) $$i modulespace/$(LOCAL_FIRMWARE_PATH)/$$firmware; \ fi; \ @@ -1099,7 +1098,17 @@ local-firmware-install: modulespace-prep $(INSTALL_DATA) $(RTL_NIC_PATH)/*.fw modulespace/$(LOCAL_FIRMWARE_PATH)/rtl_nic ; \ fi .PHONY: ucode-initrd -ucode-initrd: +ucode-initrd: modulespace-prep local-firmware-install +ifneq ($(EARLY_MICROCODE),1) + @echo -n "Skipping early microcode generation." + touch $(DISTDIR)/common/ucode_initrd.cpio + if [ -d $(INTEL_UCODE_PATH) ] ; then \ + $(INSTALL_DATA) $(INTEL_UCODE_PATH)/* modulespace/$(LOCAL_FIRMWARE_PATH)/intel-ucode ; \ + fi + if [ -d $(AMD_UCODE_PATH) ] ; then \ + $(INSTALL_DATA) $(AMD_UCODE_PATH)/* modulespace/$(LOCAL_FIRMWARE_PATH)/amd-ucode ; \ + fi +else @mkdir -p ucode_initrd/kernel/x86/microcode @echo -n "Generating $(DISTDIR)/common/ucode_initrd.cpio .." @if [ -d $(INTEL_UCODE_PATH) ] ; then \ @@ -1109,7 +1118,7 @@ ucode-initrd: cat $(AMD_UCODE_PATH)/* > ucode_initrd/kernel/x86/microcode/AuthenticAMD.bin; \ fi @(cd ucode_initrd;find . | cpio -o -H newc > ../$(DISTDIR)/common/ucode_initrd.cpio) - +endif .PHONY: syslinux-clean syslinux-clean: $(MAKE) -j$$(($(NCPUS) * 2)) -C syslinux/menu clean -- 2.39.5