.PHONY: initramfs
-initramfs: distdir
+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/) \
| $(LINUX_DST)/usr/gen_init_cpio /proc/self/fd/0 \
- | gzip -c -f > $(DISTDIR)/common/initramfs.cpio.gz
-
+ | gzip -c -f > $(DISTDIR)/common/_initramfs.cpio.gz
+ cat $(DISTDIR)/common/ucode_initrd.cpio \
+ $(DISTDIR)/common/_initramfs.cpio.gz > \
+ $(DISTDIR)/common/initramfs.cpio.gz
+ @rm -f $(DISTDIR)/common/ucode_initrd.cpio
+ @rm -f $(DISTDIR)/common/_initramfs.cpio.gz
.PHONY: linux-modules-prep
if [ -d $(RTL_NIC_PATH) ] ; then \
$(INSTALL_DATA) $(RTL_NIC_PATH)/*.fw modulespace/$(LOCAL_FIRMWARE_PATH)/rtl_nic ; \
fi
- if [ -d $(INTEL_UCODE_PATH) ] ; then \
- $(INSTALL_DATA) $(INTEL_UCODE_PATH)/* modulespace/$(LOCAL_FIRMWARE_PATH)/intel-ucode ; \
+.PHONY: ucode-initrd
+ucode-initrd:
+ @mkdir -p ucode_initrd/kernel/x86/microcode
+ @echo -n "Generating $(DISTDIR)/common/ucode_initrd.cpio .."
+ @if [ -d $(INTEL_UCODE_PATH) ] ; then \
+ cat $(INTEL_UCODE_PATH)/* > ucode_initrd/kernel/x86/microcode/GenuineIntel.bin; \
fi
- if [ -d $(AMD_UCODE_PATH) ] ; then \
- $(INSTALL_DATA) $(AMD_UCODE_PATH)/* modulespace/$(LOCAL_FIRMWARE_PATH)/amd-ucode ; \
+ @if [ -d $(AMD_UCODE_PATH) ] ; then \
+ 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)
+
.PHONY: syslinux-clean
syslinux-clean:
$(MAKE) -j$$(($(NCPUS) * 2)) -C syslinux/menu clean