[SeaBIOS] Chromebook doesn't boot BSD

edward wandasiewicz 0.w3ntd at gmail.com
Mon Feb 15 15:40:58 CET 2016


On Sun, Feb 14, 2016 at 11:02 PM, Kevin O'Connor <kevin at koconnor.net> wrote:
> On Sun, Feb 14, 2016 at 08:30:47PM +0100, Ronny Schneider wrote:
>> > Am 14.02.2016 um 19:29 schrieb Kevin O'Connor <kevin at koconnor.net>:
>> > On Sun, Feb 14, 2016 at 06:04:16PM +0100, Ronny Schneider wrote:
>> >> Hello there,
>> >>
>> >> i have a Toshiba Chromebook 2 (CB30-B-104) with a flashed on SeaBIOS by the script from John Lewis: https://johnlewis.ie/custom-chromebook-firmware/rom-download/
>> >>
>> >> Linux is running very well but i want to see OpenBSD 5.8 on this laptop. But it’s not working, neither do FreeBSD 10.2, NetBSD 7.0 or DragonFly 4.2. The boot stops at the point where the kernel wants to mount the root-filesystem. I even copied an installed OpenBSD-System from an usb-stick onto the emmc-flash of the chromebook but it’s not working.
>> >>
>> >> I googled arround and found out the problem is not unknown among the Chromebook Pixel. So i thought i could help a little by providing my cbmem-bootlog for my machine: http://pastebin.com/asLqar5q
>> >> If i can do more to see OpenBSD booting on this laptop, please let me know :-)
>> >
>> > When you say "it's not working" - what happens - does the machine hang or does it attempt to reboot?
>> > If it hangs, are you sure the machine is really stuck instead of just the display not working?
>>
>> The Display is working all the time. Using NetBSD, it also applies the native resolution of the panel.
>>
>> > If it hangs, can you provide all the information on the screen prior to the hang.
>>
>> I used the amd64 install-images on an 64GB USB3-Stick for the following pictures. If you want me to copy the installer-images onto the mmc of the chromebook, tell me please.
>>
>> With FreeBSD 11 it freezes. The machine hangs at the moment the kernel tries to mount the root-filesystem and does not respond to any keypress anymore. I have to shutdown the chromebook by keep pressing on the powerbutton for a few seconds.
>> Image: http://bilderhochladen.org/i/SFrHFStWws/
>>
>> With OpenBSD 5.8 it „stalls“. The Cursor is blinking but nothing more happens. Although the chromebook shuts down when the powerbutton is pressed.
>> Image: http://bilderhochladen.org/i/4jFRYDYO11/
>>
>> With NetBSD 7.0 it „stalls“ too. The Cursor is not blinking but i can enter a „root device“. If nothing is entered it gives me the choice of either „ddb“, „halt“ or „reboot“. „Halt" and „Reboot" are working properly, the machine shuts down or reboots correctly.
>> Image 1: http://bilderhochladen.org/i/zgq1usG2Ri/
>> Image 2: http://bilderhochladen.org/i/EqVSDbn25x/
>>
>> With Dragonfly 4.2 the kernel stops at the moment it tries to mount the root-filesystem and asks me to enter the device. The machine has to be shut down via holding the powerbutton for a few seconds.
>> Image 1: http://bilderhochladen.org/i/TRIdjee9VP/
>> Image 2: http://bilderhochladen.org/i/khPrwt4P0C/
>>
>
> So if I understand correctly, you are attempting to launch BSD install
> media from a USB drive, and the installer fails to start?
>
> This doesn't look like a typical SeaBIOS issue

Try OpenBSD snapshots.

You're findings on the Toshiba Chromebook 2 may vary from what I found
with the Chromebook Pixel 2015.

bsd.rd - you cant directly boot a bsd.rd kernel as it doesn't load
inteldrm. VGA only, but there's no VGA 800x600 resolution for SeaBIOS
to use, hence no dmesg output. It does boot, but you don't see the
screen changes.

bsd - snapshots only - will load inteldrm

bsd 5.8 - will not load inteldrm

It will load the kernel (bsd snapsots) but won't display any dmesg
output, until the kernel finds inteldrm, then it will output dmesg and
hey presto, we've booted up.

If you want to update OpenBSD bsd, I use arch Linux and boot bsd.rd
through qemu.

This patch

http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/drm/i915/i915_drv.c?sortby=date

Revision 1.95 fixes this issue, hence snapshots only.

This only refers to the Chromebook Pixel 2015 only.

If we run

$ vbeinfo

in grub2, we only get one resolution available, of 1280 x 850 x 16. No
800 x 600, so no dmesg output till inteldrm hits.

Coolstar organisation on Google+ (search coreboot Google+) has found a
patch for Coreboot to fix this resolution problem at boot,.

I used

http://goo.gl/9sgchs

from https://wiki.archlinux.org/index.php/Chrome_OS_devices

to repartition the SSD on the Pixel 2015, install Arch, Grub2 &
OpenBSD keeping ChromeOS too for updates to Coreboot & SeaBIOS.

You can install OpenBSD to the SSD and write the MBR (no Grub
installed) and it will boot up via Ctrl-L keeping ChromeOS via Ctrl-D.
But you need another OS to boot bsd.rd via qemu to update files from
snapshots/amd64 to upgrade OpenBSD going forward.

Haven't tried the other BSD's.

Edward.

>- it looks more like
> the various BSD kernels don't like the USB controller and/or USB drive
> on your machine.  Have you tried using a different type of USB drive
> for the install media?  It's also possible there's something in the
> ACPI tables that coreboot provides that is confusing the BSDs.
>
> Your logs seem to indicate you also have an eMMC and an SD card.  Have
> you tried placing the install media on an SD card instead of USB?
>
> Another thing you could do is launch the install media with the same
> verson of SeaBIOS on QEMU emulating an XHCI drive and SD drive - just
> to see if it's possible to reproduce outside of your particular
> machine.  See below.
>
> -Kevin
>
>
> With qemu v2.5 an example command might look something like:
>
> qemu-img create -f qcow2 my_simulated_sd 15g
>
> qemu-system-x86_64 -chardev stdio,id=seabios -device isa-debugcon,iobase=0x402,chardev=seabios -m 512 -boot menu=on -device sdhci-pci,x-drive=drive0 -drive id=drive0,if=none,file=my_simulated_sd -device nec-usb-xhci,id=xhci -device usb-storage,bus=xhci.0,drive=drive1 -drive id=drive1,if=none,file=my_installer_media -device usb-kbd,bus=xhci.0
>
> _______________________________________________
> SeaBIOS mailing list
> SeaBIOS at seabios.org
> http://www.seabios.org/mailman/listinfo/seabios



More information about the SeaBIOS mailing list