auto-scripts/auto-alpine-chroot-openrc
#!/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