[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 ** 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. is found with all *.sfs files.
In the IP/domain part if ${pxeserver} is used, use PXE IP. In the IP/domain part if ${pxeserver} is used, use PXE IP.
Default: (unset) Default: (unset)
* curlspace_size= Set the size of tmpfs of "curlspace" where the specified * archiso_http_spc= Set the size of tmpfs where *.sfs files are downloaded.
ISO image or *.sfs files are downloaded.
Default: "75%" Default: "75%"

View File

@ -1,10 +1,10 @@
# vim: set ft=sh: # vim: set ft=sh:
run_hook() { 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}) archiso_http_srv=$(eval echo ${archiso_http_srv})
[[ -z "${curlspace_size}" ]] && curlspace_size="75%" [[ -z "${archiso_http_spc}" ]] && archiso_http_spc="75%"
mount_handler="archiso_pxe_http_mount_handler" mount_handler="archiso_pxe_http_mount_handler"
fi fi
@ -13,13 +13,13 @@ run_hook() {
# Fetch a file with CURL # Fetch a file with CURL
# #
# $1 URL # $1 URL
# $2 Destination directory inside curlspace/${archisobasedir} # $2 Destination directory inside httpspace/${archisobasedir}
_curl_get() { _curl_get() {
local _url="${1}" local _url="${1}"
local _dst="${2}" local _dst="${2}"
msg ":: Downloading '${_url}'" 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 "ERROR: Downloading '${_url}'"
echo " Falling back to interactive prompt" echo " Falling back to interactive prompt"
echo " You can try to fix the problem manually, log out when you are finished" 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 () { archiso_pxe_http_mount_handler () {
newroot="${1}" newroot="${1}"
msg ":: Mounting /run/archiso/curlspace (tmpfs) filesystem, size='${curlspace_size}'" msg ":: Mounting /run/archiso/httpspace (tmpfs) filesystem, size='${archiso_http_spc}'"
mkdir -p "/run/archiso/curlspace" mkdir -p "/run/archiso/httpspace"
mount -t tmpfs -o size="${curlspace_size}",mode=0755 curlspace "/run/archiso/curlspace" 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_url="${archiso_http_srv}${aitab#/run/archiso/bootmnt/}"
local _aitab_file="/run/archiso/curlspace/${aitab#/run/archiso/bootmnt/}" local _aitab_file="/run/archiso/httpspace/${aitab#/run/archiso/bootmnt/}"
_curl_get "${_aitab_url}" "/" _curl_get "${_aitab_url}" "/"
@ -44,18 +44,18 @@ archiso_pxe_http_mount_handler () {
[[ "${aitab_img#\#}" != "${aitab_img}" ]] && continue [[ "${aitab_img#\#}" != "${aitab_img}" ]] && continue
[[ "${aitab_arch}" != "any" && "${aitab_arch}" != "${arch}" ]] && continue [[ "${aitab_arch}" != "any" && "${aitab_arch}" != "${arch}" ]] && continue
if [[ "${aitab_fs_type}" != "none" ]]; then 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 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 fi
done < "${_aitab_file}" done < "${_aitab_file}"
if [[ "${checksum}" == "y" ]]; then if [[ "${checksum}" == "y" ]]; then
_curl_get "${archiso_curl_url}${archisobasedir}/checksum.${arch}.md5" "/" _curl_get "${archiso_http_srv}${archisobasedir}/checksum.${arch}.md5" "/"
fi fi
mkdir -p "/run/archiso/bootmnt" 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} archiso_mount_handler ${newroot}
} }

View File

@ -13,6 +13,6 @@ build ()
help () help ()
{ {
cat<<HELPEOF 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 HELPEOF
} }

View File

@ -5,7 +5,7 @@ MENU BACKGROUND boot/syslinux/splash.png
MENU WIDTH 78 MENU WIDTH 78
MENU MARGIN 4 MENU MARGIN 4
MENU ROWS 8 MENU ROWS 7
MENU VSHIFT 10 MENU VSHIFT 10
MENU TABMSGROW 14 MENU TABMSGROW 14
MENU CMDLINEROW 14 MENU CMDLINEROW 14

View File

@ -28,16 +28,5 @@ ENDTEXT
MENU LABEL Boot Arch Linux (i686) (HTTP) MENU LABEL Boot Arch Linux (i686) (HTTP)
LINUX boot/i686/vmlinuz LINUX boot/i686/vmlinuz
INITRD boot/i686/archiso.img INITRD boot/i686/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_curl_url=http://${pxeserver}/ APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=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}/
IPAPPEND 3 IPAPPEND 3

View File

@ -28,16 +28,5 @@ ENDTEXT
MENU LABEL Boot Arch Linux (x86_64) (HTTP) MENU LABEL Boot Arch Linux (x86_64) (HTTP)
LINUX boot/x86_64/vmlinuz LINUX boot/x86_64/vmlinuz
INITRD boot/x86_64/archiso.img INITRD boot/x86_64/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_curl_url=http://${pxeserver}/ APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=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}/
IPAPPEND 3 IPAPPEND 3

View File

@ -5,7 +5,7 @@ MENU BACKGROUND boot/syslinux/splash.png
MENU WIDTH 78 MENU WIDTH 78
MENU MARGIN 4 MENU MARGIN 4
MENU ROWS 8 MENU ROWS 6
MENU VSHIFT 10 MENU VSHIFT 10
MENU TABMSGROW 14 MENU TABMSGROW 14
MENU CMDLINEROW 14 MENU CMDLINEROW 14

View File

@ -28,16 +28,5 @@ ENDTEXT
MENU LABEL Boot Arch Linux (HTTP) MENU LABEL Boot Arch Linux (HTTP)
LINUX boot/%ARCH%/vmlinuz LINUX boot/%ARCH%/vmlinuz
INITRD boot/%ARCH%/archiso.img INITRD boot/%ARCH%/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_curl_url=http://${pxeserver}/ APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=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}/
IPAPPEND 3 IPAPPEND 3