On Tue, Apr 21, 2015 at 07:26:27PM -0500, Charles Howell wrote:
> (Apologies if this is the wrong list, but I'm not sure where else to post.)
> I'm attempting to boot FreeBSD 10.1 (amd64) on a new Chromebook Pixel (via
> a USB CD) and it hangs as soon as the kernel is loaded into memory.
> I'd just assume it's a FreeBSD problem but I've also tried the latest
> versions of OpenBSD and NetBSD with the same results. In all three cases,
> the bootloader loads and I can interact with it, toggle options, read
> machine memory layout, enable safe mode, etc. but as soon as the kernel is
> loaded into memory and it tries to execute, the machine hangs hard and I
> have to hold down power for a few seconds to shut it off.
> This leads me to believe it's a problem with SeaBIOS and/or its support for
> this machine since I've booted BSDs on the Acer C720 with SeaBIOS just fine.
> I've also tried with a USB key with an installed OS already in case it was
> related to reading the CD, but with the same results. The bootloader comes
> up but no kernels will boot.
> These were all tested with SeaBIOS version -20150225_120401-build122-m2 as
> shipped with the device.
> Can anyone offer any help?
Unfortunately, it's very difficult to troubleshoot boot issues without
access to the debug log. SeaBIOS currently only supports access to
the debug log via a traditional serial port or via the "cbmem" in
memory log. The cbmem log is only applicable if one can boot the
machine to an OS that can run the cbmem tool.
You could try taking the USB/CD image and running it on QEMU - just to
verify that SeaBIOS doesn't have an issue with the image. (Though
it's unlikely that is the cause.)
Also, some of the more recent chromebooks have been shipping with
SeaVGABIOS instead of the traditional Intel vgabios. This may confuse
some kernels - you may want to verify that the machine has truly hung
(as opposed to the video just hanging).
Another option would be to try booting a Linux image - access to the
cbmem console would be helpful even if booting Linux is not the goal.