diff options
Diffstat (limited to 'parabolaiso/initcpio/hooks/parabolaiso_pxe_http')
-rw-r--r-- | parabolaiso/initcpio/hooks/parabolaiso_pxe_http | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/parabolaiso/initcpio/hooks/parabolaiso_pxe_http b/parabolaiso/initcpio/hooks/parabolaiso_pxe_http deleted file mode 100644 index 68eaad6..0000000 --- a/parabolaiso/initcpio/hooks/parabolaiso_pxe_http +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/ash -# -# SPDX-License-Identifier: GPL-3.0-or-later - -run_hook() { - # shellcheck disable=SC2154 - # defined via initcpio's parse_cmdline() - if [ -n "${ip}" ] && [ -n "${parabolaiso_http_srv}" ]; then - - # booting with http is always copy-to-ram, so set here to make sure - # addresses are flushed and interface is set down - export copytoram="y" - - parabolaiso_http_srv=$(eval echo "${parabolaiso_http_srv}") - [ -z "${parabolaiso_http_spc}" ] && parabolaiso_http_spc="75%" - - export mount_handler="parabolaiso_pxe_http_mount_handler" - fi -} - -# Fetch a file with CURL -# -# $1 URL -# $2 Destination directory inside httpspace/${parabolaisobasedir} -_curl_get() { - local _url="${1}" - local _dst="${2}" - - msg ":: Downloading '${_url}'" - # shellcheck disable=SC2154 - # defined via initcpio's parse_cmdline() - if ! curl -L -f -o "/run/parabolaiso/httpspace/${parabolaisobasedir}${_dst}/${_url##*/}" --create-dirs "${_url}"; then - echo "ERROR: Downloading '${_url}'" - echo " Falling back to interactive prompt" - echo " You can try to fix the problem manually, log out when you are finished" - launch_interactive_shell - fi -} - -parabolaiso_pxe_http_mount_handler () { - newroot="${1}" - local img_type="sfs" - - msg ":: Mounting /run/parabolaiso/httpspace (tmpfs) filesystem, size='${parabolaiso_http_spc}'" - mkdir -p "/run/parabolaiso/httpspace" - mount -t tmpfs -o size="${parabolaiso_http_spc}",mode=0755 httpspace "/run/parabolaiso/httpspace" - - # shellcheck disable=SC2154 - # defined via initcpio's parse_cmdline() - if ! curl -L -f -o /dev/null -s -r 0-0 "${parabolaiso_http_srv}${parabolaisobasedir}/${arch}/airootfs.sfs"; then - if curl -L -f -o /dev/null -s -r 0-0 "${parabolaiso_http_srv}${parabolaisobasedir}/${arch}/airootfs.erofs"; then - img_type="erofs" - fi - fi - _curl_get "${parabolaiso_http_srv}${parabolaisobasedir}/${arch}/airootfs.${img_type}" "/${arch}" - - # shellcheck disable=SC2154 - # defined via initcpio's parse_cmdline() - if [ "${checksum}" = "y" ]; then - _curl_get "${parabolaiso_http_srv}${parabolaisobasedir}/${arch}/airootfs.sha512" "/${arch}" - fi - # shellcheck disable=SC2154 - # defined via initcpio's parse_cmdline() - if [ "${verify}" = "y" ]; then - _curl_get "${parabolaiso_http_srv}${parabolaisobasedir}/${arch}/airootfs.${img_type}.sig" "/${arch}" - fi - - mkdir -p "/run/parabolaiso/bootmnt" - mount -o bind /run/parabolaiso/httpspace /run/parabolaiso/bootmnt - - parabolaiso_mount_handler "${newroot}" -} - -# vim: set ft=sh: |