did the loopback mount for them already. the rema...
# harvester
h
did the loopback mount for them already. the remaining problem is the error about not seeing COS_LIVE as I explained above earlier. Here's my menuentry:
Copy code
menuentry "Harvester 1.6.0 Installer ISO" --class os --unrestricted {
    set root='hd2,gpt2'
    set isofile="/boot/isos/harvester-v1.6.0-amd64.iso"
    loopback loop $isofile
    echo Loading kernel...
    linux (loop)/boot/kernel root=live:CDLABEL=COS_LIVE rd.live.dir=/ rd.live.squashimg=rootfs.>
    echo Loading initrd...
    initrd (loop)/boot/initrd
}
b
I only know the options I use for PXE - but it looks like they might help.
Copy code
kernel ${install}/iso/boot/kernel initrd=initrd ip=dhcp net.ifnames=1 rd.cos.disable rd.noverifyssl root=live:${install}/iso/rootfs.squashfs

initrd ${install}/iso/boot/initrd
h
ok, let me try
hmm loads kernel and initrd and then after many log output says
A start job is running for /dev/gpt-auto-root
image.png
👀 1
b
hum... maybe don't have the initrd=initrd for the kernel arg - that might be an iPXE only thing. menuentry tested this time ?
h
i'm just guessing at this point. wish there was an easier way.
try tommorrow
p
I had something like this work a couple times but then something broke and wasn't worth debugging more, but basically
dd
the iso to a disk and then set kernel args, iirc we did it both directly and via iPXE boot from disk -> harvester. some scratch notes:
mkdir -p /tmp/hefi
mount -o defaults /dev/nvme1n1p2 /tmp/hefi
tee /tmp/hefi/EFI/BOOT/grub.cfg >/dev/null <<EOF
search --no-floppy --file --set=root /boot/kernel
set prefix=($root)/boot/grub2
set extra_iso_cmdline="ip=dhcp rd.cos.disable rd.noverifyssl net.ifnames=1 root=live:<https://releases.rancher.com/harvester/v1.6.0/harvester-v1.6.0-rootfs-amd64.squashfs> console=tty1 harvester.install.skipchecks=true harvester.install.automatic=true harvester.install.config_url=<https://internal/config.yaml>
export extra_iso_cmdline
configfile $prefix/grub.cfg
EOF
efibootmgr -c -d /dev/nvme1n1 -p 1 -l "\EFI\BOOT\BOOTX64.EFI" -L "Harvester Installer" -u "ip=dhcp rd.cos.disable rd.noverifyssl net.ifnames=1 console=tty1 harvester.install.skipchecks=true harvester.install.automatic=true harvester.install.skipchecks=true harvester.install.automatic=true harvester.install.config_url=..."
I think generally just iPXE boot to install is easier to standardize on even if its from disk. our main problem was a node that iPXE crashed trying to bring up the NIC leading to attempted workarounds