mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-19 01:06:27 +00:00
Merge pull request #3328 from deitch/grub-coreos
Move coreos-grub build to its own image
This commit is contained in:
commit
6e67121486
@ -18,12 +18,12 @@ var (
|
|||||||
outputImages = map[string]string{
|
outputImages = map[string]string{
|
||||||
"iso": "linuxkit/mkimage-iso:17c68596851349c9d8917459116f7d3409f12fdd",
|
"iso": "linuxkit/mkimage-iso:17c68596851349c9d8917459116f7d3409f12fdd",
|
||||||
"iso-bios": "linuxkit/mkimage-iso-bios:50aedc359bc13ee2d472a73d6e6740740b809c95",
|
"iso-bios": "linuxkit/mkimage-iso-bios:50aedc359bc13ee2d472a73d6e6740740b809c95",
|
||||||
"iso-efi": "linuxkit/mkimage-iso-efi:248673cd3784eb3664d0f80b5bd31829465ca784",
|
"iso-efi": "linuxkit/mkimage-iso-efi:a74d5b0d6656c2147772f867751ae8fc295b13d2",
|
||||||
"raw-bios": "linuxkit/mkimage-raw-bios:71a966249ffbb23a499cfca280bbabb8afbbd530",
|
"raw-bios": "linuxkit/mkimage-raw-bios:71a966249ffbb23a499cfca280bbabb8afbbd530",
|
||||||
"raw-efi": "linuxkit/mkimage-raw-efi:a01ff1621b9945a63675e2a73d3fda064fad3c3f",
|
"raw-efi": "linuxkit/mkimage-raw-efi:f0dc5faa8c75a0aba2de6d24076c544cddd7f3e7",
|
||||||
"squashfs": "linuxkit/mkimage-squashfs:c409c0f2045a0b9bffec38b981994a3e02852443",
|
"squashfs": "linuxkit/mkimage-squashfs:c409c0f2045a0b9bffec38b981994a3e02852443",
|
||||||
"gcp": "linuxkit/mkimage-gcp:e6cdcf859ab06134c0c37a64ed5f886ec8dae1a1",
|
"gcp": "linuxkit/mkimage-gcp:e6cdcf859ab06134c0c37a64ed5f886ec8dae1a1",
|
||||||
"qcow2-efi": "linuxkit/mkimage-qcow2-efi:74cc5c7c4064c7d25d3caf08ab51cddd9b840ebe",
|
"qcow2-efi": "linuxkit/mkimage-qcow2-efi:b461760411b7295c91246b1d2df8ce13a96ce3c9",
|
||||||
"vhd": "linuxkit/mkimage-vhd:3820219e5c350fe8ab2ec6a217272ae82f4b9242",
|
"vhd": "linuxkit/mkimage-vhd:3820219e5c350fe8ab2ec6a217272ae82f4b9242",
|
||||||
"dynamic-vhd": "linuxkit/mkimage-dynamic-vhd:743ac9959fe6d3912ebd78b4fd490b117c53f1a6",
|
"dynamic-vhd": "linuxkit/mkimage-dynamic-vhd:743ac9959fe6d3912ebd78b4fd490b117c53f1a6",
|
||||||
"vmdk": "linuxkit/mkimage-vmdk:cee81a3ed9c44ae446ef7ebff8c42c1e77b3e1b5",
|
"vmdk": "linuxkit/mkimage-vmdk:cee81a3ed9c44ae446ef7ebff8c42c1e77b3e1b5",
|
||||||
|
44
tools/grub/Dockerfile
Normal file
44
tools/grub/Dockerfile
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
FROM linuxkit/alpine:3683c9a66cd4da40bd7d6c7da599b2dcd738b559 AS grub-build
|
||||||
|
RUN apk add \
|
||||||
|
automake \
|
||||||
|
make \
|
||||||
|
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=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 \
|
||||||
|
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; \
|
||||||
|
;; \
|
||||||
|
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
|
||||||
|
ENTRYPOINT []
|
||||||
|
WORKDIR /
|
||||||
|
COPY --from=grub-build /grub-lib/*.EFI /
|
5
tools/grub/build.yml
Normal file
5
tools/grub/build.yml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
image: grub
|
||||||
|
network: true
|
||||||
|
arches:
|
||||||
|
- arm64
|
||||||
|
- amd64
|
@ -1,44 +1,6 @@
|
|||||||
FROM linuxkit/alpine:3683c9a66cd4da40bd7d6c7da599b2dcd738b559 AS grub-build
|
FROM linuxkit/grub:a4ba33f2ef880947862eaaeceadb2a51bfebb688 AS grub
|
||||||
RUN apk add \
|
|
||||||
automake \
|
|
||||||
make \
|
|
||||||
bison \
|
|
||||||
gettext \
|
|
||||||
flex \
|
|
||||||
gcc \
|
|
||||||
git \
|
|
||||||
libtool \
|
|
||||||
libc-dev \
|
|
||||||
linux-headers \
|
|
||||||
python3 \
|
|
||||||
autoconf
|
|
||||||
|
|
||||||
# because python is not available
|
FROM linuxkit/alpine:518c2ed0f398c5508969ac5e033607201fb419ed AS mirror
|
||||||
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 \
|
|
||||||
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; \
|
|
||||||
;; \
|
|
||||||
aarch64) \
|
|
||||||
./grub-mkimage -O arm64-efi -d /grub-lib/grub/arm64-efi -o /grub-lib/BOOTAA64.EFI -p /EFI/BOOT ${GRUB_MODULES}; \
|
|
||||||
;; \
|
|
||||||
esac
|
|
||||||
|
|
||||||
FROM linuxkit/alpine:3683c9a66cd4da40bd7d6c7da599b2dcd738b559 AS mirror
|
|
||||||
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/
|
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/
|
||||||
RUN apk add --no-cache --initdb -p /out \
|
RUN apk add --no-cache --initdb -p /out \
|
||||||
alpine-baselayout \
|
alpine-baselayout \
|
||||||
@ -54,6 +16,6 @@ RUN mv /out/etc/apk/repositories.upstream /out/etc/apk/repositories
|
|||||||
FROM scratch
|
FROM scratch
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
COPY --from=mirror /out/ /
|
COPY --from=mirror /out/ /
|
||||||
COPY --from=grub-build /grub-lib/BOOT*.EFI /usr/local/share/
|
COPY --from=grub /BOOT*.EFI /usr/local/share/
|
||||||
COPY . .
|
COPY . .
|
||||||
ENTRYPOINT [ "/make-efi" ]
|
ENTRYPOINT [ "/make-efi" ]
|
||||||
|
@ -1,44 +1,6 @@
|
|||||||
FROM linuxkit/alpine:3683c9a66cd4da40bd7d6c7da599b2dcd738b559 AS grub-build
|
FROM linuxkit/grub:a4ba33f2ef880947862eaaeceadb2a51bfebb688 AS grub
|
||||||
RUN apk add \
|
|
||||||
autoconf \
|
|
||||||
automake \
|
|
||||||
bison \
|
|
||||||
gcc \
|
|
||||||
gettext \
|
|
||||||
git \
|
|
||||||
flex \
|
|
||||||
libc-dev \
|
|
||||||
libtool \
|
|
||||||
linux-headers \
|
|
||||||
make \
|
|
||||||
python3
|
|
||||||
|
|
||||||
# because python is not available
|
FROM linuxkit/alpine:518c2ed0f398c5508969ac5e033607201fb419ed AS mirror
|
||||||
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 \
|
|
||||||
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; \
|
|
||||||
;; \
|
|
||||||
aarch64) \
|
|
||||||
./grub-mkimage -O arm64-efi -d /grub-lib/grub/arm64-efi -o /grub-lib/BOOTAA64.EFI -p /EFI/BOOT ${GRUB_MODULES}; \
|
|
||||||
;; \
|
|
||||||
esac
|
|
||||||
|
|
||||||
FROM linuxkit/alpine:3683c9a66cd4da40bd7d6c7da599b2dcd738b559 AS mirror
|
|
||||||
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/
|
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/
|
||||||
RUN apk add --no-cache --initdb -p /out \
|
RUN apk add --no-cache --initdb -p /out \
|
||||||
alpine-baselayout \
|
alpine-baselayout \
|
||||||
@ -57,6 +19,6 @@ RUN mv /out/etc/apk/repositories.upstream /out/etc/apk/repositories
|
|||||||
FROM scratch
|
FROM scratch
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
COPY --from=mirror /out/ /
|
COPY --from=mirror /out/ /
|
||||||
COPY --from=grub-build /grub-lib/BOOT*.EFI /usr/local/share/
|
COPY --from=grub /BOOT*.EFI /usr/local/share/
|
||||||
COPY . .
|
COPY . .
|
||||||
ENTRYPOINT [ "/make-efi" ]
|
ENTRYPOINT [ "/make-efi" ]
|
||||||
|
@ -1,43 +1,6 @@
|
|||||||
FROM linuxkit/alpine:3683c9a66cd4da40bd7d6c7da599b2dcd738b559 AS grub-build
|
FROM linuxkit/grub:a4ba33f2ef880947862eaaeceadb2a51bfebb688 AS grub
|
||||||
RUN apk add \
|
|
||||||
autoconf \
|
|
||||||
automake \
|
|
||||||
bison \
|
|
||||||
gcc \
|
|
||||||
gettext \
|
|
||||||
git \
|
|
||||||
flex \
|
|
||||||
libc-dev \
|
|
||||||
libtool \
|
|
||||||
linux-headers \
|
|
||||||
make \
|
|
||||||
python3
|
|
||||||
# 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 \
|
FROM linuxkit/alpine:518c2ed0f398c5508969ac5e033607201fb419ed AS mirror
|
||||||
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 \
|
|
||||||
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; \
|
|
||||||
;; \
|
|
||||||
aarch64) \
|
|
||||||
./grub-mkimage -O arm64-efi -d /grub-lib/grub/arm64-efi -o /grub-lib/BOOTAA64.EFI -p /EFI/BOOT ${GRUB_MODULES}; \
|
|
||||||
;; \
|
|
||||||
esac
|
|
||||||
|
|
||||||
FROM linuxkit/alpine:3683c9a66cd4da40bd7d6c7da599b2dcd738b559 AS mirror
|
|
||||||
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/
|
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/
|
||||||
RUN apk add --no-cache --initdb -p /out \
|
RUN apk add --no-cache --initdb -p /out \
|
||||||
alpine-baselayout \
|
alpine-baselayout \
|
||||||
@ -55,6 +18,6 @@ RUN mv /out/etc/apk/repositories.upstream /out/etc/apk/repositories
|
|||||||
FROM scratch
|
FROM scratch
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
COPY --from=mirror /out/ /
|
COPY --from=mirror /out/ /
|
||||||
COPY --from=grub-build /grub-lib/BOOT*.EFI /usr/local/share/
|
COPY --from=grub /BOOT*.EFI /usr/local/share/
|
||||||
COPY . .
|
COPY . .
|
||||||
ENTRYPOINT [ "/make-efi" ]
|
ENTRYPOINT [ "/make-efi" ]
|
||||||
|
Loading…
Reference in New Issue
Block a user