diff options
Diffstat (limited to 'parabolaiso/initcpio/hooks/parabolaiso_pxe_http')
-rw-r--r-- | parabolaiso/initcpio/hooks/parabolaiso_pxe_http | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/parabolaiso/initcpio/hooks/parabolaiso_pxe_http b/parabolaiso/initcpio/hooks/parabolaiso_pxe_http index b3440ed..1fbd921 100644 --- a/parabolaiso/initcpio/hooks/parabolaiso_pxe_http +++ b/parabolaiso/initcpio/hooks/parabolaiso_pxe_http @@ -1,16 +1,20 @@ -# vim: set ft=sh: +#!/bin/ash +# +# SPDX-License-Identifier: GPL-3.0-or-later run_hook() { - if [[ -n "${ip}" && -n "${parabolaiso_http_srv}" ]]; then + # 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 - copytoram="y" + export copytoram="y" - parabolaiso_http_srv=$(eval echo ${parabolaiso_http_srv}) - [[ -z "${parabolaiso_http_spc}" ]] && parabolaiso_http_spc="75%" + parabolaiso_http_srv=$(eval echo "${parabolaiso_http_srv}") + [ -z "${parabolaiso_http_spc}" ] && parabolaiso_http_spc="75%" - mount_handler="parabolaiso_pxe_http_mount_handler" + export mount_handler="parabolaiso_pxe_http_mount_handler" fi } @@ -23,6 +27,8 @@ _curl_get() { 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" @@ -38,17 +44,25 @@ parabolaiso_pxe_http_mount_handler () { 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() _curl_get "${parabolaiso_http_srv}${parabolaisobasedir}/${arch}/airootfs.sfs" "/${arch}" - if [[ "${checksum}" == "y" ]]; then + # shellcheck disable=SC2154 + # defined via initcpio's parse_cmdline() + if [ "${checksum}" = "y" ]; then _curl_get "${parabolaiso_http_srv}${parabolaisobasedir}/${arch}/airootfs.sha512" "/${arch}" fi - if [[ "${verify}" == "y" ]]; then + # shellcheck disable=SC2154 + # defined via initcpio's parse_cmdline() + if [ "${verify}" = "y" ]; then _curl_get "${parabolaiso_http_srv}${parabolaisobasedir}/${arch}/airootfs.sfs.sig" "/${arch}" fi mkdir -p "/run/parabolaiso/bootmnt" mount -o bind /run/parabolaiso/httpspace /run/parabolaiso/bootmnt - parabolaiso_mount_handler ${newroot} + parabolaiso_mount_handler "${newroot}" } + +# vim: set ft=sh: |