summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerardo Exequiel Pozzi <vmlinuz386@gmail.com>2018-08-18 17:14:22 -0300
committerGerardo Exequiel Pozzi <vmlinuz386@gmail.com>2018-08-18 23:23:44 -0300
commit5a353529f750abff175bc6c037e08d422eef3aa6 (patch)
treef1dfe7e86f28ca063a7ad2bbad1246e28f7a3b5a
parent69f637148a3c36ca470ced11e8cd50d448423533 (diff)
downloadarchiso32-5a353529f750abff175bc6c037e08d422eef3aa6.tar.xz
[configs/releng] Make and use amd_ucode.bin for initrd.
Requested at FS#59694
-rwxr-xr-xconfigs/releng/build.sh14
-rw-r--r--configs/releng/efiboot/loader/entries/archiso-x86_64-cd.conf1
-rw-r--r--configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf1
-rw-r--r--configs/releng/syslinux/archiso_pxe.cfg6
-rw-r--r--configs/releng/syslinux/archiso_sys.cfg2
5 files changed, 20 insertions, 4 deletions
diff --git a/configs/releng/build.sh b/configs/releng/build.sh
index f5524e8..3272cd8 100755
--- a/configs/releng/build.sh
+++ b/configs/releng/build.sh
@@ -107,6 +107,16 @@ make_customize_airootfs() {
rm ${work_dir}/x86_64/airootfs/root/customize_airootfs.sh
}
+# Prepare amd_ucode
+make_amd_ucode_img() {
+ mkdir -p ${work_dir}/amd-ucode/kernel/x86/microcode
+ cat ${work_dir}/x86_64/airootfs/lib/firmware/amd-ucode/microcode_amd*.bin > ${work_dir}/amd-ucode/kernel/x86/microcode/AuthenticAMD.bin
+ pushd ${work_dir}/amd-ucode > /dev/null
+ echo kernel/x86/microcode/AuthenticAMD.bin | bsdcpio -o -H newc -R 0:0 > amd-ucode.img
+ popd > /dev/null
+ cp ${work_dir}/amd-ucode/amd-ucode.img ${work_dir}/x86_64/airootfs/boot/amd-ucode.img
+}
+
# Prepare kernel/initramfs ${install_dir}/boot/
make_boot() {
mkdir -p ${work_dir}/iso/${install_dir}/boot/x86_64
@@ -120,6 +130,8 @@ make_boot_extra() {
cp ${work_dir}/x86_64/airootfs/usr/share/licenses/common/GPL2/license.txt ${work_dir}/iso/${install_dir}/boot/memtest.COPYING
cp ${work_dir}/x86_64/airootfs/boot/intel-ucode.img ${work_dir}/iso/${install_dir}/boot/intel_ucode.img
cp ${work_dir}/x86_64/airootfs/usr/share/licenses/intel-ucode/LICENSE ${work_dir}/iso/${install_dir}/boot/intel_ucode.LICENSE
+ cp ${work_dir}/x86_64/airootfs/boot/amd-ucode.img ${work_dir}/iso/${install_dir}/boot/amd_ucode.img
+ cp ${work_dir}/x86_64/airootfs/usr/share/licenses/linux-firmware/LICENSE.amd-ucode ${work_dir}/iso/${install_dir}/boot/amd_ucode.LICENSE
}
# Prepare /${install_dir}/boot/syslinux
@@ -185,6 +197,7 @@ make_efiboot() {
cp ${work_dir}/iso/${install_dir}/boot/x86_64/archiso.img ${work_dir}/efiboot/EFI/archiso/archiso.img
cp ${work_dir}/iso/${install_dir}/boot/intel_ucode.img ${work_dir}/efiboot/EFI/archiso/intel_ucode.img
+ cp ${work_dir}/iso/${install_dir}/boot/amd_ucode.img ${work_dir}/efiboot/EFI/archiso/amd_ucode.img
mkdir -p ${work_dir}/efiboot/EFI/boot
cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi
@@ -253,6 +266,7 @@ run_once make_basefs
run_once make_packages
run_once make_setup_mkinitcpio
run_once make_customize_airootfs
+run_once make_amd_ucode_img
run_once make_boot
run_once make_boot_extra
run_once make_syslinux
diff --git a/configs/releng/efiboot/loader/entries/archiso-x86_64-cd.conf b/configs/releng/efiboot/loader/entries/archiso-x86_64-cd.conf
index d503f11..b77ed98 100644
--- a/configs/releng/efiboot/loader/entries/archiso-x86_64-cd.conf
+++ b/configs/releng/efiboot/loader/entries/archiso-x86_64-cd.conf
@@ -1,5 +1,6 @@
title Arch Linux archiso x86_64 UEFI CD
linux /EFI/archiso/vmlinuz.efi
initrd /EFI/archiso/intel_ucode.img
+initrd /EFI/archiso/amd_ucode.img
initrd /EFI/archiso/archiso.img
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
diff --git a/configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf b/configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf
index 14f3d02..09adca4 100644
--- a/configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf
+++ b/configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf
@@ -1,5 +1,6 @@
title Arch Linux archiso x86_64 UEFI USB
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz
initrd /%INSTALL_DIR%/boot/intel_ucode.img
+initrd /%INSTALL_DIR%/boot/amd_ucode.img
initrd /%INSTALL_DIR%/boot/x86_64/archiso.img
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
diff --git a/configs/releng/syslinux/archiso_pxe.cfg b/configs/releng/syslinux/archiso_pxe.cfg
index 481371a..92af749 100644
--- a/configs/releng/syslinux/archiso_pxe.cfg
+++ b/configs/releng/syslinux/archiso_pxe.cfg
@@ -7,7 +7,7 @@ It allows you to install Arch Linux or perform system maintenance.
ENDTEXT
MENU LABEL Boot Arch Linux (x86_64) (NBD)
LINUX boot/x86_64/vmlinuz
-INITRD boot/intel_ucode.img,boot/x86_64/archiso.img
+INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver}
SYSAPPEND 3
@@ -18,7 +18,7 @@ It allows you to install Arch Linux or perform system maintenance.
ENDTEXT
MENU LABEL Boot Arch Linux (x86_64) (NFS)
LINUX boot/x86_64/vmlinuz
-INITRD boot/intel_ucode.img,boot/x86_64/archiso.img
+INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt
SYSAPPEND 3
@@ -29,7 +29,7 @@ It allows you to install Arch Linux or perform system maintenance.
ENDTEXT
MENU LABEL Boot Arch Linux (x86_64) (HTTP)
LINUX boot/x86_64/vmlinuz
-INITRD boot/intel_ucode.img,boot/x86_64/archiso.img
+INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/
SYSAPPEND 3
diff --git a/configs/releng/syslinux/archiso_sys.cfg b/configs/releng/syslinux/archiso_sys.cfg
index 0c82573..a35a1ea 100644
--- a/configs/releng/syslinux/archiso_sys.cfg
+++ b/configs/releng/syslinux/archiso_sys.cfg
@@ -7,7 +7,7 @@ It allows you to install Arch Linux or perform system maintenance.
ENDTEXT
MENU LABEL Boot Arch Linux (x86_64)
LINUX boot/x86_64/vmlinuz
-INITRD boot/intel_ucode.img,boot/x86_64/archiso.img
+INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
INCLUDE boot/syslinux/archiso_tail.cfg