Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

NetBSD-7.0 boots OK and NetBSD-8.0 hangs/crashes during boot on a MacBook7,1



So, in my ongoing NetBSD on a MacBook saga....

NetBSD-7.2 boots fine from USB on the MacBook Pro (MacBook7,1) (with the
help of rEFIT on a second USB stick).

NetBSD-8.2 and newer, including the most recent -current, hangs during
boot and the kernel messages appear to have torn video:

     http://www.planix.ca/~woods/macbookpro-netbsd-boot-fail.jpg


However today I discovered that NetBSD-8.0 will often boot with the
kernel messages properly visible in nice green on black in a full
52(?)-line display, but it hangs or crashes.  (It is not reliable at
booting though -- sometimes the boot loader just hangs without printing
anything.)

If the boot loader does work though, and if I boot "normally" it just
hangs, with the last message being:

	pci0 at mainbus0 bus0: configuration mode 1

The caps-lock button is dead so I think the machine is well and truly
frozen in a CPU loop (the CPU is hot, the fan runs fast).

I'm guessing NetBSD-8.2 and everything more recent is also hanging at
this same spot, but with the busted video mode it's hard to tell for
sure.

If I boot 8.0 with ACPI turned off (boot option #2 or from the boot
prompt "boot -2"), it crashes into ddb after getting a bit further, but
there are many errors about not being ablt to map PCI interrupts.

If I boot 8.0 with "-vx", there are quite a number of "invalid config
space" messages after the pci0 attachment:

	pci0 at mainbus0 bus0: configuration mode 1
	acpi0: MCFG: 000:00:0: invalid config space (cfg[0x100]=0xffffffff, alias=false)

The second and third numbers change in each following message, and in
two of those messages the cfg[0x100] number is 0x00000000.

So it looks like ACPI is necessary, but support for using it in this
MacBook7,1 is broken somehow.

I can post a full-res photo of the screen in one or more or all of these
states it someone wants to see it.

In any case, what might have been changed after 8.0 that broke the video
output?  Where do I look?  Is amd64 video now the genfb(4) device code?
Or is it still vga(4)?  If it's genfb(4), then I do see commits about
doing anti-aliasing, and maybe the video junk I see could possibly be
explained by such a thing.  If I can get 7.2 installed (likely), so that
I need only drop a kernel in place instead of building the whole
installimage and writing the damn slow USB stick with a whole install
image every time, then maybe I'll be able to try bisecting changes to
get the video working right again.

I really wish modern PC vendors were not still so bloody stupid with
their firmware as to make it impossible to talk to them via a serial
port of some kind (e.g. a USB serial adapter as console would be
awesome!).  That said, what would it take to wire the NetBSD console to
a USB serial adapter?

In lieu of that it would be nice if hitting ^S on the keyboard would at
least pause the kernel messages from scrolling by during boot, but I get
that such a thing might be a bit hard to arrange for in NetBSD.

--
					Greg A. Woods <gwoods%acm.org@localhost>

Kelowna, BC     +1 250 762-7675           RoboHack <woods%robohack.ca@localhost>
Planix, Inc. <woods%planix.com@localhost>     Avoncote Farms <woods%avoncote.ca@localhost>

Attachment: pgpqAfJ3ygVCx.pgp
Description: OpenPGP Digital Signature



Home | Main Index | Thread Index | Old Index