From 8eb4c624dc41f47f93a04d9e42f531e0642e228b Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Mon, 28 Nov 2011 12:28:03 -0300 Subject: [archiso] Add archiso_pxe_curl hook Its add support for downloading the ISO image via HTTP/FTP with curl or download *.sfs files. The files are downloaded on /run/archiso/curlspace (tmpfs) and setup a loop dev from it (like in archiso_loop_mnt) in the ISO case, or just do a bind mount to /run/archiso/bootmnt in the other case. This hook must be located after archiso_pxe_nbd in mkinitcpio.conf, in that way NBD is the default. New bootparm: * archiso_curl_url=(first form) archiso_curl_url=http://192.168.0.7/archlinux/iso/archlinux.iso (absolute form) Use an absolute URL. Fetch the entire ISO archiso_curl_url=ftp://${pxeserver}/archlinux/iso/archlinux.iso (relative form) Use the as IP the same server where PXE reside. Fetch the entire ISO * archiso_curl_url=(second form) archiso_curl_url=http://192.168.0.7/archlinux/iso/unpacked (absolute form) Use an absolute URL. Where unpacked (an example name) is a directory where ${archisobasedir} ("arch" by default) is located with all *.sfs. This fetch only needed files. archiso_curl_url=ftp://${pxeserver}/archlinux/iso/unpacked (relative form) Use the as IP the same server where PXE reside. Where unpacked (an example name) is a directory where ${archisobasedir} ("arch" by default) is located with all *.sfs. This fetch only needed files. * curlspace_size= Set a size for a tmpfs filesystem where files are downloaded. Signed-off-by: Gerardo Exequiel Pozzi --- configs/releng/build.sh | 4 ++-- configs/releng/mkinitcpio.conf | 2 +- configs/releng/packages.i686 | 1 - configs/releng/packages.x86_64 | 1 - 4 files changed, 3 insertions(+), 5 deletions(-) (limited to 'configs/releng') diff --git a/configs/releng/build.sh b/configs/releng/build.sh index fcf5e4c..1c58a4e 100755 --- a/configs/releng/build.sh +++ b/configs/releng/build.sh @@ -16,7 +16,7 @@ script_path=$(readlink -f ${0%/*}) # Base installation (root-image) make_basefs() { mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" -p "base" create - mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" -p "memtest86+ syslinux mkinitcpio-nfs-utils nbd" create + mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" -p "memtest86+ syslinux mkinitcpio-nfs-utils nbd curl" create } # Additional packages (root-image) @@ -28,7 +28,7 @@ make_packages() { make_setup_mkinitcpio() { if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then local _hook - for _hook in archiso archiso_shutdown archiso_pxe_common archiso_pxe_nbd archiso_loop_mnt; do + for _hook in archiso archiso_shutdown archiso_pxe_common archiso_pxe_nbd archiso_pxe_curl archiso_loop_mnt; do cp /lib/initcpio/hooks/${_hook} ${work_dir}/root-image/lib/initcpio/hooks cp /lib/initcpio/install/${_hook} ${work_dir}/root-image/lib/initcpio/install done diff --git a/configs/releng/mkinitcpio.conf b/configs/releng/mkinitcpio.conf index eb0a68a..6387982 100644 --- a/configs/releng/mkinitcpio.conf +++ b/configs/releng/mkinitcpio.conf @@ -1,2 +1,2 @@ -HOOKS="base udev memdisk archiso_shutdown archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd pata scsi sata virtio usb fw pcmcia filesystems usbinput" +HOOKS="base udev memdisk archiso_shutdown archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_curl pata scsi sata virtio usb fw pcmcia filesystems usbinput" COMPRESSION="xz" diff --git a/configs/releng/packages.i686 b/configs/releng/packages.i686 index 7b66e41..1f5075f 100644 --- a/configs/releng/packages.i686 +++ b/configs/releng/packages.i686 @@ -2,7 +2,6 @@ aif b43-fwcutter btrfs-progs-unstable crda -curl ddrescue dhclient dialog diff --git a/configs/releng/packages.x86_64 b/configs/releng/packages.x86_64 index 7b66e41..1f5075f 100644 --- a/configs/releng/packages.x86_64 +++ b/configs/releng/packages.x86_64 @@ -2,7 +2,6 @@ aif b43-fwcutter btrfs-progs-unstable crda -curl ddrescue dhclient dialog -- cgit v1.2.2