@george1421 Yeah, not native , but still able to read tech things written English.
Anyway, i tried several times and my VM boot grub but not OS. But it seems almost works.
I first check VM firmware to see if everything is UEFI with secure boot disabled.
And i found ipxe VM firmware was BIOS which is not right.
So i changed it to UEFI, remove #!ipxe
and tried again.
Not work. But i got new error.
It said VM cannot sanboot to that iscsi, because server is not found.
I forgot freenas VM powering on so i tried again.
It still displayed error message but another new message.
https://ipxe.org/err/3c2220
According to note, ACPI table has a problem.
I read mailing list below.
https://lists.ipxe.org/pipermail/ipxe-devel/2017-April/005551.html
I also read this --> https://ipxe.org/cmd/sanboot
I assumed that ACPI table has a issue so i changed iPXE boot entry.
set root-path iscsi:freenas.local:tcp:3260:0:iqn.2019-01.local.freenas:iscsi
sanhook --no-describe --drive 0x81 ${root-path}
sanboot
Well it doesn’t work cuz i didn’t typed right.
So changed it and tried again.
Still error. But i didn’t see this --> https://ipxe.org/err/7f22208e
At that time, i didn’t thought about how ipxe finds grub…
So i read command document about sanboot again.
And the note below the page said “On a UEFI platform, some older operating systems (e.g. RHEL6) will install the bootloader with a non-default filename. You can use the --filename option (or the san-filename setting) to specify the correct bootloader filename.”
And i changed parameter.
set root-path iscsi:freenas.local:tcp:3260:0:iqn.2019-01.local.freenas:iscsi-boot
sanboot --no-describe --filename \EFI\ubuntu\grubx64.efi ${root-path}
Booted again and it booted grub, but failed to boot os.
I think os installation has some issue… But it successfully booted grub.
Here are what i learned.
When computer firmware is UEFI, use --filename argument to notify where the grub is.
ACPI table issue can be occur on vmware esxi vm.