Merge pull request #3330 from deitch/grub-coreos-alpine-3.9

Build coreos grub off of alpine:3.9 and separate build steps for caching
This commit is contained in:
Rolf Neugebauer 2019-04-18 18:47:39 +01:00 committed by GitHub
commit 82a75d4b0f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 55 additions and 19 deletions

View File

@ -18,12 +18,12 @@ var (
outputImages = map[string]string{
"iso": "linuxkit/mkimage-iso:3d81e29b28ddf739becf10758eb6077b198d26d8",
"iso-bios": "linuxkit/mkimage-iso-bios:131849cfc4f3ede87c2ca19b6e2a4ef86354d1ce",
"iso-efi": "linuxkit/mkimage-iso-efi:1fdcfa6ae73907eb41cbfe2db8eddcbfe11a6c66",
"iso-efi": "linuxkit/mkimage-iso-efi:667bd641fd37062eaf9d2173c768ebfcedad3876",
"raw-bios": "linuxkit/mkimage-raw-bios:3d6a6d932e124a0430e36d232dd51af1deef53c3",
"raw-efi": "linuxkit/mkimage-raw-efi:623c9a4a3282d05eeb145c615638dfb1f9919e54",
"raw-efi": "linuxkit/mkimage-raw-efi:2d1a0e6e67c967bd4d5a859eb9044571f6844577",
"squashfs": "linuxkit/mkimage-squashfs:c771872c292081a36333425c12e57393bd79f4e9",
"gcp": "linuxkit/mkimage-gcp:e6cdcf859ab06134c0c37a64ed5f886ec8dae1a1",
"qcow2-efi": "linuxkit/mkimage-qcow2-efi:ec1f27cff4f84cef7ec4bf7e77c18c8a58b9a356",
"qcow2-efi": "linuxkit/mkimage-qcow2-efi:a69258f0ef3c484096617c2e5bc1b52113fb6b81",
"vhd": "linuxkit/mkimage-vhd:3820219e5c350fe8ab2ec6a217272ae82f4b9242",
"dynamic-vhd": "linuxkit/mkimage-dynamic-vhd:743ac9959fe6d3912ebd78b4fd490b117c53f1a6",
"vmdk": "linuxkit/mkimage-vmdk:cee81a3ed9c44ae446ef7ebff8c42c1e77b3e1b5",

View File

@ -1,4 +1,4 @@
FROM linuxkit/alpine:3683c9a66cd4da40bd7d6c7da599b2dcd738b559 AS grub-build
FROM linuxkit/alpine:86cd4f51b49fb9a078b50201d892a3c7973d48ec AS grub-build
RUN apk add \
automake \
make \
@ -18,18 +18,24 @@ 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=d3fd939f18446b05d1d5456f23823498a1eb3fb4
RUN mkdir /grub-lib && \
set -e && \
git clone https://github.com/coreos/grub.git && \
cd grub && \
git checkout -b grub-build ${GRUB_COMMIT} && \
./autogen.sh && \
./configure --libdir=/grub-lib --with-platform=efi CFLAGS="-Os -Wno-unused-value" && \
make -j "$(getconf _NPROCESSORS_ONLN)" && \
make install && \
case $(uname -m) in \
ENV GRUB_COMMIT=2f868ac992be2ae3ab838951aa3e260c045f20f9
COPY patches/* /patches/
WORKDIR /src
RUN git clone https://github.com/coreos/grub.git grub
WORKDIR /src/grub
RUN git checkout -b grub-build ${GRUB_COMMIT}
RUN for patch in /patches/*.patch; do \
echo "Applying $patch"; \
patch -p1 < "$patch"; \
done
RUN ./autogen.sh
RUN ./configure --libdir=/grub-lib --with-platform=efi CFLAGS="-Os -Wno-unused-value"
RUN make -j "$(getconf _NPROCESSORS_ONLN)"
RUN make install
RUN 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; \
;; \

View File

@ -0,0 +1,30 @@
---
util/grub-module-verifier.c | 1 +
util/grub-mkimagexx.c | 1 +
2 files changed, 2 insertion(+)
diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c
--- a/util/grub-mkimagexx.c
+++ b/util/grub-mkimagexx.c
@@ -832,6 +832,7 @@
break;
case R_X86_64_PC32:
+ case R_X86_64_PLT32:
{
grub_uint32_t *t32 = (grub_uint32_t *) target;
*t32 = grub_host_to_target64 (grub_target_to_host32 (*t32)
diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c
--- a/util/grub-module-verifier.c
+++ b/util/grub-module-verifier.c
@@ -19,6 +19,7 @@
-1
}, (int[]){
R_X86_64_PC32,
+ R_X86_64_PLT32,
-1
}
},

View File

@ -1,4 +1,4 @@
FROM linuxkit/grub:a4ba33f2ef880947862eaaeceadb2a51bfebb688 AS grub
FROM linuxkit/grub:a0e2211d39c3c71613f902b3e29746badee3295e AS grub
FROM linuxkit/alpine:86cd4f51b49fb9a078b50201d892a3c7973d48ec AS mirror
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/

View File

@ -1,4 +1,4 @@
FROM linuxkit/grub:a4ba33f2ef880947862eaaeceadb2a51bfebb688 AS grub
FROM linuxkit/grub:a0e2211d39c3c71613f902b3e29746badee3295e AS grub
FROM linuxkit/alpine:86cd4f51b49fb9a078b50201d892a3c7973d48ec AS mirror
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/

View File

@ -1,4 +1,4 @@
FROM linuxkit/grub:a4ba33f2ef880947862eaaeceadb2a51bfebb688 AS grub
FROM linuxkit/grub:a0e2211d39c3c71613f902b3e29746badee3295e AS grub
FROM linuxkit/alpine:86cd4f51b49fb9a078b50201d892a3c7973d48ec AS mirror
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/