[archiso] Rename archiso_curl_url= to archiso_http_srv=

Also rename curlspace_size= to archiso_http_spc=

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
This commit is contained in:
Gerardo Exequiel Pozzi 2011-12-03 18:20:43 -03:00
parent 9ca157c140
commit dceb5a029f
8 changed files with 22 additions and 56 deletions

5
README
View File

@ -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%"

View File

@ -1,10 +1,10 @@
# 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}
}

View File

@ -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
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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