You are not logged in.
I have looked in grub arch wiki and on the net for a set isofile syntax to run archlinux dual.iso. I wanted to boot from a linux installation on hdd with grub2 the installation iso of archlinux, sparing the need for a CD or usb key. From what I found, nothing in grub wiki archlinux and old threads were instructive or conclusive.
However an interesting link at first glance was the following:
http://git.marmotte.net/git/glim/tree/g … c-arch.cfg
Cited from this one:
http://www.howtogeek.com/196933/how-to- … ard-drive/
Resulting in for an iso installed on /mnt/sda1/ISO folder:
menuentry "Arch Linux Install ISO" {
set isoname="archlinux-2015.09.01-dual.iso"
set isofile="${isopath}/arch/${isoname}"
echo "Using ${isoname}..."
loopback loop $isofile
linux (loop)/arch/boot/x86_64/vmlinuz img_dev=/dev/sda1 img_loop=$isofile archisobasedir=arch archisolabel=ARCH_201509
initrd (loop)/arch/boot/x86_64/archiso.img
}
where:
isoname is the name of the currently downloaded iso in the /mnt/sda1/ISO folder
archisolabel is the label of that iso file that I got from mounting the iso file on loop and using the blkid command
to mount iso file:
mkdir /mnt/loop
mount -o loop /path/to/file.iso /mnt/loop
then:
blkid
What is wrong in the syntax of this menu entry?
Last edited by francois.e (2015-10-01 01:34:42)
Offline
Trying a few variations, the last one with set isofile=/dev/sda1... Results in error message:
Disk loop not found
File /dev/sda1... Not found
Hum!
Offline
Here are the solutions. Naturally from one of the archlinux wonderful wiki on multiboot:
https://wiki.archlinux.org/index.php/Mu … _USB_drive
Missing was 1) path to the partition holding ISO images, and some small syntax error in the menu entry proposed in this first post. The second menu entry is proposed in the multiboot wiki.
The following two grub2 syntax in 40_custom will work:
# the 'exec tail' line above.
# path to the partition holding ISO images (using UUID)
probe -u $root --set=rootuuid
set imgdevpath="/dev/disk/by-uuid/$rootuuid"
menuentry "Arch Linux Install ISO" {
set isoname='archlinux-2015.09.01-dual.iso'
set isofile=/ISO/$isoname
echo "Using $isoname'
loopback loop $isofile
linux (loop)/arch/boot/x86_64/vmlinuz img_dev=$imgdevpath img_loop=$isofile archisobasedir=arch archisolabel=ARCH_201509
initrd (loop)/arch/boot/x86_64/archiso.img
}
menuentry '[loopback]archlinux-2015.09.01-dual.iso' {
set isofile='/ISO/archlinux-2015.09.01-dual.iso'
loopback loop $isofile
linux (loop)/arch/boot/x86_64/vmlinuz archisodevice=/dev/loop0 img_dev=$imgdevpath img_loop=$isofile
initrd (loop)/arch/boot/x86_64/archiso.img
}
Last edited by francois.e (2015-09-30 01:32:09)
Offline
I was wondering if anyone had an idea about how to get persistence for set isofile.
Offline
Assuming, your image is not residing on your boot partition, you need to specify `set imgdevpath="/dev/disk/by-uuid/UUID_value"` according to the Wiki-page you used.
For comparison you might also want to have a look at this forum thread:
https://bbs.archlinux.org/viewtopic.php?id=199516
Edit:
Er, wait - it seems you already solved it.
What do you mean by getting persistance?
- If you want any found "archlinux-*-dual.iso" to be booted it should be possible to just use it like this, grub{,2} seems to support wildcards, though I never tested it.
Last edited by respiranto (2015-11-15 14:18:14)
Offline