From b40b4758322de409ef3dafae5d56cb4c8e38b0c7 Mon Sep 17 00:00:00 2001 From: Philippe PITTOLI Date: Mon, 24 Sep 2018 22:47:35 +0200 Subject: [PATCH] make alpine chroot --- bash/make-alpine-chroot.sh | 65 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100755 bash/make-alpine-chroot.sh diff --git a/bash/make-alpine-chroot.sh b/bash/make-alpine-chroot.sh new file mode 100755 index 0000000..707f783 --- /dev/null +++ b/bash/make-alpine-chroot.sh @@ -0,0 +1,65 @@ +#!/bin/bash + +# TODO: good codebase, need parameters and make a more generic tool + +APKPKT=apk-tools-static-2.10.1-r0.apk + +mirror=http://uk.alpinelinux.org/alpine/ +MAINREP=/media/fast/al +CHROOT=$MAINREP/chroot +PACKAGES="vim zsh" +POSTPACKAGES="alpine-sdk git openssh openssl openssl-dev crystal" + +chroot_install(){ + mkdir -p $CHROOT + cd ${MAINREP}/ + + if [ -f ${APKPKT} ]; then + echo "apk already downloaded" + else + wget ${mirror}/latest-stable/main/`uname -p`/${APKPKT} + tar -xzf ${APKPKT} + fi + + ${MAINREP}/sbin/apk.static -X ${mirror}/latest-stable/main -U --allow-untrusted --root ${CHROOT} --initdb add alpine-base $PACKAGES + cp /etc/resolv.conf $CHROOT/etc/ + cp -r ~/.zsh* ~/.vim* ${CHROOT}/root + echo export PS1=\"\(chroot\) \$PS1\" >> ${CHROOT}/root/.zshrc + + cat << END > $CHROOT/etc/apk/repositories +http://uk.alpinelinux.org/alpine/latest-stable/main +http://uk.alpinelinux.org/alpine/latest-stable/community +http://uk.alpinelinux.org/alpine/edge/main +http://uk.alpinelinux.org/alpine/edge/community +END +} + +chroot_mount(){ + mount -t proc /proc ${CHROOT}/proc/ + mount -o bind /sys ${CHROOT}/sys/ + mount -o bind /dev ${CHROOT}/dev/ +} + +chroot_env(){ + chroot ${CHROOT} /bin/zsh -l +} + +chroot_post(){ + ${MAINREP}/sbin/apk.static --root ${CHROOT} add $POSTPACKAGES + # chroot ${CHROOT} /bin/zsh -l "apk update && apk upgrade && apk add $POSTPACKAGES" +} + +ask(){ + echo -en "$1? [YyNn] (n): " + read V ; echo $V | grep "[Yy]" >/dev/null + if [ $? -eq 0 ] ; then + echo -en "doing $1..." ; $1 + else + echo "not doing $1" + fi +} + +ask chroot_install +ask chroot_mount +ask chroot_post +ask chroot_env