Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Runge <dvzrv@archlinux.org>2021-05-29 10:47:24 +0200
committerDavid Runge <dvzrv@archlinux.org>2021-05-29 10:47:24 +0200
commite3a7f02385f23b6111ca7601b49e5ef43c02b3ba (patch)
tree409c97a50854cb92267c8176c0a8fcb2deba0b68
parent28ab118099b19f76ff1937776400a2bb7f8b09bb (diff)
parent31427eca7a3a6eea80fa2e3910e5805bee14c0c4 (diff)
Merge remote-tracking branch 'sxw/copytoram'
* sxw/copytoram: Apply copytoram Boot Option Menu Entries also to releng Fence add_binary for pv Reorder UEFI boot menu entries Update README.bootparams Apply 1 suggestion(s) to 1 file(s) add optional pv tool
-rw-r--r--archiso/initcpio/hooks/archiso15
-rw-r--r--archiso/initcpio/install/archiso6
-rw-r--r--configs/baseline/efiboot/loader/entries/01-archiso-x86_64-linux.conf (renamed from configs/baseline/efiboot/loader/entries/archiso-x86_64-linux.conf)0
-rw-r--r--configs/baseline/efiboot/loader/entries/02-archiso-x86_64-ram-linux.conf7
-rw-r--r--configs/baseline/efiboot/loader/loader.conf2
-rw-r--r--configs/baseline/packages.x86_641
-rw-r--r--configs/baseline/syslinux/syslinux-linux.cfg6
-rw-r--r--configs/releng/efiboot/loader/entries/01-archiso-x86_64-linux.conf (renamed from configs/releng/efiboot/loader/entries/archiso-x86_64-linux.conf)0
-rw-r--r--configs/releng/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf (renamed from configs/releng/efiboot/loader/entries/archiso-x86_64-speech-linux.conf)0
-rw-r--r--configs/releng/efiboot/loader/entries/03-archiso-x86_64-ram-linux.conf9
-rw-r--r--configs/releng/efiboot/loader/loader.conf2
-rw-r--r--configs/releng/syslinux/archiso_sys-linux.cfg11
-rw-r--r--docs/README.bootparams4
13 files changed, 59 insertions, 4 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
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
index 8dd7a16..8dd7a16 100644
--- a/configs/baseline/efiboot/loader/entries/archiso-x86_64-linux.conf
+++ b/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 0000000..c5e9ab9
--- /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 1ea5ce5..beacd81 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 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
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
index 1a14b11..1a14b11 100644
--- a/configs/releng/efiboot/loader/entries/archiso-x86_64-linux.conf
+++ b/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
index 632c446..632c446 100644
--- 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
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 0000000..9eba5a9
--- /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 767d225..4f6252f 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 e2b4edd..e1894c1 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 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},