diff options
Diffstat (limited to 'parabolaiso')
-rw-r--r-- | parabolaiso/initcpio/hooks/parabolaiso | 15 | ||||
-rw-r--r-- | parabolaiso/initcpio/install/parabolaiso | 6 | ||||
-rwxr-xr-x | parabolaiso/mkparabolaiso | 4 |
3 files changed, 22 insertions, 3 deletions
diff --git a/parabolaiso/initcpio/hooks/parabolaiso b/parabolaiso/initcpio/hooks/parabolaiso index 8f532c3..daac88b 100644 --- a/parabolaiso/initcpio/hooks/parabolaiso +++ b/parabolaiso/initcpio/hooks/parabolaiso @@ -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/parabolaiso/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/parabolaiso/copytoram/${img_fullname}") + local rc=$? + else + (cp -- "${img}" "/run/parabolaiso/copytoram/${img_fullname}") + local rc=$? + fi + + if [ $rc != 0 ]; then echo "ERROR: while copy '${img}' to '/run/parabolaiso/copytoram/${img_fullname}'" launch_interactive_shell fi + img="/run/parabolaiso/copytoram/${img_fullname}" msg "done." fi diff --git a/parabolaiso/initcpio/install/parabolaiso b/parabolaiso/initcpio/install/parabolaiso index 1e3b3b6..21af5b8 100644 --- a/parabolaiso/initcpio/install/parabolaiso +++ b/parabolaiso/initcpio/install/parabolaiso @@ -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 diff --git a/parabolaiso/mkparabolaiso b/parabolaiso/mkparabolaiso index db49ba7..0fa0f04 100755 --- a/parabolaiso/mkparabolaiso +++ b/parabolaiso/mkparabolaiso @@ -261,9 +261,9 @@ _mksignature() { # Helper function to run functions only one time. _run_once() { - if [[ ! -e "${work_dir}/${run_once_mode}.${1}" ]]; then + if [[ ! -e "${work_dir}/${run_once_mode}.${1}.${arch}" ]]; then "$1" - touch "${work_dir}/${run_once_mode}.${1}_${arch}" + touch "${work_dir}/${run_once_mode}.${1}.${arch}" fi } |