mirror of
https://github.com/rancher/os.git
synced 2025-09-03 07:44:21 +00:00
Build script changes
This commit is contained in:
2
build.sh
2
build.sh
@@ -5,6 +5,6 @@ cd $(dirname $0)
|
||||
|
||||
export DOCKER_IMAGE=rancher-os-build
|
||||
|
||||
./scripts/ci
|
||||
./scripts/ci "$@"
|
||||
mkdir -p dist
|
||||
docker run -it -e CHOWN_ID=$(id -u) -v $(pwd)/dist:/source/target $DOCKER_IMAGE
|
||||
|
@@ -7,9 +7,6 @@ cd $(dirname $0)/..
|
||||
apt-get update
|
||||
apt-get install -y curl rsync build-essential syslinux xorriso libblkid-dev libmount-dev libselinux1-dev
|
||||
|
||||
|
||||
curl -sL https://github.com/ibuildthecloud/docker/releases/download/v1.5.0-rancher-2/docker-1.5.0 > /usr/bin/docker
|
||||
|
||||
chmod +x /usr/bin/docker
|
||||
|
||||
curl -sL https://storage.googleapis.com/golang/go1.4.1.linux-amd64.tar.gz | tar xvzf - -C /usr/local
|
||||
if [ ! -d /usr/local/go ]; then
|
||||
curl -sL https://storage.googleapis.com/golang/go1.4.1.linux-amd64.tar.gz | tar xvzf - -C /usr/local
|
||||
fi
|
||||
|
@@ -73,6 +73,9 @@ run()
|
||||
content="$content\nCOPY $1 /source/"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
|
||||
shift 1
|
||||
@@ -84,16 +87,20 @@ run()
|
||||
fi
|
||||
if [ -n "$1" ]; then
|
||||
echo -e "\nCOPY $1 /source/$1" >> ${DOCKER_FILE}
|
||||
echo -e "RUN /source/$1" >> ${DOCKER_FILE}
|
||||
echo -e "RUN /source/"$@"" >> ${DOCKER_FILE}
|
||||
fi
|
||||
|
||||
if [ "$RUN_EXEC" = "true" ]; then
|
||||
$1
|
||||
"$@"
|
||||
fi
|
||||
}
|
||||
|
||||
finish()
|
||||
{
|
||||
if [ "$RUN_EXEC" = "true" ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
local cmd="docker build -t ${DOCKER_IMAGE} -f ${DOCKER_FILE} ."
|
||||
echo Running $cmd
|
||||
echo Pwd $(pwd)
|
||||
|
@@ -1,6 +1,8 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
VERSION=v0.0.1
|
||||
|
||||
cd $(dirname $0)/..
|
||||
|
||||
source scripts/build-common
|
||||
@@ -10,7 +12,8 @@ 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 ${BUILD}/initrd/ca.crt
|
||||
cp /etc/ssl/certs/ca-certificates.crt ${ARTIFACTS}/ca.crt
|
||||
cp ${BUILD}/dist/rootfs.tar ${ARTIFACTS}
|
||||
|
||||
rm -rf ${BUILD}/initrd/lib
|
||||
cp -rf ${BUILD}/dist/kernel/lib ${BUILD}/initrd
|
||||
@@ -46,6 +49,7 @@ 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
|
||||
|
||||
|
@@ -4,7 +4,7 @@ set -e
|
||||
cd $(dirname $0)/..
|
||||
|
||||
export DOCKER_IMAGE=${DOCKER_IMAGE:=rancher-os-build}
|
||||
export DOCKER_BASE=rancher/docker-dind-base:latest
|
||||
export DOCKER_BASE=rancher/dind:v0.1.0
|
||||
|
||||
source scripts/build-common
|
||||
|
||||
@@ -12,6 +12,11 @@ DOCKER_FILE=$(pwd)/.dockerfile
|
||||
|
||||
generate_images()
|
||||
{
|
||||
if [ "$RUN_EXEC" = "true" ]; then
|
||||
./scripts/build-images
|
||||
return
|
||||
fi
|
||||
|
||||
IMAGE_ID=$(docker images --no-trunc -q ${DOCKER_IMAGE})
|
||||
|
||||
if [ -e ${BUILD}/${IMAGE_ID} ]; then
|
||||
@@ -45,5 +50,5 @@ for i in $(ls -d * .* | sort -u | grep -Ev '(\.|\.\.|\.dockerfile|build|dist|.gi
|
||||
fi
|
||||
done
|
||||
run --assets "${ARGS}" ./scripts/build
|
||||
run --assets ./scripts/install ./scripts/package
|
||||
run --assets ./scripts/install ./scripts/package "$@"
|
||||
finish
|
||||
|
@@ -1,3 +1,23 @@
|
||||
FROM scratch
|
||||
ADD build/dist/rootfs.tar /
|
||||
ADD assets/rootfs.tar /
|
||||
# Cleanup Buildroot
|
||||
RUN rm /sbin/poweroff /sbin/reboot /sbin/halt && \
|
||||
sed -i '/^root/s!/bin/sh!/bin/bash!' /etc/passwd && \
|
||||
echo -e 'RancherOS\n' > /etc/issue && \
|
||||
rm /run \
|
||||
/linuxrc \
|
||||
/etc/os-release \
|
||||
/var/cache \
|
||||
/var/lock \
|
||||
/var/log \
|
||||
/var/run \
|
||||
/var/spool \
|
||||
/var/lib/misc && \
|
||||
mkdir -p \
|
||||
/run \
|
||||
/var/cache \
|
||||
/var/lock \
|
||||
/var/log \
|
||||
/var/run \
|
||||
/var/spool
|
||||
CMD ["/bin/sh"]
|
||||
|
@@ -1,6 +1,2 @@
|
||||
FROM base
|
||||
VOLUME /home
|
||||
VOLUME /opt
|
||||
VOLUME /var/lib/docker
|
||||
VOLUME /var/run
|
||||
CMD ["echo"]
|
||||
|
@@ -1,4 +1,4 @@
|
||||
FROM base
|
||||
COPY scripts/dockerimages/scripts/docker.sh /
|
||||
COPY build/initrd/ca.crt /etc/ssl/certs/ca-certificates.crt
|
||||
COPY assets/ca.crt /etc/ssl/certs/ca-certificates.crt
|
||||
CMD ["/docker.sh"]
|
||||
|
@@ -1,6 +1,3 @@
|
||||
FROM base
|
||||
RUN rm /sbin/poweroff /sbin/reboot /sbin/halt
|
||||
RUN sed -i '/^root/s!/bin/sh!/bin/bash!' /etc/passwd
|
||||
RUN echo -e 'RancherOS\n' > /etc/issue
|
||||
COPY scripts/dockerimages/scripts/console.sh /
|
||||
CMD ["/console.sh"]
|
||||
COPY scripts/dockerimages/scripts/console.sh /usr/sbin/
|
||||
CMD ["/usr/sbin/console.sh"]
|
||||
|
@@ -10,7 +10,12 @@ cp scripts/dockerimages/scripts/os-dockerfile ${BUILD}/initrd/Dockerfile
|
||||
|
||||
cd ${BUILD}/initrd
|
||||
|
||||
find | cpio -H newc -o | lzma -c > ${DIST}/artifacts/initrd
|
||||
if [ "--dev" = "$1" ]; then
|
||||
find | cpio -H newc -o > ${DIST}/artifacts/initrd
|
||||
cp ${DIST}/artifacts/initrd ${DIST}/artifacts/initrd.none
|
||||
else
|
||||
find | cpio -H newc -o | lzma -c > ${DIST}/artifacts/initrd
|
||||
fi
|
||||
|
||||
CD=${BUILD}/cd
|
||||
|
||||
|
@@ -10,6 +10,7 @@ BASE=$(pwd)
|
||||
|
||||
KERNEL=${BASE}/dist/artifacts/vmlinuz
|
||||
INITRD=${BASE}/dist/artifacts/initrd
|
||||
NO_COMPRESS_INITRD=${INITRD}.none
|
||||
HD=${BASE}/build/empty-hd.img
|
||||
HD_GZ=${ARTIFACTS}/empty-hd.img.gz
|
||||
INITRD_TMP=${BUILD}/$(sha1sum ${INITRD} | awk '{print $1}')
|
||||
@@ -23,7 +24,11 @@ fi
|
||||
if [ ! -d ${INITRD_TMP} ]; then
|
||||
mkdir -p ${INITRD_TMP}
|
||||
pushd ${INITRD_TMP}
|
||||
lzma -dc ${INITRD} | sudo cpio -idmv
|
||||
if [ -e ${NO_COMPRESS_INITRD} ]; then
|
||||
cat ${NO_COMPRESS_INITRD} | sudo cpio -idmv
|
||||
else
|
||||
xz -dc ${INITRD} | sudo cpio -idmv
|
||||
fi
|
||||
rm -f init
|
||||
popd
|
||||
fi
|
||||
@@ -41,6 +46,6 @@ else
|
||||
zcat ${HD_GZ} > ${HD}
|
||||
fi
|
||||
|
||||
qemu-system-x86_64 -serial stdio -kernel ${KERNEL} -initrd ${INITRD_TEST} -m 1024 -net nic,vlan=0,model=virtio -net user,vlan=0,hostfwd=tcp::2222-:22,hostname=rancher -drive if=virtio,file=${HD} -machine accel=kvm -cpu host -smp 4 -append "console=ttyS0 $@"
|
||||
qemu-system-x86_64 -serial stdio -kernel ${KERNEL} -initrd ${INITRD_TEST} -m 1024 -net nic,vlan=0,model=virtio -net user,vlan=0,hostfwd=tcp::2222-:22,hostname=rancher -drive if=virtio,file=${HD} -machine accel=kvm -cpu host -smp 4 -append "x $@" ${QEMU_ARGS}
|
||||
|
||||
fi
|
||||
|
Reference in New Issue
Block a user