-
tsoome
cyric UEFI boot?
-
cyric
tsoome: yes
-
tsoome
does it also have BIOS boot for test?
-
Woodstock
tsoome: is there a way to completely disable the vesa framebuffer on pre-uefi systems and just stick with the default vga text mode?
-
tsoome
yes, I think it was -t to /boot/config
-
tsoome
should double check...
-
tsoome
yes, gptzfsboot(7): -t Keep the VGA text mode for loader(7).
-
cyric
tsoome: sadly it won't allow me to change it to BIOS: "ACPI motherboard layout requires EFI"
-
tsoome
cyric ok, in that case, could you get output from memmap from loader ok prompt?
-
Woodstock
tsoome: so it's just 'echo -t > /boot/config' then?
-
tsoome
yes, gptzfsboot does read it and will pass -t to loader
-
Woodstock
fascinating
-
tsoome
the original location actually was #define PATH_DOTCONFIG "/boot.config", then #define PATH_CONFIG "/boot/config" was added, and tbh, we should really clean it and remove PATH_DOTCONFIG:) but it is not on the way and it is not like high priority...
-
tsoome
cyric the problem about memory maps is that illumos kernel is expected to be in specific location and if it so happens that UEFI will put something vital there, then Bad Things will happen.
-
tsoome
it may or may not be related to 17749, but it is one thing we can check. Another check is to boot with: ok boot -k -B prom_debug=true,kbm_debug=true and see where the crash will happen (hoping that there will be some output). In any case, since there is no kernel banner printed, the crash definitely does happen early enough.
-
andyf
It may also be related to illumos 17699 (fenix) if the hypervisor is advertising RDSEED but not emulating the MSR to disable it.
-
fenix
BUG 17699: Disable RDSEED on vulnerable Zen5 processors (Closed)
-
fenix
-
cyric
tsoome: i tried taking (high fps) video and that's the last thing i see (it even has vmware logo that shows on reset):
pasteboard.co/RFKHXIYWZpKH.jpg
-
cyric
andyf: it was working with 17699 integrated, i bisected and double-checked that intel microcode update is somehow a problem
-
cyric
-
tsoome
cyric last thing is hash check? try: ok disable-module-option boot_archive.hash and then boot
-
tsoome
if it does work, then bootadm update-archive -f
-
cyric
tsoome: tells me "disable-module-option not found"
-
tsoome
sec..
-
tsoome
sorry, its disable-module
-
tsoome
(and show-module-options)
-
cyric
krtld: failed to open '/platform/i86pc/kernel/amd64/unix'
-
cyric
krtld: bind_primary(): no relocation information found for module /platform/i86pc/kernel/amd64/unix
-
tsoome
so, it appears, your boot_archive is damaged.
-
cyric
krtld: error during initial load/link phase
-
tsoome
you can try to boot with previous BE (pick one from BE menu)
-
tsoome
then beadm mount NEWBE /mnt; bootadm update-archive -R /mnt -f; beadm umount /mnt ; reboot
-
cyric
did that, same issue
-
tsoome
if you mount new be to /mnt, compare file sizes ls -l /platform/i86pc/amd64/boot_archive /mnt/platform/i86pc/amd64/boot_archive
-
tsoome
they should differ, but not too much...
-
cyric
working 84796291, broken 92768563
-
tsoome
hm, ok, gzcat /mnt/platform/i86pc/amd64/boot_archive | digest -a sha1 and compare the result with /mnt/platform/i86pc/amd64/boot_archive.hash content
-
cyric
matches
-
tsoome
so the file is good...
-
tsoome
boot to ok prompt, enter: ok start but press space to stop the boot. then lsmod -s and compare hashes of boot_archive and from boot_archive.hash
-
tsoome
I suppose, they do match as well
-
cyric
yes, they do
-
tsoome
so apparently the boot_archive content is getting changed during/after it was copied to final location...
-
tsoome
the screenshot tells us its location is 0x10000000 - 0x19240000
-
cyric
just a note that if i build with microcode update reverted, all is good
-
cyric
full clean builds just to be sure (git clean -fdx)
-
tsoome
well, the boot_archive did grow and whatever does change the memory there, it does touch the area now...
-
tsoome
does your system enable something like boot from network?
-
tsoome
from memory map, this memory area, occupied by boot_archive, should be unused....
-
tsoome
of course, memory map can change while we are switching boot services off...
-
cyric
it's a vm so there's not really much i could/did enable
-
tsoome
right.
-
cyric
tsoome: i have removed some intel ucode files from the be that was failing to boot, and now it's ok, so yes, it's not microcode itself, rather the size of boot_archive
-
cyric
made it back to ~84000000
-
tsoome
with vmware it should be possible to find out what is making the change in that memory area -- attach to gdb stub and check the content to find the changed offset and then its about setting up the watch....
-
tsoome
but it definitely is nasty situation in many ways.
-
tsoome
Starting from the fact that once we do switch Boot Services off, we should own the memory.
-
cyric
oh