Hi, that is indeed the weirdest thing I've heard in a while :) I just tried it on the computer that fails, but I'm testing this with OpenBSD on a USB stick and when it detects a CD and I don't actually boot from it, it just boots from the harddrive instead. (Not from the USB which is next in the boot-order) I will try to find time tomorrow, and install it on a harddive and try this trick again.
FWIW I got a tip off-list about putting some debug info in /usr/src/sys/arch/i386/stand/libsa/memprobe.c to try to figure out where it stops, and it seems to be this chunk of code at line 75: __asm __volatile(DOINT(0x15) "; setc %b1" : "=a" (sig), "=d" (rc), "=b" (off) : "0" (0xE820), "1" (0x534d4150), "b" (off), "c" (sizeof(*mp)), "D" (((u_int)mp) & 0xF) : "cc", "memory"); I just put a printf() before and after this code and it prints the one before it and then it just freezes. (See diff below. This gives the output probing: pc0 pci mem[Debug1Debug2 ) I don't know if this is helpful at all, but if someone have a diff they want me to test or something I'll be happy to recompile boot again and test it here. Or maybe the bios is so badly broken that the "real fix" for this would be in the form of a bios-update from HP? I'll look for that too. Thanks! --- memprobe99.c~ Mon Jun 21 19:41:34 2010 +++ memprobe.c Mon Jun 21 19:43:08 2010 @@ -68,17 +68,17 @@ bios_E820(bios_memmap_t *mp) { int rc, off = 0, sig, gotcha = 0; - + printf("Debug1"); do { BIOS_regs.biosr_es = ((u_int)(mp) >> 4); - + printf("Debug2"); __asm __volatile(DOINT(0x15) "; setc %b1" : "=a" (sig), "=d" (rc), "=b" (off) : "0" (0xE820), "1" (0x534d4150), "b" (off), "c" (sizeof(*mp)), "D" (((u_int)mp) & 0xF) : "cc", "memory"); off = BIOS_regs.biosr_bx; - + printf("Debug3"); if (rc & 0xff || sig != 0x534d4150) break; gotcha++; On Mon, Jun 21, 2010 at 1:22 AM, Marco Peereboom <sl...@peereboom.us> wrote: > On Sun, Jun 20, 2010 at 12:41:01PM -0500, Todd Alan Smith wrote: >> On Sun, Jun 20, 2010 at 7:55 AM, Marco Peereboom <sl...@peereboom.us> wrote: >> > This is most likely a bios issue and I hoped my little trick helped you >> > past the bios boot part. >> >> Yeah, me too. I guess I'll have to look for a BIOS update, though I'm >> not very optimistic that one exists. >> >> By the way, I don't understand why your trick would work in any >> situation. I didn't think anything persists beyond a reboot. I am >> really puzzled that it works in some situations. Weird. > > The cd boot trick moves memory around enough. You don't want to know > how bios is written and this is one of those examples that proves how > bad it really is. > >> >> > HP/compaq really know how to be incompatible. >> >> Yeah, no doubt.