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
This commit is contained in:
David Runge 2021-05-29 10:47:24 +02:00
commit e3a7f02385
No known key found for this signature in database
GPG Key ID: 7258734B41C31549
13 changed files with 59 additions and 4 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -6,6 +6,7 @@ linux
mkinitcpio
mkinitcpio-archiso
openssh
pv
qemu-guest-agent
syslinux
virtualbox-guest-utils-nox

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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},