diff --git a/scripts/dev b/scripts/dev index d743a519..740284b5 100755 --- a/scripts/dev +++ b/scripts/dev @@ -5,4 +5,4 @@ cd $(dirname $0) ./build ./prepare -COMPRESS="gzip -1" ROOTFS=0 ./package +INSTALLER=0 COMPRESS="gzip -1" ROOTFS=0 ./package diff --git a/scripts/installer/Dockerfile.amd64 b/scripts/installer/Dockerfile.amd64 new file mode 100644 index 00000000..c41274c4 --- /dev/null +++ b/scripts/installer/Dockerfile.amd64 @@ -0,0 +1,10 @@ +FROM debian:jessie +ENV DEBIAN_FRONTEND noninteractive +RUN apt-get update && apt-get install -y grub2 parted kexec-tools + +COPY conf lay-down-os seed-data set-disk-partitions /scripts/installer/ +COPY ./build/build.conf /scripts/ +COPY ./build/vmlinuz /dist/vmlinuz +COPY ./build/initrd /dist/initrd + +ENTRYPOINT ["/scripts/lay-down-os"] diff --git a/scripts/installer/Dockerfile.arm64 b/scripts/installer/Dockerfile.arm64 new file mode 100644 index 00000000..c6d36a35 --- /dev/null +++ b/scripts/installer/Dockerfile.arm64 @@ -0,0 +1,17 @@ +FROM aarch64/debian:jessie +ENV DEBIAN_FRONTEND noninteractive +ENV ARCH arm + +RUN apt-get update && apt-get install -y parted git gcc make autoconf + +RUN mkdir -p /usr/local/src && \ + cd /usr/local/src && \ + git clone https://git.linaro.org/people/takahiro.akashi/kexec-tools.git && \ + cd kexec-tools && git checkout kdump/for-14 && ./bootstrap && ./configure && make && make install + +COPY conf lay-down-os seed-data set-disk-partitions /scripts/installer/ +COPY ./build/build.conf /scripts/ +COPY ./build/vmlinuz /dist/vmlinuz +COPY ./build/initrd /dist/initrd + +ENTRYPOINT ["/scripts/lay-down-os"] diff --git a/scripts/package b/scripts/package index 324564c4..22ce0c76 100755 --- a/scripts/package +++ b/scripts/package @@ -8,3 +8,6 @@ if [ "$ROOTFS" != "0" ]; then fi ./package-initrd ./package-iso +if [ "$INSTALLER" != "0" ]; then + ./package-installer +fi diff --git a/scripts/package-installer b/scripts/package-installer new file mode 100755 index 00000000..9715718d --- /dev/null +++ b/scripts/package-installer @@ -0,0 +1,21 @@ +#!/bin/bash +set -e + +cd $(dirname $0)/.. + +source ./scripts/version + +DOCKERFILE=./scripts/installer/Dockerfile.${ARCH} + +if [ ! -e $DOCKERFILE ] || [ ! -e dist/artifacts/vmlinuz ]; then + exit 0 +fi + +mkdir -p ./scripts/installer/build +cp ./dist/artifacts/{initrd,vmlinuz} ./scripts/installer/build +echo VERSION=$VERSION > ./scripts/installer/build/build.conf +trap "rm -rf ./scripts/installer/build" EXIT + +docker build -t ${OS_REPO}/os:${VERSION}${SUFFIX} -f $DOCKERFILE ./scripts/installer +echo ${OS_REPO}/os:${VERSION}${SUFFIX} > dist/images +echo Built ${OS_REPO}/os:${VERSION}${SUFFIX}