diff --git a/tools/mkimage-iso-efi/Dockerfile b/tools/mkimage-iso-efi/Dockerfile index 6df3f02ad..014941a5e 100644 --- a/tools/mkimage-iso-efi/Dockerfile +++ b/tools/mkimage-iso-efi/Dockerfile @@ -19,23 +19,17 @@ RUN ln -s python3 /usr/bin/python ENV GRUB_MODULES="part_gpt fat ext2 iso9660 gzio linux acpi normal cpio crypto disk boot crc64 gpt \ search_disk_uuid tftp verify xzio xfs video" -ENV GRUB_COMMIT=6782f6d431d22b4e9ab14e94d263795c7991e160 +ENV GRUB_COMMIT=d3fd939f18446b05d1d5456f23823498a1eb3fb4 -COPY patches/* /patches/ RUN mkdir /grub-lib && \ set -e && \ git clone https://github.com/coreos/grub.git && \ cd grub && \ git checkout -b grub-build ${GRUB_COMMIT} && \ - for patch in /patches/*.patch; do \ - echo "Applying $patch"; \ - patch -p1 < "$patch"; \ - done && \ ./autogen.sh && \ ./configure --libdir=/grub-lib --with-platform=efi CFLAGS="-Os -Wno-unused-value" && \ make -j "$(getconf _NPROCESSORS_ONLN)" && \ make install && \ -# create the grub core image case $(uname -m) in \ x86_64) \ ./grub-mkimage -O x86_64-efi -d /grub-lib/grub/x86_64-efi -o /grub-lib/BOOTX64.EFI -p /EFI/BOOT ${GRUB_MODULES} linuxefi; \ diff --git a/tools/mkimage-iso-efi/patches/0001-TPM-build-issue-fixing.patch b/tools/mkimage-iso-efi/patches/0001-TPM-build-issue-fixing.patch deleted file mode 100644 index 1a17a57a9..000000000 --- a/tools/mkimage-iso-efi/patches/0001-TPM-build-issue-fixing.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 617b08377dbaa9ea3876b5585fe0ba36286fbed6 Mon Sep 17 00:00:00 2001 -From: Dennis Chen -Date: Thu, 17 Aug 2017 05:47:55 +0000 -Subject: [PATCH] TPM: build issue fixing - -Fix the build issue on arm64 and amd64. - -Signed-off-by: Dennis Chen ---- - grub-core/kern/efi/tpm.c | 12 ++++++------ - include/grub/efi/tpm.h | 4 ++-- - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/grub-core/kern/efi/tpm.c b/grub-core/kern/efi/tpm.c -index c9fb3c1..ed40f98 100644 ---- a/grub-core/kern/efi/tpm.c -+++ b/grub-core/kern/efi/tpm.c -@@ -175,7 +175,7 @@ grub_tpm1_log_event(grub_efi_handle_t tpm_handle, unsigned char *buf, - grub_size_t size, grub_uint8_t pcr, - const char *description) - { -- Event *event; -+ TCG_PCR_EVENT *event; - grub_efi_status_t status; - grub_efi_tpm_protocol_t *tpm; - grub_efi_physical_address_t lastevent; -@@ -188,15 +188,15 @@ grub_tpm1_log_event(grub_efi_handle_t tpm_handle, unsigned char *buf, - if (!grub_tpm_present(tpm)) - return 0; - -- event = grub_zalloc(sizeof (Event) + grub_strlen(description) + 1); -+ event = grub_zalloc(sizeof (TCG_PCR_EVENT) + grub_strlen(description) + 1); - if (!event) - return grub_error (GRUB_ERR_OUT_OF_MEMORY, - N_("cannot allocate TPM event buffer")); - -- event->pcrindex = pcr; -- event->eventtype = EV_IPL; -- event->eventsize = grub_strlen(description) + 1; -- grub_memcpy(event->event, description, event->eventsize); -+ event->PCRIndex = pcr; -+ event->EventType = EV_IPL; -+ event->EventSize = grub_strlen(description) + 1; -+ grub_memcpy(event->Event, description, event->EventSize); - - algorithm = TCG_ALG_SHA; - status = efi_call_7 (tpm->log_extend_event, tpm, buf, (grub_uint64_t) size, -diff --git a/include/grub/efi/tpm.h b/include/grub/efi/tpm.h -index e2aff4a..fb3bb0e 100644 ---- a/include/grub/efi/tpm.h -+++ b/include/grub/efi/tpm.h -@@ -69,7 +69,7 @@ struct grub_efi_tpm_protocol - grub_efi_uint32_t TpmOutputParameterBlockSize, - grub_efi_uint8_t *TpmOutputParameterBlock); - grub_efi_status_t (*log_extend_event) (struct grub_efi_tpm_protocol *this, -- grub_efi_physical_address_t HashData, -+ grub_efi_uint8_t *HashData, - grub_efi_uint64_t HashDataLen, - grub_efi_uint32_t AlgorithmId, - TCG_PCR_EVENT *TCGLogData, -@@ -129,7 +129,7 @@ struct grub_efi_tpm2_protocol - grub_efi_boolean_t *EventLogTruncated); - grub_efi_status_t (*hash_log_extend_event) (struct grub_efi_tpm2_protocol *this, - grub_efi_uint64_t Flags, -- grub_efi_physical_address_t *DataToHash, -+ grub_efi_uint8_t *DataToHash, - grub_efi_uint64_t DataToHashLen, - EFI_TCG2_EVENT *EfiTcgEvent); - grub_efi_status_t (*submit_command) (struct grub_efi_tpm2_protocol *this, --- -2.7.4 - diff --git a/tools/mkimage-iso-efi/patches/0002-video-Allow-to-set-pure-text-mode-in-case-of-EFI.patch b/tools/mkimage-iso-efi/patches/0002-video-Allow-to-set-pure-text-mode-in-case-of-EFI.patch deleted file mode 100644 index 8cc747b6c..000000000 --- a/tools/mkimage-iso-efi/patches/0002-video-Allow-to-set-pure-text-mode-in-case-of-EFI.patch +++ /dev/null @@ -1,33 +0,0 @@ -From ac7afa666cb2b7b133b6e27bcf22c9cd90a2936a Mon Sep 17 00:00:00 2001 -From: Dennis Chen -Date: Wed, 6 Sep 2017 09:06:54 +0000 -Subject: [PATCH] video: Allow to set pure 'text' mode in case of EFI - -Current code doesn't accept a pure text mode when booting -from UEFI firmware on i386 platform, this will result in -below error message even we already have 'set gfxpayload=text' -configured: "no suitable video mode found". This often happens -when we boot a VM which UEFI firmware doesn't include 'suitable' -video modes. - -Signed-off-by: Dennis Chen ---- - grub-core/loader/i386/linux.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/grub-core/loader/i386/linux.c b/grub-core/loader/i386/linux.c -index 5fdfea3..8cf1086 100644 ---- a/grub-core/loader/i386/linux.c -+++ b/grub-core/loader/i386/linux.c -@@ -49,7 +49,7 @@ GRUB_MOD_LICENSE ("GPLv3+"); - #include - #define HAS_VGA_TEXT 0 - #define DEFAULT_VIDEO_MODE "auto" --#define ACCEPTS_PURE_TEXT 0 -+#define ACCEPTS_PURE_TEXT 1 - #elif defined (GRUB_MACHINE_IEEE1275) - #include - #define HAS_VGA_TEXT 0 --- -2.7.4 - diff --git a/tools/mkimage-raw-efi/Dockerfile b/tools/mkimage-raw-efi/Dockerfile index c21133532..8f935be4a 100644 --- a/tools/mkimage-raw-efi/Dockerfile +++ b/tools/mkimage-raw-efi/Dockerfile @@ -20,23 +20,17 @@ RUN ln -s python3 /usr/bin/python ENV GRUB_MODULES="part_gpt fat ext2 iso9660 gzio linux acpi normal cpio crypto disk boot crc64 gpt \ search_disk_uuid tftp verify xzio xfs video" -ENV GRUB_COMMIT=6782f6d431d22b4e9ab14e94d263795c7991e160 +ENV GRUB_COMMIT=d3fd939f18446b05d1d5456f23823498a1eb3fb4 -COPY patches/* /patches/ RUN mkdir /grub-lib && \ set -e && \ git clone https://github.com/coreos/grub.git && \ cd grub && \ git checkout -b grub-build ${GRUB_COMMIT} && \ - for patch in /patches/*.patch; do \ - echo "Applying $patch"; \ - patch -p1 < "$patch"; \ - done && \ ./autogen.sh && \ ./configure --libdir=/grub-lib --with-platform=efi CFLAGS="-Os -Wno-unused-value" && \ make -j "$(getconf _NPROCESSORS_ONLN)" && \ make install && \ -# create the grub core image case $(uname -m) in \ x86_64) \ ./grub-mkimage -O x86_64-efi -d /grub-lib/grub/x86_64-efi -o /grub-lib/BOOTX64.EFI -p /EFI/BOOT ${GRUB_MODULES} linuxefi; \ diff --git a/tools/mkimage-raw-efi/patches/0001-TPM-build-issue-fixing.patch b/tools/mkimage-raw-efi/patches/0001-TPM-build-issue-fixing.patch deleted file mode 100644 index 1a17a57a9..000000000 --- a/tools/mkimage-raw-efi/patches/0001-TPM-build-issue-fixing.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 617b08377dbaa9ea3876b5585fe0ba36286fbed6 Mon Sep 17 00:00:00 2001 -From: Dennis Chen -Date: Thu, 17 Aug 2017 05:47:55 +0000 -Subject: [PATCH] TPM: build issue fixing - -Fix the build issue on arm64 and amd64. - -Signed-off-by: Dennis Chen ---- - grub-core/kern/efi/tpm.c | 12 ++++++------ - include/grub/efi/tpm.h | 4 ++-- - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/grub-core/kern/efi/tpm.c b/grub-core/kern/efi/tpm.c -index c9fb3c1..ed40f98 100644 ---- a/grub-core/kern/efi/tpm.c -+++ b/grub-core/kern/efi/tpm.c -@@ -175,7 +175,7 @@ grub_tpm1_log_event(grub_efi_handle_t tpm_handle, unsigned char *buf, - grub_size_t size, grub_uint8_t pcr, - const char *description) - { -- Event *event; -+ TCG_PCR_EVENT *event; - grub_efi_status_t status; - grub_efi_tpm_protocol_t *tpm; - grub_efi_physical_address_t lastevent; -@@ -188,15 +188,15 @@ grub_tpm1_log_event(grub_efi_handle_t tpm_handle, unsigned char *buf, - if (!grub_tpm_present(tpm)) - return 0; - -- event = grub_zalloc(sizeof (Event) + grub_strlen(description) + 1); -+ event = grub_zalloc(sizeof (TCG_PCR_EVENT) + grub_strlen(description) + 1); - if (!event) - return grub_error (GRUB_ERR_OUT_OF_MEMORY, - N_("cannot allocate TPM event buffer")); - -- event->pcrindex = pcr; -- event->eventtype = EV_IPL; -- event->eventsize = grub_strlen(description) + 1; -- grub_memcpy(event->event, description, event->eventsize); -+ event->PCRIndex = pcr; -+ event->EventType = EV_IPL; -+ event->EventSize = grub_strlen(description) + 1; -+ grub_memcpy(event->Event, description, event->EventSize); - - algorithm = TCG_ALG_SHA; - status = efi_call_7 (tpm->log_extend_event, tpm, buf, (grub_uint64_t) size, -diff --git a/include/grub/efi/tpm.h b/include/grub/efi/tpm.h -index e2aff4a..fb3bb0e 100644 ---- a/include/grub/efi/tpm.h -+++ b/include/grub/efi/tpm.h -@@ -69,7 +69,7 @@ struct grub_efi_tpm_protocol - grub_efi_uint32_t TpmOutputParameterBlockSize, - grub_efi_uint8_t *TpmOutputParameterBlock); - grub_efi_status_t (*log_extend_event) (struct grub_efi_tpm_protocol *this, -- grub_efi_physical_address_t HashData, -+ grub_efi_uint8_t *HashData, - grub_efi_uint64_t HashDataLen, - grub_efi_uint32_t AlgorithmId, - TCG_PCR_EVENT *TCGLogData, -@@ -129,7 +129,7 @@ struct grub_efi_tpm2_protocol - grub_efi_boolean_t *EventLogTruncated); - grub_efi_status_t (*hash_log_extend_event) (struct grub_efi_tpm2_protocol *this, - grub_efi_uint64_t Flags, -- grub_efi_physical_address_t *DataToHash, -+ grub_efi_uint8_t *DataToHash, - grub_efi_uint64_t DataToHashLen, - EFI_TCG2_EVENT *EfiTcgEvent); - grub_efi_status_t (*submit_command) (struct grub_efi_tpm2_protocol *this, --- -2.7.4 - diff --git a/tools/mkimage-raw-efi/patches/0002-video-Allow-to-set-pure-text-mode-in-case-of-EFI.patch b/tools/mkimage-raw-efi/patches/0002-video-Allow-to-set-pure-text-mode-in-case-of-EFI.patch deleted file mode 100644 index 8cc747b6c..000000000 --- a/tools/mkimage-raw-efi/patches/0002-video-Allow-to-set-pure-text-mode-in-case-of-EFI.patch +++ /dev/null @@ -1,33 +0,0 @@ -From ac7afa666cb2b7b133b6e27bcf22c9cd90a2936a Mon Sep 17 00:00:00 2001 -From: Dennis Chen -Date: Wed, 6 Sep 2017 09:06:54 +0000 -Subject: [PATCH] video: Allow to set pure 'text' mode in case of EFI - -Current code doesn't accept a pure text mode when booting -from UEFI firmware on i386 platform, this will result in -below error message even we already have 'set gfxpayload=text' -configured: "no suitable video mode found". This often happens -when we boot a VM which UEFI firmware doesn't include 'suitable' -video modes. - -Signed-off-by: Dennis Chen ---- - grub-core/loader/i386/linux.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/grub-core/loader/i386/linux.c b/grub-core/loader/i386/linux.c -index 5fdfea3..8cf1086 100644 ---- a/grub-core/loader/i386/linux.c -+++ b/grub-core/loader/i386/linux.c -@@ -49,7 +49,7 @@ GRUB_MOD_LICENSE ("GPLv3+"); - #include - #define HAS_VGA_TEXT 0 - #define DEFAULT_VIDEO_MODE "auto" --#define ACCEPTS_PURE_TEXT 0 -+#define ACCEPTS_PURE_TEXT 1 - #elif defined (GRUB_MACHINE_IEEE1275) - #include - #define HAS_VGA_TEXT 0 --- -2.7.4 -