index : mkinitcpio-archiso32 | |
Archlinux32 initcpio scripts used by archiso | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | docs/README.bootparams | 4 | ||||
-rw-r--r-- | hooks/archiso | 15 | ||||
-rw-r--r-- | install/archiso | 6 |
diff --git a/docs/README.bootparams b/docs/README.bootparams index bcafc0e..da1fcda 100644 --- a/docs/README.bootparams +++ b/docs/README.bootparams @@ -24,7 +24,9 @@ INDEX * archisobasedir= Set the base directory where all files reside. Default: "arch" * copytoram= If set to "y" or just "copytoram" without arguments, - all SquashFS are copied to "RAM". + all SquashFS are copied to "RAM". If you add the package + "pv" to the packages.x86_64 it is used to display the copy + progress. Default: (unset) * checksum= If set to "y" or just "checksum" without arguments, performs a self-test of all files inside ${install_dir}, diff --git a/hooks/archiso b/hooks/archiso index 1b848ce..d897ae1 100644 --- a/hooks/archiso +++ b/hooks/archiso @@ -69,10 +69,23 @@ _mnt_sfs() { # defined via initcpio's parse_cmdline() if [ "${copytoram}" = "y" ]; then msg -n ":: Copying squashfs image to RAM..." - if ! cp -- "${img}" "/run/archiso/copytoram/${img_fullname}" ; then + + # in case we have pv use it to display copy progress feedback otherwise + # fallback to using plain cp + if command -v pv > /dev/null 2>&1; then + echo "" + (pv "${img}" > "/run/archiso/copytoram/${img_fullname}") + local rc=$? + else + (cp -- "${img}" "/run/archiso/copytoram/${img_fullname}") + local rc=$? + fi + + if [ $rc != 0 ]; then echo "ERROR: while copy '${img}' to '/run/archiso/copytoram/${img_fullname}'" launch_interactive_shell fi + img="/run/archiso/copytoram/${img_fullname}" msg "done." fi diff --git a/install/archiso b/install/archiso index 74948c7..c64e10e 100644 --- a/install/archiso +++ b/install/archiso @@ -19,6 +19,12 @@ build() { add_binary gpg add_binary grep + if command -v pv > /dev/null 2>&1; then + add_binary pv + else + warning 'pv not found; falling back to cp for copy to RAM' + fi + add_file /usr/lib/udev/rules.d/60-cdrom_id.rules add_file /usr/lib/udev/rules.d/10-dm.rules add_file /usr/lib/udev/rules.d/95-dm-notify.rules |