Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Wilper <sxw@chronowerks.de>2021-01-01 03:15:33 +0100
committerSimon Wilper <sxw@chronowerks.de>2021-05-14 19:46:23 +0200
commitbb503b90308ea12542c85dea9b799e11632158a6 (patch)
tree383cbecdf1caf8b19bdec4f8a7133aa75489781b
parent28ab118099b19f76ff1937776400a2bb7f8b09bb (diff)
add optional pv tool
use pv to give feedback on copying the airootfs to RAM when copytoram kernel parameter is given
-rw-r--r--archiso/initcpio/hooks/archiso15
-rw-r--r--archiso/initcpio/install/archiso1
-rw-r--r--configs/baseline/efiboot/loader/entries/archiso-x86_64-linux-ram.conf7
-rw-r--r--configs/baseline/packages.x86_641
-rw-r--r--configs/baseline/syslinux/syslinux-linux.cfg6
5 files changed, 29 insertions, 1 deletions
diff --git a/archiso/initcpio/hooks/archiso b/archiso/initcpio/hooks/archiso
index 1b848ce..485fb0f 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 [ -x /usr/bin/pv ]; 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..df0f6b5 100644
--- a/archiso/initcpio/install/archiso
+++ b/archiso/initcpio/install/archiso
@@ -18,6 +18,7 @@ build() {
add_binary truncate
add_binary gpg
add_binary grep
+ add_binary pv
add_file /usr/lib/udev/rules.d/60-cdrom_id.rules
add_file /usr/lib/udev/rules.d/10-dm.rules
diff --git a/configs/baseline/efiboot/loader/entries/archiso-x86_64-linux-ram.conf b/configs/baseline/efiboot/loader/entries/archiso-x86_64-linux-ram.conf
new file mode 100644
index 0000000..c5e9ab9
--- /dev/null
+++ b/configs/baseline/efiboot/loader/entries/archiso-x86_64-linux-ram.conf
@@ -0,0 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+title Arch Linux (x86_64, UEFI) Copy to RAM
+linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
+initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram
diff --git a/configs/baseline/packages.x86_64 b/configs/baseline/packages.x86_64
index cadea18..224f7f0 100644
--- a/configs/baseline/packages.x86_64
+++ b/configs/baseline/packages.x86_64
@@ -6,6 +6,7 @@ linux
mkinitcpio
mkinitcpio-archiso
openssh
+pv
qemu-guest-agent
syslinux
virtualbox-guest-utils-nox
diff --git a/configs/baseline/syslinux/syslinux-linux.cfg b/configs/baseline/syslinux/syslinux-linux.cfg
index 867d815..ced6801 100644
--- a/configs/baseline/syslinux/syslinux-linux.cfg
+++ b/configs/baseline/syslinux/syslinux-linux.cfg
@@ -6,3 +6,9 @@ MENU LABEL Arch Linux (x86_64, BIOS)
LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux
INITRD /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
+
+LABEL arch-ram
+MENU LABEL Arch Linux (x86_64, BIOS) Copy to RAM
+LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux
+INITRD /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
+APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram