auto-scripts/auto-alpine-chroot-openrc


Home Back
#!/usr/bin/env bash

ARCH="x86_64"
ALPINE_VER="3.24"
ALPINE_SUB_VER="2"
PROJECT_NAME=$1

mkdir -p $PROJECT_NAME/ctr
cd $PROJECT_NAME/ctr

curl -L https://dl-cdn.alpinelinux.org/alpine/v$ALPINE_VER/releases/$ARCH/alpine-minirootfs-$ALPINE_VER.$ALPINE_SUB_VER-$ARCH.tar.gz -o alpine.tar.gz
tar xzf alpine.tar.gz
rm alpine.tar.gz

cd ..

echo "#!/usr/bin/env bash" > runc.sh

echo "cp /etc/resolv.conf ./ctr/etc/resolv.conf

mount --bind /dev ./ctr/dev
mount -t proc /proc ./ctr/proc
mount -t sysfs /sys ./ctr/sys

chroot ./ctr /usr/local/bin/start.sh
./umount.sh
" >> runc.sh

chmod +x runc.sh

echo "#!/usr/bin/env bash" > umount.sh
echo "chroot ctr /sbin/openrc shutdown
umount -R ctr/dev
umount ctr/proc
umount ctr/run
umount ctr/sys" >> umount.sh
chmod +x umount.sh

echo "#!/bin/sh
 
/sbin/openrc sysinit
/sbin/openrc boot
/sbin/openrc default
/bin/sh -l
" > ctr/usr/local/bin/start.sh

chmod +x ctr/usr/local/bin/start.sh


echo "#!/bin/sh
/sbin/apk update ; /sbin/apk add openrc" > ctr/usr/local/bin/setup_chroot.sh

chmod +x ctr/usr/local/bin/setup_chroot.sh

#run init setup
cp /etc/resolv.conf ./ctr/etc/resolv.conf

mount --bind /dev ./ctr/dev
mount -t proc /proc ./ctr/proc
mount -t sysfs /sys ./ctr/sys

chroot ./ctr /usr/local/bin/setup_chroot.sh
./umount.sh


Powered by Code, a simple repository browser by Fabio Di Matteo