summaryrefslogtreecommitdiff
path: root/parabolaiso/initcpio/hooks/parabolaiso_pxe_http
diff options
context:
space:
mode:
Diffstat (limited to 'parabolaiso/initcpio/hooks/parabolaiso_pxe_http')
-rw-r--r--parabolaiso/initcpio/hooks/parabolaiso_pxe_http74
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: