parent
73d4bbc2a8
commit
5999506124
@ -0,0 +1,34 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nicolas Frayer <nfrayer@redhat.com>
|
||||||
|
Date: Wed, 24 May 2023 11:22:47 +0200
|
||||||
|
Subject: [PATCH] util: Enable default kernel for updates
|
||||||
|
|
||||||
|
Several kernel variants can be installed on a system in parallel.
|
||||||
|
In order to allow the user to choose which kernel will be set to
|
||||||
|
default after an update, re-enable grub's usage of DEFAULTKERNEL as
|
||||||
|
set in /etc/sysconfig/kernel
|
||||||
|
|
||||||
|
Signed-off-by: Nicolas Frayer <nfrayer@redhat.com>
|
||||||
|
---
|
||||||
|
util/grub-get-kernel-settings.in | 8 ++++++++
|
||||||
|
1 file changed, 8 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/util/grub-get-kernel-settings.in b/util/grub-get-kernel-settings.in
|
||||||
|
index 7e87dfccc0..f71bc64360 100644
|
||||||
|
--- a/util/grub-get-kernel-settings.in
|
||||||
|
+++ b/util/grub-get-kernel-settings.in
|
||||||
|
@@ -68,6 +68,14 @@ if test -f /etc/sysconfig/kernel ; then
|
||||||
|
. /etc/sysconfig/kernel
|
||||||
|
fi
|
||||||
|
|
||||||
|
+GRUB_DEFAULT_KERNEL_TYPE=${DEFAULTKERNEL/-core/}
|
||||||
|
+if [ "$GRUB_DEFAULT_KERNEL_TYPE" != "kernel" ]; then
|
||||||
|
+ echo GRUB_NON_STANDARD_KERNEL=true
|
||||||
|
+ echo export GRUB_NON_STANDARD_KERNEL
|
||||||
|
+ GRUB_DEFAULT_KERNEL_TYPE=${GRUB_DEFAULT_KERNEL_TYPE/kernel-/}
|
||||||
|
+fi
|
||||||
|
+echo GRUB_DEFAULT_KERNEL_TYPE=$GRUB_DEFAULT_KERNEL_TYPE
|
||||||
|
+echo export GRUB_DEFAULT_KERNEL_TYPE
|
||||||
|
if [ "$MAKEDEBUG" = "yes" ]; then
|
||||||
|
echo GRUB_LINUX_MAKE_DEBUG=true
|
||||||
|
echo export GRUB_LINUX_MAKE_DEBUG
|
@ -0,0 +1,48 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Avnish Chouhan <avnish@linux.vnet.ibm.com>
|
||||||
|
Date: Mon, 27 Mar 2023 12:25:39 +0530
|
||||||
|
Subject: [PATCH] kern/ieee1275/init: Convert plain numbers to constants in
|
||||||
|
Vec5
|
||||||
|
|
||||||
|
This patch converts the plain numbers used in Vec5 properties to constants.
|
||||||
|
|
||||||
|
1. LPAR: Client program supports logical partitioning and
|
||||||
|
associated hcall()s.
|
||||||
|
2. SPLPAR: Client program supports the Shared
|
||||||
|
Processor LPAR Option.
|
||||||
|
3. CMO: Enables the Cooperative Memory Over-commitment Option.
|
||||||
|
4. MAX_CPU: Defines maximum number of CPUs supported.
|
||||||
|
|
||||||
|
Signed-off-by: Avnish Chouhan <avnish@linux.vnet.ibm.com>
|
||||||
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||||
|
(cherry picked from commit 8406cfe4774eb2da3db4bf0bc2b2ff6592ecbdaf)
|
||||||
|
---
|
||||||
|
grub-core/kern/ieee1275/init.c | 8 +++++++-
|
||||||
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/grub-core/kern/ieee1275/init.c b/grub-core/kern/ieee1275/init.c
|
||||||
|
index 72d4fed312..5d79580341 100644
|
||||||
|
--- a/grub-core/kern/ieee1275/init.c
|
||||||
|
+++ b/grub-core/kern/ieee1275/init.c
|
||||||
|
@@ -72,6 +72,12 @@ extern char _end[];
|
||||||
|
grub_addr_t grub_ieee1275_original_stack;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#define LPAR 0x80
|
||||||
|
+#define SPLPAR 0x40
|
||||||
|
+#define BYTE2 (LPAR | SPLPAR)
|
||||||
|
+#define CMO 0x80
|
||||||
|
+#define MAX_CPU 256
|
||||||
|
+
|
||||||
|
void
|
||||||
|
grub_exit (int rc __attribute__((unused)))
|
||||||
|
{
|
||||||
|
@@ -575,7 +581,7 @@ grub_ieee1275_ibm_cas (void)
|
||||||
|
.vec4 = 0x0001, /* set required minimum capacity % to the lowest value */
|
||||||
|
.vec5_size = 1 + sizeof (struct option_vector5) - 2,
|
||||||
|
.vec5 = {
|
||||||
|
- 0, 192, 0, 128, 0, 0, 0, 0, 256
|
||||||
|
+ 0, BYTE2, 0, CMO, 0, 0, 0, 0, MAX_CPU
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,127 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Avnish Chouhan <avnish@linux.vnet.ibm.com>
|
||||||
|
Date: Mon, 27 Mar 2023 12:25:40 +0530
|
||||||
|
Subject: [PATCH] kern/ieee1275/init: Extended support in Vec5
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
This patch enables multiple options in Vec5 which are required and
|
||||||
|
solves the boot issues seen on some machines which are looking for
|
||||||
|
these specific options.
|
||||||
|
|
||||||
|
1. LPAR: Client program supports logical partitioning and
|
||||||
|
associated hcall()s.
|
||||||
|
2. SPLPAR: Client program supports the Shared
|
||||||
|
Processor LPAR Option.
|
||||||
|
3. DYN_RCON_MEM: Client program supports the
|
||||||
|
“ibm,dynamic-reconfiguration-memory” property and it may be
|
||||||
|
presented in the device tree.
|
||||||
|
4. LARGE_PAGES: Client supports pages larger than 4 KB.
|
||||||
|
5. DONATE_DCPU_CLS: Client supports donating dedicated processor cycles.
|
||||||
|
6. PCI_EXP: Client supports PCI Express implementations
|
||||||
|
utilizing Message Signaled Interrupts (MSIs).
|
||||||
|
|
||||||
|
7. CMOC: Enables the Cooperative Memory Over-commitment Option.
|
||||||
|
8. EXT_CMO: Enables the Extended Cooperative Memory Over-commit Option.
|
||||||
|
|
||||||
|
9. ASSOC_REF: Enables “ibm,associativity” and
|
||||||
|
“ibm,associativity-reference-points” properties.
|
||||||
|
10. AFFINITY: Enables Platform Resource Reassignment Notification.
|
||||||
|
11. NUMA: Supports NUMA Distance Lookup Table Option.
|
||||||
|
|
||||||
|
12. HOTPLUG_INTRPT: Supports Hotplug Interrupts.
|
||||||
|
13. HPT_RESIZE: Enable Hash Page Table Resize Option.
|
||||||
|
|
||||||
|
14. MAX_CPU: Defines maximum number of CPUs supported.
|
||||||
|
|
||||||
|
15. PFO_HWRNG: Supports Random Number Generator.
|
||||||
|
16. PFO_HW_COMP: Supports Compression Engine.
|
||||||
|
17. PFO_ENCRYPT: Supports Encryption Engine.
|
||||||
|
|
||||||
|
18. SUB_PROCESSORS: Supports Sub-Processors.
|
||||||
|
|
||||||
|
19. DY_MEM_V2: Client program supports the “ibm,dynamic-memory-v2” property in the
|
||||||
|
“ibm,dynamic-reconfiguration-memory” node and it may be presented in the device tree.
|
||||||
|
20. DRC_INFO: Client program supports the “ibm,drc-info” property definition and it may be
|
||||||
|
presented in the device tree.
|
||||||
|
|
||||||
|
Signed-off-by: Avnish Chouhan <avnish@linux.vnet.ibm.com>
|
||||||
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||||
|
(cherry picked from commit 98d0df0351fbff7a4acc64c7594d538889a43e2d)
|
||||||
|
---
|
||||||
|
grub-core/kern/ieee1275/init.c | 47 ++++++++++++++++++++++++++++++++++++------
|
||||||
|
1 file changed, 41 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/grub-core/kern/ieee1275/init.c b/grub-core/kern/ieee1275/init.c
|
||||||
|
index 5d79580341..3d4ad9d1f1 100644
|
||||||
|
--- a/grub-core/kern/ieee1275/init.c
|
||||||
|
+++ b/grub-core/kern/ieee1275/init.c
|
||||||
|
@@ -72,11 +72,41 @@ extern char _end[];
|
||||||
|
grub_addr_t grub_ieee1275_original_stack;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#define LPAR 0x80
|
||||||
|
-#define SPLPAR 0x40
|
||||||
|
-#define BYTE2 (LPAR | SPLPAR)
|
||||||
|
-#define CMO 0x80
|
||||||
|
-#define MAX_CPU 256
|
||||||
|
+/* Options vector5 properties. */
|
||||||
|
+
|
||||||
|
+#define LPAR 0x80
|
||||||
|
+#define SPLPAR 0x40
|
||||||
|
+#define DYN_RCON_MEM 0x20
|
||||||
|
+#define LARGE_PAGES 0x10
|
||||||
|
+#define DONATE_DCPU_CLS 0x02
|
||||||
|
+#define PCI_EXP 0x01
|
||||||
|
+#define BYTE2 (LPAR | SPLPAR | DYN_RCON_MEM | LARGE_PAGES | DONATE_DCPU_CLS | PCI_EXP)
|
||||||
|
+
|
||||||
|
+#define CMOC 0x80
|
||||||
|
+#define EXT_CMO 0x40
|
||||||
|
+#define CMO (CMOC | EXT_CMO)
|
||||||
|
+
|
||||||
|
+#define ASSOC_REF 0x80
|
||||||
|
+#define AFFINITY 0x40
|
||||||
|
+#define NUMA 0x20
|
||||||
|
+#define ASSOCIATIVITY (ASSOC_REF | AFFINITY | NUMA)
|
||||||
|
+
|
||||||
|
+#define HOTPLUG_INTRPT 0x04
|
||||||
|
+#define HPT_RESIZE 0x01
|
||||||
|
+#define BIN_OPTS (HOTPLUG_INTRPT | HPT_RESIZE)
|
||||||
|
+
|
||||||
|
+#define MAX_CPU 256
|
||||||
|
+
|
||||||
|
+#define PFO_HWRNG 0x80000000
|
||||||
|
+#define PFO_HW_COMP 0x40000000
|
||||||
|
+#define PFO_ENCRYPT 0x20000000
|
||||||
|
+#define PLATFORM_FACILITIES (PFO_HWRNG | PFO_HW_COMP | PFO_ENCRYPT)
|
||||||
|
+
|
||||||
|
+#define SUB_PROCESSORS 1
|
||||||
|
+
|
||||||
|
+#define DY_MEM_V2 0x80
|
||||||
|
+#define DRC_INFO 0x40
|
||||||
|
+#define BYTE22 (DY_MEM_V2 | DRC_INFO)
|
||||||
|
|
||||||
|
void
|
||||||
|
grub_exit (int rc __attribute__((unused)))
|
||||||
|
@@ -519,6 +549,11 @@ struct option_vector5
|
||||||
|
grub_uint8_t micro_checkpoint;
|
||||||
|
grub_uint8_t reserved0;
|
||||||
|
grub_uint32_t max_cpus;
|
||||||
|
+ grub_uint16_t base_papr;
|
||||||
|
+ grub_uint16_t mem_reference;
|
||||||
|
+ grub_uint32_t platform_facilities;
|
||||||
|
+ grub_uint8_t sub_processors;
|
||||||
|
+ grub_uint8_t byte22;
|
||||||
|
} GRUB_PACKED;
|
||||||
|
|
||||||
|
struct pvr_entry
|
||||||
|
@@ -581,7 +616,7 @@ grub_ieee1275_ibm_cas (void)
|
||||||
|
.vec4 = 0x0001, /* set required minimum capacity % to the lowest value */
|
||||||
|
.vec5_size = 1 + sizeof (struct option_vector5) - 2,
|
||||||
|
.vec5 = {
|
||||||
|
- 0, BYTE2, 0, CMO, 0, 0, 0, 0, MAX_CPU
|
||||||
|
+ 0, BYTE2, 0, CMO, ASSOCIATIVITY, BIN_OPTS, 0, 0, MAX_CPU, 0, 0, PLATFORM_FACILITIES, SUB_PROCESSORS, BYTE22
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,30 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Keng-Yu Lin <kengyu@hpe.com>
|
||||||
|
Date: Wed, 26 Apr 2023 01:43:16 -0400
|
||||||
|
Subject: [PATCH] efi/http: change uint32_t to uintn_t
|
||||||
|
|
||||||
|
Modify UINT32 to UINTN in EFI_HTTP_MESSAGE to
|
||||||
|
be UEFI 2.9 compliant.
|
||||||
|
|
||||||
|
Signed-off-by: Keng-Yu Lin <kengyu@hpe.com>
|
||||||
|
Signed-off-by: Nicolas Frayer <nfrayer@redhat.com>
|
||||||
|
---
|
||||||
|
include/grub/efi/http.h | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/grub/efi/http.h b/include/grub/efi/http.h
|
||||||
|
index c5e9a89f50..ad164ba191 100644
|
||||||
|
--- a/include/grub/efi/http.h
|
||||||
|
+++ b/include/grub/efi/http.h
|
||||||
|
@@ -171,9 +171,9 @@ typedef struct {
|
||||||
|
grub_efi_http_request_data_t *request;
|
||||||
|
grub_efi_http_response_data_t *response;
|
||||||
|
} data;
|
||||||
|
- grub_efi_uint32_t header_count;
|
||||||
|
+ grub_efi_uintn_t header_count;
|
||||||
|
grub_efi_http_header_t *headers;
|
||||||
|
- grub_efi_uint32_t body_length;
|
||||||
|
+ grub_efi_uintn_t body_length;
|
||||||
|
void *body;
|
||||||
|
} grub_efi_http_message_t;
|
||||||
|
|
@ -0,0 +1,73 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fedora Ninjas <grub2-owner@fedoraproject.org>
|
||||||
|
Date: Tue, 8 Aug 2023 05:44:48 -0400
|
||||||
|
Subject: [PATCH] grub-mkconfig dont overwrite BLS cmdline if BLSCFG
|
||||||
|
|
||||||
|
If GRUB_ENABLE_BLSCFG is true, running grub2-mkconfig will not
|
||||||
|
overwrite kernel cmdline in BLS snippets with what is in
|
||||||
|
GRUB_CMDLINE_LINUX in /etc/default/grub. Update can be forced by
|
||||||
|
sending new arg --update-bls-cmdline
|
||||||
|
|
||||||
|
Signed-off-by: mkl <mlewando@redhat.com>
|
||||||
|
---
|
||||||
|
util/grub-mkconfig.in | 10 ++++++++++
|
||||||
|
util/grub.d/10_linux.in | 4 +++-
|
||||||
|
2 files changed, 13 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
|
||||||
|
index 520a672cd2c8..30a2d097823d 100644
|
||||||
|
--- a/util/grub-mkconfig.in
|
||||||
|
+++ b/util/grub-mkconfig.in
|
||||||
|
@@ -51,6 +51,7 @@ export TEXTDOMAIN=@PACKAGE@
|
||||||
|
export TEXTDOMAINDIR="@localedir@"
|
||||||
|
|
||||||
|
export GRUB_GRUBENV_UPDATE="yes"
|
||||||
|
+export GRUB_UPDATE_BLS_CMDLINE="yes"
|
||||||
|
|
||||||
|
. "${pkgdatadir}/grub-mkconfig_lib"
|
||||||
|
|
||||||
|
@@ -62,6 +63,7 @@ usage () {
|
||||||
|
echo
|
||||||
|
print_option_help "-o, --output=$(gettext FILE)" "$(gettext "output generated config to FILE [default=stdout]")"
|
||||||
|
print_option_help "--no-grubenv-update" "$(gettext "do not update variables in the grubenv file")"
|
||||||
|
+ print_option_help "--update-bls-cmdline" "$(gettext "overwrite BLS cmdline args with default args")"
|
||||||
|
print_option_help "-h, --help" "$(gettext "print this message and exit")"
|
||||||
|
print_option_help "-V, --version" "$(gettext "print the version information and exit")"
|
||||||
|
echo
|
||||||
|
@@ -100,6 +102,9 @@ do
|
||||||
|
--no-grubenv-update)
|
||||||
|
GRUB_GRUBENV_UPDATE="no"
|
||||||
|
;;
|
||||||
|
+ --update-bls-cmdline)
|
||||||
|
+ bls_cmdline_update=true
|
||||||
|
+ ;;
|
||||||
|
-*)
|
||||||
|
gettext_printf "Unrecognized option \`%s'\n" "$option" 1>&2
|
||||||
|
usage
|
||||||
|
@@ -167,6 +172,11 @@ fi
|
||||||
|
|
||||||
|
eval "$("${grub_get_kernel_settings}")" || true
|
||||||
|
|
||||||
|
+if [ "x${GRUB_ENABLE_BLSCFG}" = "xtrue" ] && \
|
||||||
|
+ [ "x${bls_cmdline_update}" != "xtrue" ]; then
|
||||||
|
+ GRUB_UPDATE_BLS_CMDLINE="no"
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
if [ "x${GRUB_DISABLE_UUID}" = "xtrue" ]; then
|
||||||
|
if [ -z "${GRUB_DISABLE_LINUX_UUID}" ]; then
|
||||||
|
GRUB_DISABLE_LINUX_UUID="true"
|
||||||
|
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
|
||||||
|
index 4795a63b4ce6..76fc21fb6528 100644
|
||||||
|
--- a/util/grub.d/10_linux.in
|
||||||
|
+++ b/util/grub.d/10_linux.in
|
||||||
|
@@ -265,7 +265,9 @@ if [ -z "\${kernelopts}" ]; then
|
||||||
|
fi
|
||||||
|
EOF
|
||||||
|
|
||||||
|
- if [ "x${GRUB_GRUBENV_UPDATE}" = "xyes" ]; then
|
||||||
|
+ if [ "x${GRUB_UPDATE_BLS_CMDLINE}" = "xyes" ] || \
|
||||||
|
+ ( [ -w /etc/kernel ] && [[ ! -f /etc/kernel/cmdline ]] && \
|
||||||
|
+ [ "x${GRUB_GRUBENV_UPDATE}" = "xyes" ] ); then
|
||||||
|
update_bls_cmdline
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,37 @@
|
|||||||
|
From f4f134582912851628e15df4963b3b8a6652aa26 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Marta Lewandowska <mlewando@redhat.com>
|
||||||
|
Date: Tue, 29 Aug 2023 16:40:47 +0200
|
||||||
|
Subject: [PATCH] grub2-mkconfig: Pass all boot params when used by anaconda
|
||||||
|
|
||||||
|
Previous patch makes it so that the machine can boot, but not all
|
||||||
|
boot params are passed from /etc/default/grub to BLS snippets
|
||||||
|
because /etc/default/grub gets written by anaconda during boot
|
||||||
|
loader installation, long after grub rpms first got installed.
|
||||||
|
|
||||||
|
Signed-off-by: Marta Lewandowska <mlewando@redhat.com>
|
||||||
|
---
|
||||||
|
util/grub.d/10_linux.in | 8 +++++---
|
||||||
|
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
|
||||||
|
index 76fc21fb6528..041a11529588 100644
|
||||||
|
--- a/util/grub.d/10_linux.in
|
||||||
|
+++ b/util/grub.d/10_linux.in
|
||||||
|
@@ -265,9 +265,11 @@ if [ -z "\${kernelopts}" ]; then
|
||||||
|
fi
|
||||||
|
EOF
|
||||||
|
|
||||||
|
- if [ "x${GRUB_UPDATE_BLS_CMDLINE}" = "xyes" ] || \
|
||||||
|
- ( [ -w /etc/kernel ] && [[ ! -f /etc/kernel/cmdline ]] && \
|
||||||
|
- [ "x${GRUB_GRUBENV_UPDATE}" = "xyes" ] ); then
|
||||||
|
+ if [ "x${GRUB_UPDATE_BLS_CMDLINE}" = "xyes" ] || [[ -d /run/install ]]; then
|
||||||
|
+ # only update the bls cmdline if the user specifically requests it or _anytime_
|
||||||
|
+ # in the installer environment: /run/install directory only exists during the
|
||||||
|
+ # installation and not in cloud images, so this should get all the boot params
|
||||||
|
+ # from /etc/default/grub into BLS snippets
|
||||||
|
update_bls_cmdline
|
||||||
|
fi
|
||||||
|
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
Loading…
Reference in new issue