Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Purkrt <adam@purkrt.net>2015-08-30 00:39:41 +0200
committerGerardo Exequiel Pozzi <vmlinuz386@gmail.com>2015-09-13 14:45:20 -0300
commit76f8b588f20396a3624bf56b87fc3acaa8cbb992 (patch)
treeb3611bd8e0f3f4c1e82cfdbe96a9205bdad0e2c8
parent0cbf37f5ea5b3aa6ab616520daa122db9e8e83ff (diff)
cleaner boot from loopmounted iso file
Currently, when booting loopmounted iso file, it is necessary to specify not only img_dev and img_loop (which should be sufficient), but also archisolabel or archisodevice. With this patch, archisodevice is directly populated with the correct loop device, and it is not necessary to specify the label when booting from loopmounted iso, which makes for leaner and cleaner grub.cfg.
-rw-r--r--docs/README.altbootmethods4
-rw-r--r--hooks/archiso_loop_mnt4
2 files changed, 5 insertions, 3 deletions
diff --git a/docs/README.altbootmethods b/docs/README.altbootmethods
index 3c07e03..9df20ef 100644
--- a/docs/README.altbootmethods
+++ b/docs/README.altbootmethods
@@ -31,14 +31,14 @@ Note: Described method is for using with GRUB2.
menuentry "Arch Linux (x86_64)" {
set isofile="/<TARGET-PATH>/archlinux-<YYYY>.<MM>.<DD>-dual.iso"
loopback loop (hd<D>,<P>)$isofile
- linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=<FS-LABEL> img_label=<TARGET-FS-LABEL> img_loop=$isofile
+ linux (loop)/arch/boot/x86_64/vmlinuz img_label=<TARGET-FS-LABEL> img_loop=$isofile
initrd (loop)/arch/boot/x86_64/archiso.img
}
menuentry "Arch Linux (i686)" {
set isofile="/<TARGET-PATH>/archlinux-<YYYY>.<MM>.<DD>-dual.iso"
loopback loop (hd<D>,<P>)$isofile
- linux (loop)/arch/boot/i686/vmlinuz archisolabel=<FS-LABEL> img_label=<TARGET-FS-LABEL> img_loop=$isofile
+ linux (loop)/arch/boot/i686/vmlinuz img_label=<TARGET-FS-LABEL> img_loop=$isofile
initrd (loop)/arch/boot/i686/archiso.img
}
diff --git a/hooks/archiso_loop_mnt b/hooks/archiso_loop_mnt
index 46338e5..f95a47d 100644
--- a/hooks/archiso_loop_mnt
+++ b/hooks/archiso_loop_mnt
@@ -18,7 +18,9 @@ archiso_loop_mount_handler () {
echo $(readlink -f ${img_dev}) >> /run/archiso/used_block_devices
fi
- if ! _dev_loop=$(losetup --find --show --read-only "/run/archiso/img_dev/${img_loop}"); then
+ if _dev_loop=$(losetup --find --show --read-only "/run/archiso/img_dev/${img_loop}"); then
+ archisodevice="${_dev_loop}"
+ else
echo "ERROR: Setting loopback device for file '/run/archiso/img_dev/${img_loop}'"
launch_interactive_shell
fi