mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-21 01:59:07 +00:00
remove grub-dev in favour of grub package
Signed-off-by: Avi Deitcher <avi@deitcher.net>
This commit is contained in:
parent
35ab64822d
commit
89ed0f5089
@ -1,53 +1,25 @@
|
|||||||
# this is really hard to build. Do not change this version unless you must
|
FROM linuxkit/alpine:5ac048802293564a50414394e1b9896eac528e7d AS build
|
||||||
FROM linuxkit/alpine:86cd4f51b49fb9a078b50201d892a3c7973d48ec AS grub-build
|
ENV GRUB_MODULES="part_gpt fat ext2 iso9660 gzio linux acpi normal cpio crypto disk boot crc64 \
|
||||||
|
search_fs_uuid tftp xzio xfs video"
|
||||||
|
|
||||||
RUN apk add \
|
RUN apk add \
|
||||||
automake \
|
grub \
|
||||||
make \
|
grub-efi
|
||||||
bison \
|
|
||||||
gettext \
|
|
||||||
flex \
|
|
||||||
gcc \
|
|
||||||
git \
|
|
||||||
libtool \
|
|
||||||
libc-dev \
|
|
||||||
linux-headers \
|
|
||||||
python3 \
|
|
||||||
autoconf
|
|
||||||
|
|
||||||
# because python is not available
|
|
||||||
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=2f868ac992be2ae3ab838951aa3e260c045f20f9
|
|
||||||
|
|
||||||
COPY patches/* /patches/
|
FROM build as build-arm64
|
||||||
|
RUN grub-mkimage -O arm64-efi -o /BOOTAA64.EFI -p /EFI/BOOT ${GRUB_MODULES}
|
||||||
|
|
||||||
WORKDIR /src
|
FROM build as build-amd64
|
||||||
RUN git clone https://github.com/coreos/grub.git grub
|
RUN grub-mkimage -O x86_64-efi -o /BOOTX64.EFI -p /EFI/BOOT ${GRUB_MODULES}
|
||||||
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
|
FROM build as build-riscv64
|
||||||
|
RUN grub-mkimage -O riscv64-efi -o /BOOTRISCV64.EFI -p /EFI/BOOT ${GRUB_MODULES}
|
||||||
|
|
||||||
RUN ./configure --libdir=/grub-lib --with-platform=efi CFLAGS="-Os -Wno-unused-value"
|
FROM build-${TARGETARCH} AS collate
|
||||||
RUN make -j "$(getconf _NPROCESSORS_ONLN)"
|
ARG TARGETARCH
|
||||||
RUN make install
|
COPY /*.EFI /
|
||||||
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}; \
|
|
||||||
;; \
|
|
||||||
aarch64) \
|
|
||||||
./grub-mkimage -O arm64-efi -d /grub-lib/grub/arm64-efi -o /grub-lib/BOOTAA64.EFI -p /EFI/BOOT ${GRUB_MODULES}; \
|
|
||||||
;; \
|
|
||||||
esac
|
|
||||||
|
|
||||||
FROM scratch
|
FROM scratch
|
||||||
ENTRYPOINT []
|
ENTRYPOINT []
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
COPY --from=grub-build /grub-lib/*.EFI /
|
COPY --from=collate /*.EFI /
|
||||||
|
@ -3,3 +3,4 @@ network: true
|
|||||||
arches:
|
arches:
|
||||||
- arm64
|
- arm64
|
||||||
- amd64
|
- amd64
|
||||||
|
- riscv64
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
---
|
|
||||||
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
|
|
||||||
}
|
|
||||||
},
|
|
@ -1,9 +1,10 @@
|
|||||||
# this is really hard to build. Do not change this version unless you must
|
FROM --platform=linux/amd64 linuxkit/grub-dev:a61d5ca6f0c0da0983e4e9c90dfa17c35e725817 AS grub-build-amd64
|
||||||
FROM --platform=linux/amd64 linuxkit/grub-dev:854df7920df18567e23940a1f9cf573980dcfe9b AS grub-build-amd64
|
FROM --platform=linux/arm64 linuxkit/grub-dev:a61d5ca6f0c0da0983e4e9c90dfa17c35e725817 AS grub-build-arm64
|
||||||
FROM --platform=linux/arm64 linuxkit/grub-dev:854df7920df18567e23940a1f9cf573980dcfe9b AS grub-build-arm64
|
FROM --platform=linux/riscv64 linuxkit/grub-dev:a61d5ca6f0c0da0983e4e9c90dfa17c35e725817 AS grub-build-riscv64
|
||||||
|
|
||||||
FROM scratch
|
FROM scratch
|
||||||
ENTRYPOINT []
|
ENTRYPOINT []
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
COPY --from=grub-build-amd64 /*.EFI /
|
COPY --from=grub-build-amd64 /*.EFI /
|
||||||
COPY --from=grub-build-arm64 /*.EFI /
|
COPY --from=grub-build-arm64 /*.EFI /
|
||||||
|
COPY --from=grub-build-riscv64 /*.EFI /
|
||||||
|
@ -3,3 +3,4 @@ network: true
|
|||||||
arches:
|
arches:
|
||||||
- arm64
|
- arm64
|
||||||
- amd64
|
- amd64
|
||||||
|
- riscv64
|
||||||
|
Loading…
Reference in New Issue
Block a user