mkbootstrap.sh 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #!/usr/bin/bash
  2. set -e
  3. mkdir bootstrap-chroot
  4. cd bootstrap-chroot
  5. echo "Downloading void rootfs..."
  6. wget https://repo-default.voidlinux.org/live/current/void-x86_64-ROOTFS-20250202.tar.xz
  7. echo "Extracting void rootfs..."
  8. tar -xf void-x86_64-ROOTFS-20250202.tar.xz
  9. rm void-x86_64-ROOTFS-20250202.tar.xz
  10. echo "Preparing chroot environment..."
  11. CHROOT_PATH=$(pwd)
  12. cp /etc/resolv.conf $CHROOT_PATH/etc/resolv.conf
  13. mount -t proc none $CHROOT_PATH/proc
  14. mount -t sysfs none $CHROOT_PATH/sys
  15. mount --bind /dev $CHROOT_PATH/dev
  16. mount --bind /dev/pts $CHROOT_PATH/dev/pts
  17. mount --bind /run $CHROOT_PATH/run
  18. cat <<'EOF' > usr/bin/astrologue-package-bootstrap
  19. #!/bin/sh
  20. xbps-install -Sy
  21. xbps-install -uy xbps
  22. xbps-install -y libuuid libblkid
  23. xbps-install -y gcc vala make bash ninja meson libgee-devel glib-devel libglib-devel json-glib-devel gobject-introspection pkg-config wget
  24. ldconfig
  25. EOF
  26. chmod +x usr/bin/astrologue-package-bootstrap
  27. echo "Setting up chroot environment..."
  28. chroot . /usr/bin/astrologue-package-bootstrap
  29. echo "Installing zlib..."
  30. cd ../zlib-1.3.1
  31. usm manifest install --root /home/bbarrow/Projects/astrologue-usm-repo/bootstrap-chroot/
  32. cd -
  33. echo "Cleaning up chroot mounts..."
  34. umount $CHROOT_PATH/proc
  35. umount $CHROOT_PATH/sys
  36. umount $CHROOT_PATH/dev/pts
  37. umount $CHROOT_PATH/dev
  38. umount $CHROOT_PATH/run
  39. echo "Done";