Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archiso/initcpio
diff options
context:
space:
mode:
Diffstat (limited to 'archiso/initcpio')
-rw-r--r--archiso/initcpio/hooks/archiso15
-rw-r--r--archiso/initcpio/install/archiso6
2 files changed, 20 insertions, 1 deletions
diff --git a/archiso/initcpio/hooks/archiso b/archiso/initcpio/hooks/archiso
index 1b848ce..d897ae1 100644
--- a/archiso/initcpio/hooks/archiso
+++ b/archiso/initcpio/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/archiso/initcpio/install/archiso b/archiso/initcpio/install/archiso
index 74948c7..c64e10e 100644
--- a/archiso/initcpio/install/archiso
+++ b/archiso/initcpio/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