dracut: fix early microcode stuff on non-x86 + other arch fixes
This commit is contained in:
parent
354e34d570
commit
bd7f6b448d
|
@ -0,0 +1,32 @@
|
||||||
|
From 0e6859c98a90a1b44abc6f29ba64628afc1be7cb Mon Sep 17 00:00:00 2001
|
||||||
|
From: q66 <daniel@octaforge.org>
|
||||||
|
Date: Sat, 25 Jul 2020 17:29:23 +0200
|
||||||
|
Subject: [PATCH 3/4] mkinitrd-dracut.sh: use vmlinux regex for ppc*, vmlinuz
|
||||||
|
for i686
|
||||||
|
|
||||||
|
Previously this would not catch ppc64le, now it does; same with
|
||||||
|
i686.
|
||||||
|
---
|
||||||
|
mkinitrd-dracut.sh | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git mkinitrd-dracut.sh mkinitrd-dracut.sh
|
||||||
|
index 82d90684..1ea3e514 100755
|
||||||
|
--- mkinitrd-dracut.sh
|
||||||
|
+++ mkinitrd-dracut.sh
|
||||||
|
@@ -57,10 +57,10 @@ default_kernel_images() {
|
||||||
|
s390|s390x)
|
||||||
|
regex='image'
|
||||||
|
;;
|
||||||
|
- ppc|ppc64)
|
||||||
|
+ ppc*)
|
||||||
|
regex='vmlinux'
|
||||||
|
;;
|
||||||
|
- i386|x86_64)
|
||||||
|
+ i*86|x86_64)
|
||||||
|
regex='vmlinuz'
|
||||||
|
;;
|
||||||
|
arm*)
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
From d690d736a71e18711b94098da24f56b392c7e6f7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: q66 <daniel@octaforge.org>
|
||||||
|
Date: Sat, 25 Jul 2020 17:28:16 +0200
|
||||||
|
Subject: [PATCH 2/4] dracut.sh: fix early microcode detection logic
|
||||||
|
|
||||||
|
This fixes two issues:
|
||||||
|
|
||||||
|
1) on non-x86 systems in non-hostonly config this would cause
|
||||||
|
an annoying warning on every initramfs generation
|
||||||
|
2) on non-x86 systems in hostonly config this would result in
|
||||||
|
early microcode not getting disabled
|
||||||
|
---
|
||||||
|
dracut.sh | 23 +++++++++++++++--------
|
||||||
|
1 file changed, 15 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git dracut.sh dracut.sh
|
||||||
|
index 58ff24d1..cd3fcbe2 100755
|
||||||
|
--- dracut.sh
|
||||||
|
+++ dracut.sh
|
||||||
|
@@ -1194,19 +1194,26 @@ fi
|
||||||
|
|
||||||
|
if [[ $early_microcode = yes ]]; then
|
||||||
|
if [[ $hostonly ]]; then
|
||||||
|
- [[ $(get_cpu_vendor) == "AMD" ]] \
|
||||||
|
- && ! check_kernel_config CONFIG_MICROCODE_AMD \
|
||||||
|
- && unset early_microcode
|
||||||
|
- [[ $(get_cpu_vendor) == "Intel" ]] \
|
||||||
|
- && ! check_kernel_config CONFIG_MICROCODE_INTEL \
|
||||||
|
- && unset early_microcode
|
||||||
|
+ if [[ $(get_cpu_vendor) == "AMD" ]]; then
|
||||||
|
+ check_kernel_config CONFIG_MICROCODE_AMD || unset early_microcode
|
||||||
|
+ elif [[ $(get_cpu_vendor) == "Intel" ]]; then
|
||||||
|
+ check_kernel_config CONFIG_MICROCODE_INTEL || unset early_microcode
|
||||||
|
+ else
|
||||||
|
+ unset early_microcode
|
||||||
|
+ fi
|
||||||
|
else
|
||||||
|
! check_kernel_config CONFIG_MICROCODE_AMD \
|
||||||
|
&& ! check_kernel_config CONFIG_MICROCODE_INTEL \
|
||||||
|
&& unset early_microcode
|
||||||
|
fi
|
||||||
|
- [[ $early_microcode != yes ]] \
|
||||||
|
- && dwarn "Disabling early microcode, because kernel does not support it. CONFIG_MICROCODE_[AMD|INTEL]!=y"
|
||||||
|
+ # Do not complain on non-x86 architectures as it makes no sense
|
||||||
|
+ case $(uname -m) in
|
||||||
|
+ x86_64|i*86)
|
||||||
|
+ [[ $early_microcode != yes ]] \
|
||||||
|
+ && dwarn "Disabling early microcode, because kernel does not support it. CONFIG_MICROCODE_[AMD|INTEL]!=y"
|
||||||
|
+ ;;
|
||||||
|
+ *) ;;
|
||||||
|
+ esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Need to be able to have non-root users read stuff (rpcbind etc)
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
From e1bce654f1bd739cf1f975ff0a1f766221c3d4ee Mon Sep 17 00:00:00 2001
|
||||||
|
From: q66 <daniel@octaforge.org>
|
||||||
|
Date: Sat, 25 Jul 2020 17:20:40 +0200
|
||||||
|
Subject: [PATCH 1/4] dracut.sh: fix ia32 detection for uefi executables
|
||||||
|
|
||||||
|
---
|
||||||
|
dracut.sh | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git dracut.sh dracut.sh
|
||||||
|
index e3195499..58ff24d1 100755
|
||||||
|
--- dracut.sh
|
||||||
|
+++ dracut.sh
|
||||||
|
@@ -1153,7 +1153,7 @@ if [[ ! $print_cmdline ]]; then
|
||||||
|
case $(uname -m) in
|
||||||
|
x86_64)
|
||||||
|
EFI_MACHINE_TYPE_NAME=x64;;
|
||||||
|
- ia32)
|
||||||
|
+ i*86)
|
||||||
|
EFI_MACHINE_TYPE_NAME=ia32;;
|
||||||
|
*)
|
||||||
|
dfatal "Architecture '$(uname -m)' not supported to create a UEFI executable"
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
From c26b5c7559c297aaa6c78787fa8de18bbf090205 Mon Sep 17 00:00:00 2001
|
||||||
|
From: q66 <daniel@octaforge.org>
|
||||||
|
Date: Sat, 25 Jul 2020 17:47:00 +0200
|
||||||
|
Subject: [PATCH 4/4] 90ppcmac: respect DRACUT_ARCH, don't exclude ppcle
|
||||||
|
|
||||||
|
---
|
||||||
|
modules.d/90ppcmac/module-setup.sh | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git modules.d/90ppcmac/module-setup.sh modules.d/90ppcmac/module-setup.sh
|
||||||
|
index 59221ec4..7199dd9b 100644
|
||||||
|
--- modules.d/90ppcmac/module-setup.sh
|
||||||
|
+++ modules.d/90ppcmac/module-setup.sh
|
||||||
|
@@ -17,9 +17,9 @@
|
||||||
|
|
||||||
|
# called by dracut
|
||||||
|
check() {
|
||||||
|
- local _arch="$(uname -m)"
|
||||||
|
+ local _arch=${DRACUT_ARCH:-$(uname -m)}
|
||||||
|
# only for PowerPC Macs
|
||||||
|
- [[ "$_arch" == ppc* && "$_arch" != ppc*le ]] || return 1
|
||||||
|
+ [[ "$_arch" == ppc* && "$_arch" != ppc64le ]] || return 1
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -36,7 +36,7 @@ installkernel() {
|
||||||
|
}
|
||||||
|
|
||||||
|
# only PowerMac3,6 has a module, special case
|
||||||
|
- if [[ "$(uname -m)" == ppc ]]; then
|
||||||
|
+ if [[ "${DRACUT_ARCH:-$(uname -m)}" != ppc64* ]]; then
|
||||||
|
if ! [[ $hostonly ]] || [[ "$(pmac_model)" == "PowerMac3,6" ]]; then
|
||||||
|
instmods therm_windtunnel
|
||||||
|
fi
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'dracut'
|
# Template file for 'dracut'
|
||||||
pkgname=dracut
|
pkgname=dracut
|
||||||
version=050
|
version=050
|
||||||
revision=2
|
revision=3
|
||||||
build_style=configure
|
build_style=configure
|
||||||
configure_args="--prefix=/usr --sysconfdir=/etc"
|
configure_args="--prefix=/usr --sysconfdir=/etc"
|
||||||
conf_files="/etc/dracut.conf"
|
conf_files="/etc/dracut.conf"
|
||||||
|
|
Loading…
Reference in New Issue