1
0
mirror of https://github.com/rancher/os.git synced 2025-06-21 12:37:04 +00:00

Optimize scripts for slow disks

This commit is contained in:
Darren Shepherd 2016-06-06 19:25:36 -07:00
parent e1d29fbab7
commit 57a2f99484
2 changed files with 34 additions and 33 deletions

View File

@ -1,34 +1,6 @@
FROM ubuntu:16.04 FROM ubuntu:16.04
# FROM arm64=aarch64/ubuntu:16.04 arm=armhf/ubuntu:16.04 # FROM arm64=aarch64/ubuntu:16.04 arm=armhf/ubuntu:16.04
RUN apt-get update && \
apt-get install -y \
build-essential \
ca-certificates \
cpio \
curl \
dosfstools \
gccgo \
genisoimage \
git \
isolinux \
less \
libblkid-dev \
libmount-dev \
libselinux1-dev \
locales \
module-init-tools \
pkg-config \
python-pip \
qemu \
qemu-kvm \
rsync \
sudo \
tox \
vim \
wget \
xorriso
ENV DAPPER_ENV VERSION DEV_BUILD ENV DAPPER_ENV VERSION DEV_BUILD
ENV DAPPER_DOCKER_SOCKET true ENV DAPPER_DOCKER_SOCKET true
ENV DAPPER_SOURCE /go/src/github.com/rancher/os ENV DAPPER_SOURCE /go/src/github.com/rancher/os
@ -96,6 +68,8 @@ ENV DOCKER_URL_arm ${DOCKER_URL_arm}
ENV DOCKER_URL_arm64 ${DOCKER_URL_arm64} ENV DOCKER_URL_arm64 ${DOCKER_URL_arm64}
ENV DOCKER_VERSION ${DOCKER_VERSION} ENV DOCKER_VERSION ${DOCKER_VERSION}
ENV DOWNLOADS /usr/src/downloads ENV DOWNLOADS /usr/src/downloads
ENV GOPATH /go
ENV GO_VERSION 1.6.2
ENV GOARCH $ARCH ENV GOARCH $ARCH
ENV HOSTNAME_DEFAULT ${HOSTNAME_DEFAULT} ENV HOSTNAME_DEFAULT ${HOSTNAME_DEFAULT}
ENV HOST_ARCH ${HOST_ARCH} ENV HOST_ARCH ${HOST_ARCH}
@ -111,6 +85,7 @@ ENV OS_BASE_URL_arm64 ${OS_BASE_URL_arm64}
ENV OS_RELEASES_YML ${OS_RELEASES_YML} ENV OS_RELEASES_YML ${OS_RELEASES_YML}
ENV OS_REPO ${OS_REPO} ENV OS_REPO ${OS_REPO}
ENV OS_SERVICES_REPO ${OS_SERVICES_REPO} ENV OS_SERVICES_REPO ${OS_SERVICES_REPO}
ENV PATH ${GOPATH}/bin:/usr/local/go/bin:$PATH
ENV REPO_VERSION master ENV REPO_VERSION master
ENV SELINUX_POLICY_URL ${SELINUX_POLICY_URL} ENV SELINUX_POLICY_URL ${SELINUX_POLICY_URL}
ENV TOOLCHAIN_arm ${TOOLCHAIN_arm} ENV TOOLCHAIN_arm ${TOOLCHAIN_arm}
@ -121,6 +96,35 @@ ENV VBOX_MODULES_URL_amd64 ${VBOX_MODULES_URL_amd64}
RUN mkdir -p ${DOWNLOADS} RUN mkdir -p ${DOWNLOADS}
RUN apt-get update && \
apt-get install -y \
build-essential \
ca-certificates \
cpio \
curl \
dosfstools \
gccgo \
genisoimage \
git \
isolinux \
less \
libblkid-dev \
libmount-dev \
libselinux1-dev \
locales \
module-init-tools \
pkg-config \
python-pip \
qemu \
qemu-kvm \
rsync \
sudo \
tox \
vim \
wget \
xorriso
# Download kernel # Download kernel
RUN rm /bin/sh && ln -s /bin/bash /bin/sh RUN rm /bin/sh && ln -s /bin/bash /bin/sh
RUN if [ -n "${!KERNEL_URL}" ]; then \ RUN if [ -n "${!KERNEL_URL}" ]; then \
@ -137,15 +141,12 @@ RUN if [ -n "${!VBOX_MODULES_URL}" ]; then \
# Install Go # Install Go
COPY assets/go-dnsclient.patch ${DAPPER_SOURCE} COPY assets/go-dnsclient.patch ${DAPPER_SOURCE}
ENV GO_VERSION 1.6.2
RUN ln -sf go-6 /usr/bin/go && \ RUN ln -sf go-6 /usr/bin/go && \
curl -sfL https://storage.googleapis.com/golang/go${GO_VERSION}.src.tar.gz | tar -xzf - -C /usr/local && \ curl -sfL https://storage.googleapis.com/golang/go${GO_VERSION}.src.tar.gz | tar -xzf - -C /usr/local && \
patch /usr/local/go/src/net/dnsclient_unix.go ${DAPPER_SOURCE}/go-dnsclient.patch && \ patch /usr/local/go/src/net/dnsclient_unix.go ${DAPPER_SOURCE}/go-dnsclient.patch && \
cd /usr/local/go/src && \ cd /usr/local/go/src && \
GOROOT_BOOTSTRAP=/usr GOARCH=${HOST_ARCH} GOHOSTARCH=${HOST_ARCH} ./make.bash && \ GOROOT_BOOTSTRAP=/usr GOARCH=${HOST_ARCH} GOHOSTARCH=${HOST_ARCH} ./make.bash && \
rm /usr/bin/go rm /usr/bin/go
ENV GOPATH /go
ENV PATH ${GOPATH}/bin:/usr/local/go/bin:$PATH
# Install Host Docker # Install Host Docker
RUN curl -fL ${!BUILD_DOCKER_URL} > /usr/bin/docker && \ RUN curl -fL ${!BUILD_DOCKER_URL} > /usr/bin/docker && \

View File

@ -28,9 +28,9 @@ if [ -e ${DOWNLOADS}/kernel.tar.gz ]; then
mkdir -p ${BUILD}/kernel mkdir -p ${BUILD}/kernel
tar xf ${DOWNLOADS}/kernel.tar.gz -C ${BUILD}/kernel tar xf ${DOWNLOADS}/kernel.tar.gz -C ${BUILD}/kernel
if [ -e ${BUILD}/kernel/boot/vmlinuz-* ]; then if [ -e ${BUILD}/kernel/boot/vmlinu* ]; then
mkdir -p dist/artifacts mkdir -p dist/artifacts
cp ${BUILD}/kernel/boot/vmlinuz-* dist/artifacts/vmlinuz cp ${BUILD}/kernel/boot/vmlinu* dist/artifacts/vmlinuz
fi fi
if [ -d ${BUILD}/kernel/lib ]; then if [ -d ${BUILD}/kernel/lib ]; then