#!/bin/bash function cache_services() { echo "Caching service: $1" local SERVICE_YMLFILE=$1 local SERVICE_URL=${OS_SERVICES_REPO}/${REPO_VERSION} local SERVICE_INDEX_URL="${SERVICE_URL}/index.yml" local SERVICE_YMLFILE_URL="${SERVICE_URL}/${SERVICE_YMLFILE}" local SERVICE_INDEX_URL_MD5=$(echo -n ${SERVICE_INDEX_URL}|md5sum|cut -d ' ' -f1) local SERVICE_YMLFILE_URL_MD5=$(echo -n ${SERVICE_YMLFILE_URL}|md5sum|cut -d ' ' -f1) mkdir -p ${INITRD_DIR}/usr/share/ros/services-cache/ wget -O ${INITRD_DIR}/usr/share/ros/services-cache/${SERVICE_INDEX_URL_MD5} ${SERVICE_INDEX_URL} wget -O ${INITRD_DIR}/usr/share/ros/services-cache/${SERVICE_YMLFILE_URL_MD5} ${SERVICE_YMLFILE_URL} } echo Create initrd layout in $INITRD_DIR rm -rf ${INITRD_DIR} mkdir -p ${INITRD_DIR}/usr/{etc,lib,bin,share/ros} ./scripts/template cp build/images*.tar ${INITRD_DIR}/usr/share/ros/ cp bin/ros ${INITRD_DIR}/usr/bin/ ln -s usr/bin/ros ${INITRD_DIR}/init # cp ${INITRD_DIR}/usr/bin/sh ${INITRD_DIR}/usr/bin ln -s ros ${INITRD_DIR}/usr/bin/init ln -s bin ${INITRD_DIR}/usr/sbin ln -s usr/sbin ${INITRD_DIR}/sbin curl -SL ${!SYSTEM_DOCKER_URL} | tar --strip-components=1 -xzvf - -C ${INITRD_DIR}/usr/bin/ cat < ${INITRD_DIR}/usr/share/ros/os-release NAME="BurmillaOS" VERSION=${VERSION} ID=rancheros ID_LIKE= VERSION_ID=${VERSION} PRETTY_NAME="BurmillaOS ${VERSION}" HOME_URL="https://burmillaos.org" SUPPORT_URL="https://github.com/burmilla/os" BUG_REPORT_URL="https://github.com/burmilla/os/issues" BUILD_ID= HERE pushd ${INITRD_DIR}/usr/etc ln -s ../share/ros/os-release . popd # Support upgrades from old persistent consoles that bind mount these touch ${INITRD_DIR}/usr/bin/docker-containerd touch ${INITRD_DIR}/usr/bin/docker-containerd-shim touch ${INITRD_DIR}/usr/bin/docker # make burmilla/os-initrd image cat < ${INITRD_DIR}/../Dockerfile.initrd FROM scratch COPY initrd/* / HERE name="os-initrd" tag="${OS_REPO}/${name}:${VERSION}${SUFFIX}" pushd . cd ${INITRD_DIR}/.. docker build -t ${OS_REPO}/${name} -f Dockerfile.initrd . docker tag burmilla/${name} ${tag} popd