prepare_iso.sh 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #!/bin/sh
  2. # Author: thuban <thuban@yeuxdelibad.net>, h3artbl33d
  3. # License: MIT
  4. # Description: Download and extract openbsd iso.
  5. . ./vars.conf
  6. echo "---"
  7. echo "* Downloading OpenBSD iso"
  8. if [ "$(uname)" = "OpenBSD" ]; then
  9. DLER="ftp -C"
  10. else
  11. if [ -n "$(command -v curl)" ]; then
  12. DLER="curl -O -C -"
  13. elif [ -n "$(command -v wget)" ]; then
  14. DLER="wget --continue"
  15. fi
  16. fi
  17. if [ ! -e ${NAME}.iso ]; then
  18. $DLER "${MIRROR}/${VERSION}/${ARCH}/install${VERS}.iso"
  19. echo "---"
  20. echo "* Checking iso"
  21. # check if iso fits SHA256
  22. $DLER "${MIRROR}/${VERSION}/${ARCH}/SHA256"
  23. if [ "$(uname)" = "OpenBSD" ]; then
  24. sha256 -C SHA256 install${V1}${V2}.iso
  25. else
  26. GOODSHA="$(grep install${VERS}.iso SHA256 |cut -d' ' -f4)"
  27. CURSHA="$(sha256sum install${VERS}.iso |cut -d' ' -f1)"
  28. test $GOODSHA = $CURSHA
  29. fi
  30. if [ $? -ne 0 ]; then
  31. echo "There is a problem with the downloaded iso. Run the script again and try do delete the previous downloaded file."
  32. exit 1
  33. else
  34. mv install${VERS}.iso ${NAME}.iso
  35. fi
  36. fi
  37. if [ ! -d ${NAME} ]; then
  38. echo "---"
  39. echo "* Extracting iso..."
  40. mkdir -p loopdir
  41. mkdir -p ./${NAME}
  42. if [ "$(uname)" = "OpenBSD" ]; then
  43. vnconfig vnd0 ${NAME}.iso
  44. mount -t cd9660 /dev/vnd0c loopdir/
  45. cp -r loopdir/* ./${NAME}
  46. umount loopdir/
  47. vnconfig -u vnd0
  48. else
  49. mount -o loop ${NAME}.iso loopdir
  50. cp -r loopdir/* ./${NAME}
  51. umount loopdir/
  52. fi
  53. rm -r loopdir/
  54. fi
  55. echo "---"
  56. echo "* Preparing site configuration..."
  57. mkdir -p site/etc
  58. touch site/install.site
  59. chmod 755 site/install.site
  60. touch site/etc/rc.firsttime
  61. chmod 755 site/etc/rc.firsttime
  62. exit 0