mirror of
https://github.com/rancher/os.git
synced 2025-09-20 01:54:53 +00:00
Merge pull request #532 from rancher/revert-524-installer-alpine
Revert "Installer image based on Alpine"
This commit is contained in:
@@ -1,8 +1,9 @@
|
|||||||
FROM alpine
|
FROM debian:jessie
|
||||||
RUN apk update && apk add coreutils util-linux bash parted syslinux e2fsprogs
|
|
||||||
COPY ./scripts/installer /scripts
|
COPY ./scripts/installer /scripts
|
||||||
COPY ./scripts/version /scripts/
|
COPY ./scripts/version /scripts/
|
||||||
|
RUN /scripts/bootstrap
|
||||||
|
|
||||||
COPY ./dist/artifacts/vmlinuz ./dist/artifacts/initrd /dist/
|
COPY ./dist/artifacts/vmlinuz /dist/vmlinuz
|
||||||
|
COPY ./dist/artifacts/initrd /dist/initrd
|
||||||
|
|
||||||
ENTRYPOINT ["/scripts/lay-down-os"]
|
ENTRYPOINT ["/scripts/lay-down-os"]
|
||||||
|
6
scripts/installer/bootstrap
Executable file
6
scripts/installer/bootstrap
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y grub2 parted
|
@@ -2,11 +2,10 @@
|
|||||||
set -e -x
|
set -e -x
|
||||||
|
|
||||||
. $(dirname $0)/version
|
. $(dirname $0)/version
|
||||||
VERSION=${VERSION:?"VERSION not set"}
|
|
||||||
|
|
||||||
while getopts "i:f:c:d:t:r:o:p:" OPTION
|
while getopts "i:f:c:d:t:r:o:p:" OPTION
|
||||||
do
|
do
|
||||||
case ${OPTION} in
|
case $OPTION in
|
||||||
i) DIST="$OPTARG" ;;
|
i) DIST="$OPTARG" ;;
|
||||||
f) FILES="$OPTARG" ;;
|
f) FILES="$OPTARG" ;;
|
||||||
c) CLOUD_CONFIG="$OPTARG" ;;
|
c) CLOUD_CONFIG="$OPTARG" ;;
|
||||||
@@ -21,7 +20,6 @@ done
|
|||||||
|
|
||||||
DIST=${DIST:-/dist}
|
DIST=${DIST:-/dist}
|
||||||
CLOUD_CONFIG=${CLOUD_CONFIG:-/scripts/conf/empty.yml}
|
CLOUD_CONFIG=${CLOUD_CONFIG:-/scripts/conf/empty.yml}
|
||||||
CONSOLE=tty0
|
|
||||||
BASE_DIR="/mnt/new_img"
|
BASE_DIR="/mnt/new_img"
|
||||||
# TODO: Change this to a number so that users can specify.
|
# TODO: Change this to a number so that users can specify.
|
||||||
# Will need to make it so that our builds and packer APIs remain consistent.
|
# Will need to make it so that our builds and packer APIs remain consistent.
|
||||||
@@ -58,41 +56,43 @@ mount_device()
|
|||||||
mount_opts=${PARTITION}
|
mount_opts=${PARTITION}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mount ${mount_opts} ${BASE_DIR}
|
mount $mount_opts ${BASE_DIR}
|
||||||
trap "umount ${BASE_DIR}" EXIT
|
trap "umount ${BASE_DIR}" EXIT
|
||||||
}
|
}
|
||||||
|
|
||||||
create_boot_dirs()
|
create_boot_dirs()
|
||||||
{
|
{
|
||||||
mkdir -p ${BASE_DIR}/boot/grub
|
mkdir -p ${BASE_DIR}/boot/grub
|
||||||
mkdir -p ${BASE_DIR}/boot/extlinux
|
|
||||||
}
|
}
|
||||||
|
|
||||||
install_extlinux() {
|
install_grub() {
|
||||||
extlinux -i ${BASE_DIR}/boot/extlinux
|
grub-install --boot-directory=${BASE_DIR}/boot ${DEVICE}
|
||||||
dd if=/usr/share/syslinux/mbr.bin of=${DEVICE}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extlinux_config(){
|
grub2_config(){
|
||||||
local extlinux_conf=${BASE_DIR}/boot/extlinux/extlinux.conf
|
local grub_cfg=${BASE_DIR}/boot/grub/grub.cfg
|
||||||
local append_line="${1}"
|
local append_line="${1}"
|
||||||
cat >${extlinux_conf} <<EOF
|
cat >$grub_cfg <<EOF
|
||||||
default ros
|
set default="0"
|
||||||
label ros
|
set timeout="1"
|
||||||
kernel /boot/vmlinuz-${VERSION}-rancheros
|
#set fallback=1
|
||||||
|
|
||||||
|
menuentry "RancherOS-current" {
|
||||||
|
set root=(hd0,msdos1)
|
||||||
|
linux /boot/vmlinuz-${VERSION}-rancheros ${append_line} console=ttyS0 console=tty0
|
||||||
initrd /boot/initrd-${VERSION}-rancheros
|
initrd /boot/initrd-${VERSION}-rancheros
|
||||||
append ${append_line} console=${CONSOLE}
|
}
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if [ ! -z ${ROLLBACK_VERSION} ]; then
|
if [ ! -z $ROLLBACK_VERSION ]; then
|
||||||
sed -i 's/^#set/set/' ${extlinux_conf}
|
sed -i 's/^#set/set/' ${grub_cfg}
|
||||||
cat >>${extlinux_conf} <<EOF
|
cat >>$grub_cfg <<EOF
|
||||||
label ros-fallback
|
menuentry "RancherOS-rollback" {
|
||||||
kernel /boot/vmlinuz-${ROLLBACK_VERSION}-rancheros
|
set root=(hd0,msdos1)
|
||||||
|
linux /boot/vmlinuz-${ROLLBACK_VERSION}-rancheros ${append_line} console=ttyS0 console=tty0
|
||||||
initrd /boot/initrd-${ROLLBACK_VERSION}-rancheros
|
initrd /boot/initrd-${ROLLBACK_VERSION}-rancheros
|
||||||
append ${append_line} console=${CONSOLE}
|
}
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -100,15 +100,15 @@ fi
|
|||||||
|
|
||||||
install_rancher()
|
install_rancher()
|
||||||
{
|
{
|
||||||
cp ${DIST}/initrd ${BASE_DIR}/boot/initrd-${VERSION}-rancheros
|
cp ${DIST}/initrd /mnt/new_img/boot/initrd-${VERSION}-rancheros
|
||||||
cp ${DIST}/vmlinuz ${BASE_DIR}/boot/vmlinuz-${VERSION}-rancheros
|
cp ${DIST}/vmlinuz /mnt/new_img/boot/vmlinuz-${VERSION}-rancheros
|
||||||
}
|
}
|
||||||
|
|
||||||
pvgrub_config()
|
pvgrub_config()
|
||||||
{
|
{
|
||||||
local grub_file=${BASE_DIR}/boot/grub/menu.lst
|
local grub_file=/mnt/new_img/boot/grub/menu.lst
|
||||||
local append_line="${1}"
|
local append_line="${1}"
|
||||||
cat > ${grub_file}<<EOF
|
cat > $grub_file<<EOF
|
||||||
default 0
|
default 0
|
||||||
timeout 0
|
timeout 0
|
||||||
#fallback 1
|
#fallback 1
|
||||||
@@ -117,17 +117,17 @@ hiddenmenu
|
|||||||
|
|
||||||
title RancherOS ${VERSION}-(current)
|
title RancherOS ${VERSION}-(current)
|
||||||
root (hd0)
|
root (hd0)
|
||||||
kernel /boot/vmlinuz-${VERSION}-rancheros ${append_line} console=${CONSOLE}
|
kernel /boot/vmlinuz-${VERSION}-rancheros ${append_line} console=ttyS0 console=tty0
|
||||||
initrd /boot/initrd-${VERSION}-rancheros
|
initrd /boot/initrd-${VERSION}-rancheros
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if [ ! -z ${ROLLBACK_VERSION} ]; then
|
if [ ! -z $ROLLBACK_VERSION ]; then
|
||||||
sed -i 's/^#\(fallback\)/\1/' ${grub_file}
|
sed -i 's/^#\(fallback\)/\1/' $grub_file
|
||||||
cat >> ${grub_file}<<EOF
|
cat >> $grub_file<<EOF
|
||||||
title RancherOS ${ROLLBACK_VERSION}-(rollback)
|
title RancherOS ${ROLLBACK_VERSION}-(rollback)
|
||||||
root (hd0)
|
root (hd0)
|
||||||
kernel /boot/vmlinuz-${ROLLBACK_VERSION}-rancheros ${append_line} console=${CONSOLE}
|
kernel /boot/vmlinuz-${ROLLBACK_VERSION}-rancheros ${append_line} console=ttyS0 console=tty0
|
||||||
initrd /boot/initrd-${ROLLBACK_VERSION}-rancheros
|
initrd /boot/initrd-${ROLLBACK_VERSION}-rancheros
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
@@ -145,26 +145,23 @@ if [ -n ${ENV} ]; then
|
|||||||
case ${ENV} in
|
case ${ENV} in
|
||||||
"generic")
|
"generic")
|
||||||
format_and_mount
|
format_and_mount
|
||||||
install_extlinux
|
install_grub
|
||||||
/scripts/seed-data ${BASE_DIR} ${CLOUD_CONFIG} ${FILES}
|
/scripts/seed-data $BASE_DIR $CLOUD_CONFIG $FILES
|
||||||
;;
|
;;
|
||||||
"amazon-ebs-pv"|"amazon-ebs-hvm")
|
"amazon-ebs-pv"|"amazon-ebs-hvm")
|
||||||
CONSOLE=ttyS0
|
|
||||||
format_and_mount
|
format_and_mount
|
||||||
if [ "${ENV}" == "amazon-ebs-hvm" ]; then
|
if [ "${ENV}" == "amazon-ebs-hvm" ]; then
|
||||||
install_extlinux
|
install_grub
|
||||||
fi
|
fi
|
||||||
# AWS Networking recommends disabling.
|
# AWS Networking recommends disabling.
|
||||||
/scripts/seed-data ${BASE_DIR} ${CLOUD_CONFIG} ${FILES}
|
/scripts/seed-data $BASE_DIR $CLOUD_CONFIG $FILES
|
||||||
;;
|
;;
|
||||||
"googlecompute")
|
"googlecompute")
|
||||||
CONSOLE=ttyS0
|
|
||||||
format_and_mount
|
format_and_mount
|
||||||
install_extlinux
|
install_grub
|
||||||
/scripts/seed-data ${BASE_DIR} ${CLOUD_CONFIG} ${FILES}
|
/scripts/seed-data $BASE_DIR $CLOUD_CONFIG $FILES
|
||||||
;;
|
;;
|
||||||
"bootstrap")
|
"bootstrap")
|
||||||
CONSOLE=ttyS0
|
|
||||||
mount_device true
|
mount_device true
|
||||||
create_boot_dirs
|
create_boot_dirs
|
||||||
KERNEL_ARGS="${KERNEL_ARGS} rancher.cloud_init.datasources=[ec2,gce]"
|
KERNEL_ARGS="${KERNEL_ARGS} rancher.cloud_init.datasources=[ec2,gce]"
|
||||||
@@ -180,6 +177,6 @@ if [ -n ${ENV} ]; then
|
|||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
extlinux_config "${KERNEL_ARGS}"
|
grub2_config "${KERNEL_ARGS}"
|
||||||
pvgrub_config "${KERNEL_ARGS}"
|
pvgrub_config "${KERNEL_ARGS}"
|
||||||
install_rancher
|
install_rancher
|
||||||
|
@@ -39,6 +39,5 @@ p
|
|||||||
1
|
1
|
||||||
|
|
||||||
|
|
||||||
a
|
|
||||||
w
|
w
|
||||||
EOF
|
EOF
|
||||||
|
Reference in New Issue
Block a user