1
0
mirror of https://github.com/rancher/os.git synced 2025-06-22 21:17:02 +00:00
os/scripts/build-images
Ivan Mikushin d33698d17b move auto-formatter drive selection logic to os-autoformat container
and get rid of:
- machine-rancheros.iso,
- special case in build-images,
- some bootstrap.go code
2015-07-22 17:47:24 +05:00

47 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
set -ex
cd $(dirname $0)/..
source scripts/build-common
source scripts/version
ARTIFACTS=${ARTIFACTS:?"ARTIFACTS not set"}
VERSION=${VERSION:?"VERSION not set"}
BUILD=${BUILD:?"BUILD not set"}
DIST=${DIST:?"DIST not set"}
if [ -x "$(which wrapdocker)" ] && ! docker info >/dev/null 2>&1; then
wrapdocker
fi
CONTAINER_INITRDBASE=$(docker create rancher/os-initrdbase:${VERSION})
cleanup_initrdbase() {
docker rm -v ${CONTAINER_INITRDBASE}
}
trap cleanup_initrdbase EXIT
docker cp ${CONTAINER_INITRDBASE}:/initrd ${BUILD} # copies files to ${BUILD}/initrd
INITRD_DIR=${BUILD}/initrd
mkdir -p ${DIST}/artifacts
CONTAINER_KERNEL=$(docker create rancher/os-kernel:${VERSION})
cleanup_kernel() {
docker rm -v ${CONTAINER_KERNEL}
}
trap cleanup_kernel EXIT
docker cp ${CONTAINER_KERNEL}:/kernel ${BUILD} # copies files to ${BUILD}/kernel
mv ${BUILD}/kernel/vmlinuz ${DIST}/artifacts/ #kernel
cp -f ${ARTIFACTS}/docker* ${INITRD_DIR}/docker #initrd2-docker: /docker
chmod +x ${INITRD_DIR}/docker #initrd2-docker: /docker
ln -sf bin/rancheros ./ros
for i in $(./ros c images -i os-config.yml); do
docker pull ${i}
done
docker save $(./ros c images -i os-config.yml) > ${INITRD_DIR}/images.tar #initrd2-images: /images.tar