[SeaBIOS] Problems booting legacy OSes on Chromebook Pixel 2015 - cbmem output
John Lewis
jlewis at johnlewis.ie
Tue Oct 6 13:53:44 CEST 2015
On 2015-10-06 02:02, Kevin O'Connor wrote:
> On Mon, Oct 05, 2015 at 05:04:09PM +0100, edward wandasiewicz wrote:
>> Following on from this post -
>> http://seabios.seabios.narkive.com/UAt3jVij
>>
>> I was having the exactly the same problem.
>
> So to summarize, you can boot Linux on Samus, but can not boot any
> *BSD? Both Linux and the BSDs do work on Link?
>
> [...]
>> If I run "vbeinfo" within Grub2 on the Pixel 2013, we get a long list,
>> including 640 x 400 and 800 x 600
>>
>> On the Pixel 2015, "vbeinfo" only gives one entry, and one entry only
>> of 1280 x 850 x 16
>>
>> Could this explain why *BSD operating systems and MemTest utility
>> cannot boot from USB or SD card (..properly..) ? They boot up in a
>> "text console", versus a "graphical console in text mode".
>
> It's certainly possible that cbvga SeaVGABIOS is the cause. The cbvga
> support in SeaVGABIOS is a hack to get some minimal display support
> when only a graphical framebuffer is available. It is known to not
> work with some bootloaders and OSes (that don't use the VGA BIOS to
> write to the screen). For that reason, it's not going to work with
> MemTest86+.
>
> Looks like you have a rom from John Lewis. I'd confirm that the
> SeaVGABIOS in the rom is relatively recent as there were some changes
> ("leal" emulation) that are known to work better on the *BSDs.
>
> If SeaVGABIOS is recent, then I think the next step would be to see if
> you can replace SeaVGABIOS with an Intel VGABIOS.
I'm not absolutely sure how old it is, but I don't think it's any older
than 2 or 3 weeks, since that was the last time I really had a bash at
getting this working properly, and I finished up by putting the cbvga
option ROM in. I guess what this points to is that I should get the
script, run by Jenkins, to update the cbvga option ROM every time, if
I'm going to continue running that way.
If I disable coreboot framebuffer support in SeaBIOS and then use the
VGABIOS from the stock ROM in RW_LEGACY, I don't get any display from
SeaBIOS on Broadwell.
If I do the same with a Haswell Chromebook, the display works.
In the former case, SeaBIOS appears to find and load the VGABIOS,
according to cbmem, just no display.
I think whatever this problem is may also explain why I'm not able to
get display using a modified BOOT_STUB with SeaBIOS on Broadwell.
Another thing that may or may not have some bearing is that on Baytrail,
if I try to use RW_LEGACY with SeaBIOS, SeaBIOS initialises the display,
but Linux won't display anything unless I disable KMS with "nomodeset"
on the kernel cmdline. That unfortunately leaves me with a display
resolution of 1024x768 (presumably what coreboot sets the framebuffer
to).
If you have some stuff I can try to get a VGABIOS working properly with
BOOT_STUB and RW_LEGACY on Broadwell and Baytrail Chromebooks, I would
sure appreciate it, Kevin.
-John.
>
> -Kevin
>
>
> P.S. it should be possible to implement a SeaVGABIOS with support for
> mode switching on Intel graphics adapters. That should solve these
> problems (at least on Intel hardware), but it's a bit of work as I
> find the Intel graphics manuals to be basically indecipherable. :-(
More information about the SeaBIOS
mailing list