Hi, On Wed, 27 May 2020 22:32:58 -0700 Johan Hattne <jo...@hattne.se> wrote: > I've been trying to boot the 6.7 installation media from USB via EFI > on a Dell PowerEdge R610. The screen goes blank and then the thing > resets (so no kernel output or anything). I can boot the same stick > via BIOS. > > I've been searching for a while without results. Firmware settings > look sane to me. Is this something anybody has seen before? Any hint > on where I could even start looking for problems would be very much > appreciated!
I'd like you to try the diff attached with the following message. https://marc.info/?l=openbsd-tech&m=158280719421562&w=2 Thanks, Index: sys/arch/amd64/amd64/machdep.c =================================================================== RCS file: /disk/cvs/openbsd/src/sys/arch/amd64/amd64/machdep.c,v retrieving revision 1.264 diff -u -p -r1.264 machdep.c --- sys/arch/amd64/amd64/machdep.c 16 May 2020 14:44:44 -0000 1.264 +++ sys/arch/amd64/amd64/machdep.c 28 May 2020 07:40:14 -0000 @@ -1395,11 +1395,6 @@ init_x86_64(paddr_t first_avail) i8254_startclock(); /* - * Attach the glass console early in case we need to display a panic. - */ - cninit(); - - /* * Initialize PAGE_SIZE-dependent variables. */ uvm_setpagesize(); @@ -1421,6 +1416,8 @@ init_x86_64(paddr_t first_avail) } else panic("invalid /boot"); + cninit(); + /* * Memory on the AMD64 port is described by three different things. * @@ -1927,12 +1924,6 @@ getbootinfo(char *bootinfo, int bootinfo bios_ddb_t *bios_ddb; bios_bootduid_t *bios_bootduid; bios_bootsr_t *bios_bootsr; - int docninit = 0; - -#undef BOOTINFO_DEBUG -#ifdef BOOTINFO_DEBUG - printf("bootargv:"); -#endif for (q = (bootarg32_t *)bootinfo; (q->ba_type != BOOTARG_END) && @@ -1942,24 +1933,15 @@ getbootinfo(char *bootinfo, int bootinfo switch (q->ba_type) { case BOOTARG_MEMMAP: bios_memmap = (bios_memmap_t *)q->ba_arg; -#ifdef BOOTINFO_DEBUG - printf(" memmap %p", bios_memmap); -#endif break; case BOOTARG_DISKINFO: bios_diskinfo = (bios_diskinfo_t *)q->ba_arg; -#ifdef BOOTINFO_DEBUG - printf(" diskinfo %p", bios_diskinfo); -#endif break; case BOOTARG_APMINFO: /* generated by i386 boot loader */ break; case BOOTARG_CKSUMLEN: bios_cksumlen = *(u_int32_t *)q->ba_arg; -#ifdef BOOTINFO_DEBUG - printf(" cksumlen %d", bios_cksumlen); -#endif break; case BOOTARG_PCIINFO: /* generated by i386 boot loader */ @@ -1983,15 +1965,8 @@ getbootinfo(char *bootinfo, int bootinfo comconsaddr = consaddr; comconsrate = cdp->conspeed; comconsiot = X86_BUS_SPACE_IO; - - /* Probe the serial port this time. */ - docninit++; } #endif -#ifdef BOOTINFO_DEBUG - printf(" console 0x%x:%d", - cdp->consdev, cdp->conspeed); -#endif } break; case BOOTARG_BOOTMAC: @@ -2023,8 +1998,6 @@ getbootinfo(char *bootinfo, int bootinfo case BOOTARG_EFIINFO: bios_efiinfo = (bios_efiinfo_t *)q->ba_arg; - if (bios_efiinfo->fb_addr != 0) - docninit++; break; case BOOTARG_UCODE: @@ -2032,18 +2005,9 @@ getbootinfo(char *bootinfo, int bootinfo break; default: -#ifdef BOOTINFO_DEBUG - printf(" unsupported arg (%d) %p", q->ba_type, - q->ba_arg); -#endif break; } } - if (docninit > 0) - cninit(); -#ifdef BOOTINFO_DEBUG - printf("\n"); -#endif } int