aboutsummaryrefslogtreecommitdiffstats
path: root/package/firmware/amd64-microcode/Makefile
blob: adf3352af2e5d13b6e6d9c9908964b629818e768 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#
# Copyright (C) 2018 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=amd64-microcode
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:=7c389c357c242e7161f6872bf4e12011a71e4c0683f06fb1bcfad650a78bf0a9
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-3.$(PKG_VERSION).$(PKG_RELEASE)

PKG_LICENSE_FILE:=LICENSE.amd-ucode

include $(INCLUDE_DIR)/package.mk

define Package/amd64-microcode
  SECTION:=firmware
  CATEGORY:=Firmware
  URL:=$(PKG_SOURCE_URL)
  DEPENDS:=@TARGET_x86
  TITLE:=AMD64 CPU microcode
endef

define Build/Prepare
	rm -rf $(PKG_BUILD_DIR)
	mkdir -p $(PKG_BUILD_DIR)
	$(TAR) -C $(BUILD_DIR) -xJf $(DL_DIR)/$(PKG_SOURCE)
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)/boot
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/amd-ucode.cpio $(1)/boot/amd-ucode.img
endef

$(eval $(call BuildPackage,amd64-microcode))