logo

bootstrap-initrd

Linux initrd to bootstrap from a small binary seed git clone https://anongit.hacktivis.me/git/bootstrap-initrd.git/

fetch.sh (3362B)


  1. #!/bin/sh
  2. URLS="
  3. https://hacktivis.me/releases/utils-std/utils-std-0.0.1.tar.gz
  4. https://hacktivis.me/releases/utils-std/utils-std-0.0.1.tar.gz.sign
  5. https://frippery.org/make/pdpmake-2.0.1.tgz
  6. https://gitlab.com/bzip2/bzip2/-/archive/bzip2-1.0.8/bzip2-bzip2-1.0.8.tar.gz
  7. https://zlib.net/zlib-1.3.1.tar.gz
  8. https://www.zlib.net/pigz/pigz-2.8.tar.gz
  9. https://ftp.gnu.org/gnu/make/make-4.4.1.tar.gz
  10. https://downloads.sourceforge.net/heirloom/heirloom/070715/heirloom-070715.tar.bz2
  11. https://downloads.sourceforge.net/project/heirloom/heirloom-devtools/070527/heirloom-devtools-070527.tar.bz2
  12. https://tukaani.org/xz/xz-5.6.3.tar.gz
  13. https://www.lua.org/ftp/lua-5.4.6.tar.gz
  14. https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-6.6.0.tar.gz
  15. https://www.skarnet.org/software/skalibs/skalibs-2.14.2.0.tar.gz
  16. https://skarnet.org/software/mdevd/mdevd-0.1.6.4.tar.gz
  17. https://bearssl.org/bearssl-0.6.tar.gz
  18. https://curl.se/tiny/tiny-curl-8.4.0.tar.gz
  19. https://curl.haxx.se/ca/cacert-2024-11-26.pem
  20. https://www.kernel.org/pub/software/scm/git/git-2.45.2.tar.gz
  21. https://mirrors.edge.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.47.1/e2fsprogs-1.47.1.tar.gz
  22. "
  23. WORKDIR="$(dirname "$0")"
  24. . "${WORKDIR}/common.sh"
  25. set -ex
  26. mkdir -p "${WORKDIR}/distfiles"
  27. cd "${WORKDIR}/distfiles"
  28. CURL_OPTS="-L --fail"
  29. for url in $URLS
  30. do
  31. file="$(basename "$url")"
  32. test -e "$file" || curl ${CURL_OPTS} -o "$file" "$url"
  33. done
  34. for arch in ${ALPINE_ARCHES}
  35. do
  36. for apk in $APKS_main
  37. do
  38. test -e "$apk.$arch" || curl ${CURL_OPTS} -o "$apk.${arch}" "${ALPINE_MIRROR}/${ALPINE_BRANCH}/main/${arch}/${apk}"
  39. done
  40. for apk in $APKS_testing
  41. do
  42. test -e "$apk.$arch" || curl ${CURL_OPTS} -o "$apk.${arch}" "${ALPINE_MIRROR}/${ALPINE_BRANCH}/testing/${arch}/${apk}"
  43. done
  44. done
  45. test -e lanodan-2024.pub || curl ${CURL_OPTS} -o lanodan-2024.pub https://hacktivis.me/releases/signify/2024.pub
  46. # Only has ./CVS and .travis-ci.yml removed compared to Github autogenerated tarball
  47. #test -e om4-6.7.tar.gz || curl ${CURL_OPTS} -o om4-6.7.tar.gz https://github.com/ibara/m4/releases/download/om4-6.7/om4-6.7.tar.gz
  48. test -e nawk-20240728.tar.gz || curl ${CURL_OPTS} -o nawk-20240728.tar.gz https://github.com/onetrueawk/awk/archive/20240728.tar.gz
  49. test -e loksh-7.6.tar.gz || curl ${CURL_OPTS} -o loksh-7.6.tar.gz https://github.com/dimkr/loksh/archive/refs/tags/7.6.tar.gz
  50. test -e lolibc-96b2b7e.tar.gz || curl ${CURL_OPTS} -o lolibc-96b2b7e.tar.gz https://github.com/dimkr/lolibc/archive/96b2b7e.tar.gz
  51. test -e yacc-oyacc-6.6.tar.gz || curl ${CURL_OPTS} -o yacc-oyacc-6.6.tar.gz https://github.com/ibara/yacc/archive/refs/tags/oyacc-6.6.tar.gz
  52. test -e gettext-tiny-0.3.2.tar.gz || curl ${CURL_OPTS} -o gettext-tiny-0.3.2.tar.gz https://github.com/sabotage-linux/gettext-tiny/archive/refs/tags/v0.3.2.tar.gz
  53. test -e pkgconf-pkgconf-2.3.0.tar.gz || curl ${CURL_OPTS} -o pkgconf-pkgconf-2.3.0.tar.gz https://github.com/pkgconf/pkgconf/archive/refs/tags/pkgconf-2.3.0.tar.gz
  54. # suckless.org doesn't provides snapshots of sbase (yet?)
  55. test -e sbase-b30fb568.tar.gz || curl ${CURL_OPTS} -o sbase-b30fb568.tar.gz https://git.sr.ht/~mcf/sbase/archive/b30fb56804bfed69b45ef0e944d2e029e4d26258.tar.gz
  56. if command -v signify >/dev/null; then
  57. signify -V -p lanodan-2024.pub -x utils-std-0.0.1.tar.gz.sign -m utils-std-0.0.1.tar.gz
  58. fi
  59. cd -
  60. sha512sum -c distfiles.SHA512SUM