exists=`docker images $label | grep $label`
if test -z "$exists"
then
- docker build -f alpine-dom0/$label/build.docker -t $label .
+ docker build -f alpine-dom0/$label/Dockerfile -t $label .
fi
done
--- /dev/null
+FROM alpine as dom0
+
+RUN \
+ apk update && \
+ apk add openrc
+
+ADD alpine-dom0/dom0/udhcpc.script /usr/share/udhcpc/default.script
+COPY --from=linux-builder /out/ /
+
+RUN \
+ rc-update add networking sysinit && \
+ rc-update add loopback sysinit && \
+ rc-update add bootmisc boot && \
+ rc-update add devfs sysinit && \
+ rc-update add dmesg sysinit && \
+ rc-update add hostname boot && \
+ rc-update add hwclock boot && \
+ rc-update add hwdrivers sysinit && \
+ rc-update add killprocs shutdown && \
+ rc-update add modloop sysinit && \
+ rc-update add modules boot && \
+ rc-update add mount-ro shutdown && \
+ rc-update add savecache shutdown && \
+ rc-update add sysctl boot && \
+ rc-update add local default && \
+ echo "nameserver 8.8.8.8" > /etc/resolv.conf && \
+ echo "auto lo" > /etc/network/interfaces && \
+ echo "auto eth0" >> /etc/network/interfaces && \
+ echo "iface eth0 inet dhcp" >> /etc/network/interfaces && \
+ echo "ttyS0" >> /etc/securetty && \
+ echo "hvc0" >> /etc/securetty && \
+ echo "ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100" >> /etc/inittab && \
+ echo "hvc0::respawn:/sbin/getty -L hvc0 115200 vt100" >> /etc/inittab && \
+# Xen run deps
+ apk add python2 gettext zlib ncurses dev86 texinfo yajl curl libaio autoconf automake iasl make xz-dev bash util-linux argp-standalone && \
+ echo "/etc/init.d/xencommons start" > /etc/local.d/xencommons.start && \
+ chmod +x /etc/local.d/xencommons.start && \
+ rc-update add xencommons default && \
+# QEMU run deps
+ apk add glib pixman libcap libattr
+
+ENTRYPOINT ["/bin/sh"]
+++ /dev/null
-FROM alpine as dom0
-
-RUN \
- apk update && \
- apk add openrc
-
-ADD alpine-dom0/dom0/udhcpc.script /usr/share/udhcpc/default.script
-COPY --from=linux-builder /out/ /
-
-RUN \
- rc-update add networking sysinit && \
- rc-update add loopback sysinit && \
- rc-update add bootmisc boot && \
- rc-update add devfs sysinit && \
- rc-update add dmesg sysinit && \
- rc-update add hostname boot && \
- rc-update add hwclock boot && \
- rc-update add hwdrivers sysinit && \
- rc-update add killprocs shutdown && \
- rc-update add modloop sysinit && \
- rc-update add modules boot && \
- rc-update add mount-ro shutdown && \
- rc-update add savecache shutdown && \
- rc-update add sysctl boot && \
- rc-update add local default && \
- echo "nameserver 8.8.8.8" > /etc/resolv.conf && \
- echo "auto lo" > /etc/network/interfaces && \
- echo "auto eth0" >> /etc/network/interfaces && \
- echo "iface eth0 inet dhcp" >> /etc/network/interfaces && \
- echo "ttyS0" >> /etc/securetty && \
- echo "hvc0" >> /etc/securetty && \
- echo "ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100" >> /etc/inittab && \
- echo "hvc0::respawn:/sbin/getty -L hvc0 115200 vt100" >> /etc/inittab && \
-# Xen run deps
- apk add python2 gettext zlib ncurses dev86 texinfo yajl curl libaio autoconf automake iasl make xz-dev bash util-linux argp-standalone && \
- echo "/etc/init.d/xencommons start" > /etc/local.d/xencommons.start && \
- chmod +x /etc/local.d/xencommons.start && \
- rc-update add xencommons default && \
-# QEMU run deps
- apk add glib pixman libcap libattr
-
-ENTRYPOINT ["/bin/sh"]
--- /dev/null
+FROM qemu-builder as linux-builder
+
+COPY alpine-dom0/linux-builder/linux-config /root/
+
+ENV SOURCE_DIR=/root
+ENV OUT_DIR=/out
+ENV LINUX_VERSION=4.14
+
+RUN \
+ apk update && \
+# Linux build deps
+ apk add bc
+
+# Download and build Linux
+RUN \
+cd $SOURCE_DIR && \
+curl -fsSLO https://www.kernel.org/pub/linux/kernel/v4.x/linux-$LINUX_VERSION.tar.xz && \
+tar xvJf linux-$LINUX_VERSION.tar.xz && \
+cd linux-$LINUX_VERSION && \
+cp $SOURCE_DIR/linux-config .config && \
+make -j "$(getconf _NPROCESSORS_ONLN)" && \
+cp arch/x86/boot/bzImage $OUT_DIR/boot/kernel
+
+ENTRYPOINT ["/bin/sh"]
+++ /dev/null
-FROM qemu-builder as linux-builder
-
-COPY alpine-dom0/linux-builder/linux-config /root/
-
-ENV SOURCE_DIR=/root
-ENV OUT_DIR=/out
-ENV LINUX_VERSION=4.14
-
-RUN \
- apk update && \
-# Linux build deps
- apk add bc
-
-# Download and build Linux
-RUN \
-cd $SOURCE_DIR && \
-curl -fsSLO https://www.kernel.org/pub/linux/kernel/v4.x/linux-$LINUX_VERSION.tar.xz && \
-tar xvJf linux-$LINUX_VERSION.tar.xz && \
-cd linux-$LINUX_VERSION && \
-cp $SOURCE_DIR/linux-config .config && \
-make -j "$(getconf _NPROCESSORS_ONLN)" && \
-cp arch/x86/boot/bzImage $OUT_DIR/boot/kernel
-
-ENTRYPOINT ["/bin/sh"]
--- /dev/null
+FROM xen-builder as qemu-builder
+
+COPY alpine-dom0/qemu-builder/qemu-patch /root/
+
+ENV SOURCE_DIR=/root
+ENV OUT_DIR=/out
+ENV QEMU_VERSION=2.10.1
+
+RUN \
+ apk update && \
+# QEMU build deps
+ apk add glib-dev pixman-dev libcap-dev libattr
+
+# Download and build QEMU
+RUN \
+cd $SOURCE_DIR && \
+curl -fsSLO https://download.qemu.org/qemu-$QEMU_VERSION.tar.xz && \
+tar xvJf qemu-$QEMU_VERSION.tar.xz && \
+cd qemu-$QEMU_VERSION && \
+patch -p1 < $SOURCE_DIR/qemu-patch && \
+export PKG_CONFIG_PATH=$SOURCE_DIR/xen/tools/pkg-config && \
+export INST_DIR=$OUT_DIR && \
+./configure --prefix=/usr --enable-xen --target-list=i386-softmmu \
+ --extra-cflags="-I$INST_DIR/usr/include" \
+ --extra-ldflags="-L$INST_DIR/usr/lib -Wl,-rpath-link=$INST_DIR/usr/lib \
+ -L$INST_DIR/usr/lib64 -Wl,-rpath-link=$INST_DIR/usr/lib64" \
+ --disable-kvm --enable-virtfs --disable-werror && \
+make -j "$(getconf _NPROCESSORS_ONLN)" && \
+make DESTDIR=$OUT_DIR install && \
+mv $OUT_DIR/usr/bin/qemu-system-i386 $OUT_DIR/usr/lib/xen/bin/qemu-system-i386
+
+ENTRYPOINT ["/bin/sh"]
+++ /dev/null
-FROM xen-builder as qemu-builder
-
-COPY alpine-dom0/qemu-builder/qemu-patch /root/
-
-ENV SOURCE_DIR=/root
-ENV OUT_DIR=/out
-ENV QEMU_VERSION=2.10.1
-
-RUN \
- apk update && \
-# QEMU build deps
- apk add glib-dev pixman-dev libcap-dev libattr
-
-# Download and build QEMU
-RUN \
-cd $SOURCE_DIR && \
-curl -fsSLO https://download.qemu.org/qemu-$QEMU_VERSION.tar.xz && \
-tar xvJf qemu-$QEMU_VERSION.tar.xz && \
-cd qemu-$QEMU_VERSION && \
-patch -p1 < $SOURCE_DIR/qemu-patch && \
-export PKG_CONFIG_PATH=$SOURCE_DIR/xen/tools/pkg-config && \
-export INST_DIR=$OUT_DIR && \
-./configure --prefix=/usr --enable-xen --target-list=i386-softmmu \
- --extra-cflags="-I$INST_DIR/usr/include" \
- --extra-ldflags="-L$INST_DIR/usr/lib -Wl,-rpath-link=$INST_DIR/usr/lib \
- -L$INST_DIR/usr/lib64 -Wl,-rpath-link=$INST_DIR/usr/lib64" \
- --disable-kvm --enable-virtfs --disable-werror && \
-make -j "$(getconf _NPROCESSORS_ONLN)" && \
-make DESTDIR=$OUT_DIR install && \
-mv $OUT_DIR/usr/bin/qemu-system-i386 $OUT_DIR/usr/lib/xen/bin/qemu-system-i386
-
-ENTRYPOINT ["/bin/sh"]
--- /dev/null
+FROM alpine as xen-builder
+
+COPY alpine-dom0/xen-builder/xen-patch /root/
+
+ENV SOURCE_DIR=/root
+ENV OUT_DIR=/out
+ENV XEN_VERSION=4.10.0-rc3
+
+RUN \
+ apk update && \
+# Xen build deps
+ apk add gcc patch musl-dev git python2-dev gettext zlib-dev \
+ ncurses-dev dev86 texinfo yajl-dev curl-dev libaio-dev autoconf \
+ automake iasl make xz-dev bash util-linux-dev argp-standalone \
+ linux-headers curl
+
+# Download and build Xen
+RUN \
+cd $SOURCE_DIR && \
+curl -fsSLO https://downloads.xenproject.org/release/xen/$XEN_VERSION/xen-$XEN_VERSION.tar.gz && \
+tar xvzf xen-$XEN_VERSION.tar.gz && \
+cd xen-$XEN_VERSION && \
+patch -p1 < $SOURCE_DIR/xen-patch && \
+./configure --prefix=/usr --with-system-qemu=/usr/lib/xen/bin/qemu-system-i386 --disable-stubdom --disable-qemu-traditional --disable-rombios && \
+make -j "$(getconf _NPROCESSORS_ONLN)" && \
+mkdir -p DESTDIR=$OUT_DIR && \
+make DESTDIR=$OUT_DIR install
+
+ENTRYPOINT ["/bin/sh"]
+++ /dev/null
-FROM alpine as xen-builder
-
-COPY alpine-dom0/xen-builder/xen-patch /root/
-
-ENV SOURCE_DIR=/root
-ENV OUT_DIR=/out
-ENV XEN_VERSION=4.10.0-rc3
-
-RUN \
- apk update && \
-# Xen build deps
- apk add gcc patch musl-dev git python2-dev gettext zlib-dev \
- ncurses-dev dev86 texinfo yajl-dev curl-dev libaio-dev autoconf \
- automake iasl make xz-dev bash util-linux-dev argp-standalone \
- linux-headers curl
-
-# Download and build Xen
-RUN \
-cd $SOURCE_DIR && \
-curl -fsSLO https://downloads.xenproject.org/release/xen/$XEN_VERSION/xen-$XEN_VERSION.tar.gz && \
-tar xvzf xen-$XEN_VERSION.tar.gz && \
-cd xen-$XEN_VERSION && \
-patch -p1 < $SOURCE_DIR/xen-patch && \
-./configure --prefix=/usr --with-system-qemu=/usr/lib/xen/bin/qemu-system-i386 --disable-stubdom --disable-qemu-traditional --disable-rombios && \
-make -j "$(getconf _NPROCESSORS_ONLN)" && \
-mkdir -p DESTDIR=$OUT_DIR && \
-make DESTDIR=$OUT_DIR install
-
-ENTRYPOINT ["/bin/sh"]
exists=`docker images $label | grep $label`
if test -z "$exists"
then
- docker build -f mkimage/$label/build.docker -t $label .
+ docker build -f mkimage/$label/Dockerfile -t $label .
fi
done
--- /dev/null
+FROM alpine AS grub-builder
+
+RUN apk update && 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 multiboot2 gfxterm efi_gop efi_uga"
+ENV GRUB_COMMIT=6782f6d431d22b4e9ab14e94d263795c7991e160
+
+COPY mkimage/grub-builder/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; \
+ ;; \
+ aarch64) \
+ ./grub-mkimage -O arm64-efi -d /grub-lib/grub/arm64-efi -o /grub-lib/BOOTAA64.EFI -p /EFI/BOOT ${GRUB_MODULES}; \
+ ;; \
+ esac
+
+ENTRYPOINT [ "/bin/sh" ]
+++ /dev/null
-FROM alpine AS grub-builder
-
-RUN apk update && 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 multiboot2 gfxterm efi_gop efi_uga"
-ENV GRUB_COMMIT=6782f6d431d22b4e9ab14e94d263795c7991e160
-
-COPY mkimage/grub-builder/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; \
- ;; \
- aarch64) \
- ./grub-mkimage -O arm64-efi -d /grub-lib/grub/arm64-efi -o /grub-lib/BOOTAA64.EFI -p /EFI/BOOT ${GRUB_MODULES}; \
- ;; \
- esac
-
-ENTRYPOINT [ "/bin/sh" ]
--- /dev/null
+FROM grub-builder AS image-builder
+
+COPY --from=dom0 / /out
+
+RUN \
+ apk update && apk upgrade && \
+ apk add --no-cache \
+ dosfstools \
+ libarchive-tools \
+ binutils \
+ mtools \
+ sfdisk \
+ sgdisk \
+ xfsprogs \
+ e2fsprogs \
+ util-linux \
+ coreutils \
+ multipath-tools \
+ && true
+
+COPY mkimage/image-builder/make-efi /
+
+ENTRYPOINT [ "/bin/sh" ]
+++ /dev/null
-FROM grub-builder AS image-builder
-
-COPY --from=dom0 / /out
-
-RUN \
- apk update && apk upgrade && \
- apk add --no-cache \
- dosfstools \
- libarchive-tools \
- binutils \
- mtools \
- sfdisk \
- sgdisk \
- xfsprogs \
- e2fsprogs \
- util-linux \
- coreutils \
- multipath-tools \
- && true
-
-COPY mkimage/image-builder/make-efi /
-
-ENTRYPOINT [ "/bin/sh" ]