Commit dceb5a02 authored by Gerardo Exequiel Pozzi's avatar Gerardo Exequiel Pozzi
Browse files

[archiso] Rename archiso_curl_url= to archiso_http_srv=



Also rename curlspace_size= to archiso_http_spc=

Signed-off-by: default avatarGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
parent 9ca157c1
......@@ -89,12 +89,11 @@ INDEX
** hooks/archiso_pxe_http
* archiso_curl_url= Set an HTTP/FTP URL (must end with /) where ${archisobasedir}
* archiso_http_srv= Set an HTTP URL (must end with /) where ${archisobasedir}
is found with all *.sfs files.
In the IP/domain part if ${pxeserver} is used, use PXE IP.
Default: (unset)
* curlspace_size= Set the size of tmpfs of "curlspace" where the specified
ISO image or *.sfs files are downloaded.
* archiso_http_spc= Set the size of tmpfs where *.sfs files are downloaded.
Default: "75%"
......
# vim: set ft=sh:
run_hook() {
if [[ -n "${ip}" && -n "${archiso_curl_url}" ]]; then
if [[ -n "${ip}" && -n "${archiso_http_srv}" ]]; then
archiso_curl_url=$(eval echo ${archiso_curl_url})
[[ -z "${curlspace_size}" ]] && curlspace_size="75%"
archiso_http_srv=$(eval echo ${archiso_http_srv})
[[ -z "${archiso_http_spc}" ]] && archiso_http_spc="75%"
mount_handler="archiso_pxe_http_mount_handler"
fi
......@@ -13,13 +13,13 @@ run_hook() {
# Fetch a file with CURL
#
# $1 URL
# $2 Destination directory inside curlspace/${archisobasedir}
# $2 Destination directory inside httpspace/${archisobasedir}
_curl_get() {
local _url="${1}"
local _dst="${2}"
msg ":: Downloading '${_url}'"
if ! curl -f -o "/run/archiso/curlspace/${archisobasedir}${_dst}/${_url##*/}" --create-dirs "${_url}"; then
if ! curl -f -o "/run/archiso/httpspace/${archisobasedir}${_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,12 +30,12 @@ _curl_get() {
archiso_pxe_http_mount_handler () {
newroot="${1}"
msg ":: Mounting /run/archiso/curlspace (tmpfs) filesystem, size='${curlspace_size}'"
mkdir -p "/run/archiso/curlspace"
mount -t tmpfs -o size="${curlspace_size}",mode=0755 curlspace "/run/archiso/curlspace"
msg ":: Mounting /run/archiso/httpspace (tmpfs) filesystem, size='${archiso_http_spc}'"
mkdir -p "/run/archiso/httpspace"
mount -t tmpfs -o size="${archiso_http_spc}",mode=0755 httpspace "/run/archiso/httpspace"
local _aitab_url="${archiso_curl_url}${aitab#/run/archiso/bootmnt/}"
local _aitab_file="/run/archiso/curlspace/${aitab#/run/archiso/bootmnt/}"
local _aitab_url="${archiso_http_srv}${aitab#/run/archiso/bootmnt/}"
local _aitab_file="/run/archiso/httpspace/${aitab#/run/archiso/bootmnt/}"
_curl_get "${_aitab_url}" "/"
......@@ -44,18 +44,18 @@ archiso_pxe_http_mount_handler () {
[[ "${aitab_img#\#}" != "${aitab_img}" ]] && continue
[[ "${aitab_arch}" != "any" && "${aitab_arch}" != "${arch}" ]] && continue
if [[ "${aitab_fs_type}" != "none" ]]; then
_curl_get "${archiso_curl_url}${archisobasedir}/${aitab_arch}/${aitab_img}.fs.sfs" "/${aitab_arch}"
_curl_get "${archiso_http_srv}${archisobasedir}/${aitab_arch}/${aitab_img}.fs.sfs" "/${aitab_arch}"
else
_curl_get "${archiso_curl_url}${archisobasedir}/${aitab_arch}/${aitab_img}.sfs" "/${aitab_arch}"
_curl_get "${archiso_http_srv}${archisobasedir}/${aitab_arch}/${aitab_img}.sfs" "/${aitab_arch}"
fi
done < "${_aitab_file}"
if [[ "${checksum}" == "y" ]]; then
_curl_get "${archiso_curl_url}${archisobasedir}/checksum.${arch}.md5" "/"
_curl_get "${archiso_http_srv}${archisobasedir}/checksum.${arch}.md5" "/"
fi
mkdir -p "/run/archiso/bootmnt"
mount -o bind /run/archiso/curlspace /run/archiso/bootmnt
mount -o bind /run/archiso/httpspace /run/archiso/bootmnt
archiso_mount_handler ${newroot}
}
......@@ -13,6 +13,6 @@ build ()
help ()
{
cat<<HELPEOF
This hook loads the necessary modules for boot via PXE and HTTP/FTP with curl.
This hook loads the necessary modules for boot via PXE and HTTP.
HELPEOF
}
......@@ -5,7 +5,7 @@ MENU BACKGROUND boot/syslinux/splash.png
MENU WIDTH 78
MENU MARGIN 4
MENU ROWS 8
MENU ROWS 7
MENU VSHIFT 10
MENU TABMSGROW 14
MENU CMDLINEROW 14
......
......@@ -28,16 +28,5 @@ ENDTEXT
MENU LABEL Boot Arch Linux (i686) (HTTP)
LINUX boot/i686/vmlinuz
INITRD boot/i686/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_curl_url=http://${pxeserver}/
IPAPPEND 3
LABEL arch32_ftp
TEXT HELP
Boot the Arch Linux (i686) live medium (Using FTP). It allows you to install Arch Linux or
perform system maintenance.
ENDTEXT
MENU LABEL Boot Arch Linux (i686) (FTP)
LINUX boot/i686/vmlinuz
INITRD boot/i686/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_curl_url=ftp://${pxeserver}/
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/
IPAPPEND 3
......@@ -28,16 +28,5 @@ ENDTEXT
MENU LABEL Boot Arch Linux (x86_64) (HTTP)
LINUX boot/x86_64/vmlinuz
INITRD boot/x86_64/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_curl_url=http://${pxeserver}/
IPAPPEND 3
LABEL arch64_ftp
TEXT HELP
Boot the Arch Linux (x86_64) live medium (Using FTP). It allows you to install Arch Linux or
perform system maintenance.
ENDTEXT
MENU LABEL Boot Arch Linux (x86_64) (FTP)
LINUX boot/x86_64/vmlinuz
INITRD boot/x86_64/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_curl_url=ftp://${pxeserver}/
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/
IPAPPEND 3
......@@ -5,7 +5,7 @@ MENU BACKGROUND boot/syslinux/splash.png
MENU WIDTH 78
MENU MARGIN 4
MENU ROWS 8
MENU ROWS 6
MENU VSHIFT 10
MENU TABMSGROW 14
MENU CMDLINEROW 14
......
......@@ -28,16 +28,5 @@ ENDTEXT
MENU LABEL Boot Arch Linux (HTTP)
LINUX boot/%ARCH%/vmlinuz
INITRD boot/%ARCH%/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_curl_url=http://${pxeserver}/
IPAPPEND 3
LABEL arch_ftp
TEXT HELP
Boot the Arch Linux live medium (Using FTP). It allows you to install Arch Linux or
perform system maintenance.
ENDTEXT
MENU LABEL Boot Arch Linux (FTP)
LINUX boot/%ARCH%/vmlinuz
INITRD boot/%ARCH%/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_curl_url=ftp://${pxeserver}/
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/
IPAPPEND 3
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment