initcpio: update miso_pxe_http

This commit is contained in:
udeved 2016-10-11 00:16:36 +02:00
parent e866491037
commit 5b0771a1d0
2 changed files with 25 additions and 14 deletions

View file

@ -19,7 +19,7 @@ _curl_get() {
local _dst="${2}"
msg ":: Downloading '${_url}'"
if ! curl -L -f -o "${_dst}" --create-dirs "${_url}"; then
if ! curl -L -f -o "/run/miso/httpspace/${misobasedir}${_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"
@ -30,18 +30,27 @@ _curl_get() {
miso_pxe_http_mount_handler () {
newroot="${1}"
_curl_get "${miso_http_srv}${misobasedir}/isomounts" "${isomounts}"
# _curl_get "${miso_http_srv}${misobasedir}/isomounts" "${isomounts}"
#
# msg ":: Retrieving images"
# while read img imgarch mountpoint type kernelarg; do
# # check if this line is a comment (starts with #)
# [ "${img#"#"}" != "${img}" ] && continue
#
# [ "$imgarch" != "$arch" ] && continue
#
# _curl_get "${miso_http_srv}${misobasedir}/${img}" "/bootmnt/${misobasedir}/${img}"
#
# done < "${isomounts}"
msg ":: Mounting /run/miso/httpspace (tmpfs) filesystem, size='${miso_http_spc}'"
mkdir -p "/run/miso/httpspace"
mount -t tmpfs -o size="${miso_http_spc}",mode=0755 httpspace "/run/miso/httpspace"
msg ":: Retrieving images"
while read img imgarch mountpoint type kernelarg; do
# check if this line is a comment (starts with #)
[ "${img#"#"}" != "${img}" ] && continue
_curl_get "${miso_http_srv}${misobasedir}/${arch}/root-image.sqfs" "/${arch}"
[ "$imgarch" != "$arch" ] && continue
_curl_get "${miso_http_srv}${misobasedir}/${img}" "/bootmnt/${misobasedir}/${img}"
done < "${isomounts}"
mkdir -p "/run/miso/bootmnt"
mount -o bind /run/miso/httpspace /run/miso/bootmnt
miso_mount_handler ${newroot}
}

View file

@ -1,13 +1,15 @@
#!/bin/bash
build() {
add_binary "/usr/bin/curl" "/bin/curl"
add_runscript
add_binary curl
}
help() {
cat<<HELPEOF
This hook loads the necessary modules for boot via PXE by HTTP.
This hook loads the necessary modules for boot via PXE and HTTP.
HELPEOF
}
# vim: set ft=sh ts=4 sw=4 et: