From a60eb0630775dfb3497cb9939a5ce3d300f602bf Mon Sep 17 00:00:00 2001 From: Ivan Mikushin Date: Tue, 25 Aug 2015 10:59:30 +0500 Subject: [PATCH] use extlinux instead of grub2 --- Dockerfile | 7 ++- scripts/installer/bootstrap | 6 --- scripts/installer/lay-down-os | 75 +++++++++++++-------------- scripts/installer/set-disk-partitions | 1 + 4 files changed, 41 insertions(+), 48 deletions(-) delete mode 100755 scripts/installer/bootstrap diff --git a/Dockerfile b/Dockerfile index 9bf4e5fd..c458d482 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,8 @@ -FROM debian:jessie +FROM alpine +RUN apk update && apk add coreutils util-linux bash parted syslinux e2fsprogs COPY ./scripts/installer /scripts COPY ./scripts/version /scripts/ -RUN /scripts/bootstrap -COPY ./dist/artifacts/vmlinuz /dist/vmlinuz -COPY ./dist/artifacts/initrd /dist/initrd +COPY ./dist/artifacts/vmlinuz ./dist/artifacts/initrd /dist/ ENTRYPOINT ["/scripts/lay-down-os"] diff --git a/scripts/installer/bootstrap b/scripts/installer/bootstrap deleted file mode 100755 index 426ed80f..00000000 --- a/scripts/installer/bootstrap +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -export DEBIAN_FRONTEND=noninteractive - -apt-get update -apt-get install -y grub2 parted diff --git a/scripts/installer/lay-down-os b/scripts/installer/lay-down-os index 69d01495..6136996f 100755 --- a/scripts/installer/lay-down-os +++ b/scripts/installer/lay-down-os @@ -2,10 +2,11 @@ set -e -x . $(dirname $0)/version +VERSION=${VERSION:?"VERSION not set"} while getopts "i:f:c:d:t:r:o:p:" OPTION do - case $OPTION in + case ${OPTION} in i) DIST="$OPTARG" ;; f) FILES="$OPTARG" ;; c) CLOUD_CONFIG="$OPTARG" ;; @@ -56,43 +57,41 @@ mount_device() mount_opts=${PARTITION} fi - mount $mount_opts ${BASE_DIR} + mount ${mount_opts} ${BASE_DIR} trap "umount ${BASE_DIR}" EXIT } create_boot_dirs() { mkdir -p ${BASE_DIR}/boot/grub + mkdir -p ${BASE_DIR}/boot/extlinux } -install_grub() { - grub-install --boot-directory=${BASE_DIR}/boot ${DEVICE} +install_extlinux() { + extlinux -i ${BASE_DIR}/boot/extlinux + dd if=/usr/share/syslinux/mbr.bin of=${DEVICE} } -grub2_config(){ - local grub_cfg=${BASE_DIR}/boot/grub/grub.cfg +extlinux_config(){ + local extlinux_conf=${BASE_DIR}/boot/extlinux/extlinux.conf local append_line="${1}" -cat >$grub_cfg <${extlinux_conf} <>$grub_cfg <>${extlinux_conf} < $grub_file< ${grub_file}<> $grub_file<> ${grub_file}<