On Wed, 11 Nov 2015 15:33:06 -0500 "Joe Gidi" <[email protected]> wrote: > I recently installed a UEFI-capable Asus M5A97 LE R2.0 motherboard in one > of my systems and tried to boot the November 11th amd64 miniroot58.fs > image to test UEFI booting. I get to the bootloader, but it appears to > fail while loading the kernel and goes into a reboot loop. Here's > everything I see on screen before it reboots: > > probing: pc0 mem[640K 2984M 4M 48K 5103M] > disk: hd0 hd1 hd2* >>> OpenBSD/amd64 EFIBOOT 3.29 > boot> > cannot open hd0a:/etc/random.seed: No such file or directory > booting hd0a:/bsd:3273216+1394144+2409472+0+569344=0x74d238
I'd like to figure out where the efiboot is stopping. Can you replace the BOOTX64.EFI in the miniroot58.fs and check the output? compiled version: http://yasuoka.net/~yasuoka/BOOTX64.EFI diff: Index: efiboot/efiboot.c =================================================================== RCS file: /disk/cvs/openbsd/src/sys/arch/amd64/stand/efiboot/efiboot.c,v retrieving revision 1.9 diff -u -p -r1.9 efiboot.c --- efiboot/efiboot.c 8 Nov 2015 00:17:29 -0000 1.9 +++ efiboot/efiboot.c 26 Nov 2015 09:15:17 -0000 @@ -569,7 +569,7 @@ efi_makebootargs(void) void _rtt(void) { -#ifdef EFI_DEBUG +#if defined(EFI_DEBUG) || 1 printf("Hit any key to reboot\n"); efi_cons_getc(0); #endif Index: libsa/exec_i386.c =================================================================== RCS file: /disk/cvs/openbsd/src/sys/arch/amd64/stand/libsa/exec_i386.c,v retrieving revision 1.15 diff -u -p -r1.15 exec_i386.c --- libsa/exec_i386.c 5 Oct 2015 22:59:39 -0000 1.15 +++ libsa/exec_i386.c 26 Nov 2015 09:15:17 -0000 @@ -123,6 +123,7 @@ run_loadfile(u_long *marks, int howto) * This code may be used both for 64bit and 32bit. Make sure the * bootarg is 32bit always on even on amd64. */ + printf("%s() calling makebootargs32()\n", __func__); #ifdef __amd64__ makebootargs32(av, &ac); #else @@ -134,6 +135,10 @@ run_loadfile(u_long *marks, int howto) printf("entry point at 0x%lx [%x, %x, %x, %x]\n", entry, ((int *)entry)[0], ((int *)entry)[1], ((int *)entry)[2], ((int *)entry)[3]); + + printf("Hit any key to continue\n"); + efi_cons_getc(0); + #ifndef EFIBOOT /* stack and the gung is ok at this point, so, no need for asm setup */ (*(startfuncp)entry)(howto, bootdev, BOOTARG_APIVER, marks[MARK_END],

