1
0
mirror of https://github.com/rancher/os.git synced 2025-06-20 04:01:55 +00:00
os/scripts/build-images
2015-02-19 16:01:53 -07:00

59 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
set -e
VERSION=v0.0.1
cd $(dirname $0)/..
source scripts/build-common
mkdir -p ${BUILD}/initrd ${DIST}/artifacts
echo Extracting ${ARTIFACTS}/os-base.tar.xz
tar xJf ${ARTIFACTS}/os-base.tar.xz -C ${BUILD}
cp /etc/ssl/certs/ca-certificates.crt ${ARTIFACTS}/ca.crt
cp /etc/ssl/certs/ca-certificates.crt ${BUILD}/initrd/ca.crt
cp ${BUILD}/dist/rootfs.tar ${ARTIFACTS}
rm -rf ${BUILD}/initrd/lib
cp -rf ${BUILD}/dist/kernel/lib ${BUILD}/initrd
(
cd ${BUILD}/initrd/lib/modules
# Taken from boot2docker
# Remove useless kernel modules, based on unclejack/debian2docker
rm -rf ./*/kernel/sound/*
rm -rf ./*/kernel/drivers/gpu/*
rm -rf ./*/kernel/drivers/infiniband/*
rm -rf ./*/kernel/drivers/isdn/*
rm -rf ./*/kernel/drivers/media/*
rm -rf ./*/kernel/drivers/staging/lustre/*
rm -rf ./*/kernel/drivers/staging/comedi/*
rm -rf ./*/kernel/fs/ocfs2/*
rm -rf ./*/kernel/net/bluetooth/*
rm -rf ./*/kernel/net/mac80211/*
rm -rf ./*/kernel/net/wireless/*
)
cp -f ${ARTIFACTS}/docker* ${BUILD}/initrd/docker
chmod +x ${BUILD}/initrd/docker
cp ${BUILD}/dist/kernel/bzImage ${DIST}/artifacts/vmlinuz
tar xf ${BUILD}/dist/rootfs-static.tar -C ${BUILD}/initrd --strip-components=2 ./bin/busybox
if ! docker info >/dev/null 2>&1 && [ -x "$(which wrapdocker)" ]; then
wrapdocker
fi
>${BUILD}/tags
for i in scripts/dockerimages/[0-9]*; do
tag=$(echo $i | cut -f2 -d-)
echo Building $tag
docker build -t $tag -f $i .
docker build -t ${tag}:${VERSION} -f $i .
echo $tag >> ${BUILD}/tags
done
echo Creating images.tar
docker save $(<${BUILD}/tags) > ${BUILD}/initrd/images.tar