diff --git a/archiso/initcpio/hooks/archiso b/archiso/initcpio/hooks/archiso
index 1b848ce481263c856b487106585e162a4bb6cd5b..d897ae1300444af8b1dca9d43a09aff42713f0f3 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 74948c7d571fcf172c2c33cbd9f1446f2ddcb05e..c64e10e286c881339773fb8e138583f08de42f86 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
diff --git a/configs/baseline/efiboot/loader/entries/archiso-x86_64-linux.conf b/configs/baseline/efiboot/loader/entries/01-archiso-x86_64-linux.conf
similarity index 100%
rename from configs/baseline/efiboot/loader/entries/archiso-x86_64-linux.conf
rename to configs/baseline/efiboot/loader/entries/01-archiso-x86_64-linux.conf
diff --git a/configs/baseline/efiboot/loader/entries/02-archiso-x86_64-ram-linux.conf b/configs/baseline/efiboot/loader/entries/02-archiso-x86_64-ram-linux.conf
new file mode 100644
index 0000000000000000000000000000000000000000..c5e9ab92a898fbe5f6270fc8295f23ff5921103f
--- /dev/null
+++ b/configs/baseline/efiboot/loader/entries/02-archiso-x86_64-ram-linux.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/efiboot/loader/loader.conf b/configs/baseline/efiboot/loader/loader.conf
index 1ea5ce56feee470044591c4d49af3631b3441854..beacd81956f36f03079822e5f6488b740f3a375a 100644
--- a/configs/baseline/efiboot/loader/loader.conf
+++ b/configs/baseline/efiboot/loader/loader.conf
@@ -2,4 +2,4 @@
 # SPDX-License-Identifier: GPL-3.0-or-later
 
 timeout 3
-default archiso-x86_64-linux.conf
+default 01-archiso-x86_64-linux.conf
diff --git a/configs/baseline/packages.x86_64 b/configs/baseline/packages.x86_64
index cadea182ce95538ea60bf800ce84cf6c3affd316..224f7f06d8a939881c98a02a20b31438bdbed778 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 867d815cc58d605e041ebee191ac3a4ab192627f..ced68019885f9a3c3e9f1de30dc210fa03f66486 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
diff --git a/configs/releng/efiboot/loader/entries/archiso-x86_64-linux.conf b/configs/releng/efiboot/loader/entries/01-archiso-x86_64-linux.conf
similarity index 100%
rename from configs/releng/efiboot/loader/entries/archiso-x86_64-linux.conf
rename to configs/releng/efiboot/loader/entries/01-archiso-x86_64-linux.conf
diff --git a/configs/releng/efiboot/loader/entries/archiso-x86_64-speech-linux.conf b/configs/releng/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf
similarity index 100%
rename from configs/releng/efiboot/loader/entries/archiso-x86_64-speech-linux.conf
rename to configs/releng/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf
diff --git a/configs/releng/efiboot/loader/entries/03-archiso-x86_64-ram-linux.conf b/configs/releng/efiboot/loader/entries/03-archiso-x86_64-ram-linux.conf
new file mode 100644
index 0000000000000000000000000000000000000000..9eba5a9c1b2da917f6556fbc49daf56e5bd70191
--- /dev/null
+++ b/configs/releng/efiboot/loader/entries/03-archiso-x86_64-ram-linux.conf
@@ -0,0 +1,9 @@
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+title   Arch Linux install medium (x86_64, UEFI, Copy to RAM)
+linux   /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
+initrd  /%INSTALL_DIR%/boot/intel-ucode.img
+initrd  /%INSTALL_DIR%/boot/amd-ucode.img
+initrd  /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram
diff --git a/configs/releng/efiboot/loader/loader.conf b/configs/releng/efiboot/loader/loader.conf
index 767d2252c3d2d9857ec7986be08d77dfbcee9a18..4f6252f14b41692a38310ac2c76619bb95221a18 100644
--- a/configs/releng/efiboot/loader/loader.conf
+++ b/configs/releng/efiboot/loader/loader.conf
@@ -2,4 +2,4 @@
 # SPDX-License-Identifier: GPL-3.0-or-later
 
 timeout 15
-default archiso-x86_64-linux.conf
+default 01-archiso-x86_64-linux.conf
diff --git a/configs/releng/syslinux/archiso_sys-linux.cfg b/configs/releng/syslinux/archiso_sys-linux.cfg
index e2b4edd2311dffc6b3c380476cccbfc5bcb83e85..e1894c103bcc5228d61c86fb314778312021b2f9 100644
--- a/configs/releng/syslinux/archiso_sys-linux.cfg
+++ b/configs/releng/syslinux/archiso_sys-linux.cfg
@@ -21,3 +21,14 @@ MENU LABEL Arch Linux install medium (x86_64, BIOS) with ^speech
 LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
 INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
 APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% accessibility=on
+
+# Copy to RAM boot option
+LABEL arch64ram
+TEXT HELP
+Boot the Arch Linux install medium on BIOS with Copy-to-RAM option
+It allows you to install Arch Linux or perform system maintenance.
+ENDTEXT
+MENU LABEL Arch Linux install medium (x86_64, BIOS, Copy to RAM)
+LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
+INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram
diff --git a/docs/README.bootparams b/docs/README.bootparams
index bcafc0e470a4151cebf272e3225dc267cfea07ee..da1fcda720fcc5632801e108fe00a4f77e2349be 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},