amd64-microcode: create early load microcode image
[openwrt/staging/wigyori.git] / package / firmware / amd64-microcode / Makefile
index e88b02950f2c54c0d021dc59cf197c404242e278..adf3352af2e5d13b6e6d9c9908964b629818e768 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=amd64-microcode
-PKG_VERSION:=20171205
+PKG_VERSION:=20180524
 PKG_RELEASE:=1
 
 PKG_SOURCE:=amd64-microcode_3.$(PKG_VERSION).$(PKG_RELEASE).tar.xz
 PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/non-free/a/amd64-microcode/
-PKG_HASH:=a38bc072f535a3d3c1bf4e9e545197aa5114e979e94ef7e4a67e615df2f853a7
+PKG_HASH:=7c389c357c242e7161f6872bf4e12011a71e4c0683f06fb1bcfad650a78bf0a9
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-3.$(PKG_VERSION).$(PKG_RELEASE)
 
 PKG_LICENSE_FILE:=LICENSE.amd-ucode
@@ -35,11 +35,17 @@ define Build/Prepare
 endef
 
 define Build/Compile
+       mkdir -p $(PKG_BUILD_DIR)/kernel/x86/microcode/
+       cat $(PKG_BUILD_DIR)/microcode_amd*.bin \
+               > $(PKG_BUILD_DIR)/kernel/x86/microcode/AuthenticAMD.bin
+       (cd $(PKG_BUILD_DIR); \
+       echo "kernel/x86/microcode/AuthenticAMD.bin" \
+               | cpio -o -H newc --reproducible > amd-ucode.cpio)
 endef
 
 define Package/amd64-microcode/install
-       $(INSTALL_DIR) $(1)/lib/firmware/amd-ucode
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/*.bin $(1)/lib/firmware/amd-ucode
+       $(INSTALL_DIR) $(1)/boot
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/amd-ucode.cpio $(1)/boot/amd-ucode.img
 endef
 
 $(eval $(call BuildPackage,amd64-microcode))