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