Re: [SeaBIOS] Problems booting legacy OSes on Chromebook Pixel 2015 - cbmem output

2015-10-06 Thread John Lewis



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.


IIUC, the intel vgabios fails to work properly on some gpus if it is
run after the hardware has already been initialized.  If that's the
case you'd need to be careful to only init the display once (either
native coreboot vga + SeaVGABIOS cbvga, or no video in coreboot +
SeaBIOS run intel vgabios).


Yes, which is why I removed the intel vgabios from the coreboot part of 
the ROM, to make sure coreboot wasn't able to initialise it to begin 
with. The backlight comes on, but I don't get any display until the 
kernel loads.




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).


When you say "SeaBIOS initialises the display" do you mean cbvga
SeaVGABIOS?  If so, that does not initialize the hardware - it just
draws on the framebuffer that coreboot sets up.  I'm not sure why
Linux wouldn't be able to use a display that coreboot setup.  Maybe
there is some setting that will convince it to use it.


When I say initialise in that case, I mean "give some display". ;)

Yes, well, as I said, it will bring up a display if I use "nomodeset" 
but it's only 1024x768 (not 1366x768), and it won't allow me to change 
the resolution in Gnome.




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.

[...]

>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.  :-(


I don't have anything.  A few months ago I looked through the Intel
gpu docs.  As near as I can tell, the Intel hardware is compatible
with all the legacy VGA interfaces.  It seemed like the only thing
that would need to be done to switch into true legacy modes would be
to enable the "legacy vga mode" and to program something called a
"panel fitter".  The docs were not much help though.



Well, Matt DeVillier has some experience tweaking the Intel vgabios to 
do things like output to the HDMI port first, maybe there're some things 
I can experiment with in that area. I'll have a look anyway.


-John.

___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


Re: [SeaBIOS] Problems booting legacy OSes on Chromebook Pixel 2015 - cbmem output

2015-10-06 Thread John Lewis



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.  :-(


___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


Re: [SeaBIOS] Problems booting legacy OSes on Chromebook Pixel 2015 - cbmem output

2015-10-06 Thread Kevin O'Connor
On Tue, Oct 06, 2015 at 04:10:05PM +0100, John Lewis wrote:
> >
> >>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.
> >
> >IIUC, the intel vgabios fails to work properly on some gpus if it is
> >run after the hardware has already been initialized.  If that's the
> >case you'd need to be careful to only init the display once (either
> >native coreboot vga + SeaVGABIOS cbvga, or no video in coreboot +
> >SeaBIOS run intel vgabios).
> 
> Yes, which is why I removed the intel vgabios from the coreboot part of the
> ROM, to make sure coreboot wasn't able to initialise it to begin with. The
> backlight comes on, but I don't get any display until the kernel loads.

So, even if coreboot doesn't initialize the display (no native init
and no intel vgabios) and SeaBIOS does run the intel vgabios you still
don't get a screen?  That's unfortunate.

-Kevin

___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


Re: [SeaBIOS] Problems booting legacy OSes on Chromebook Pixel 2015 - cbmem output

2015-10-06 Thread edward wandasiewicz
On Tue, Oct 6, 2015 at 12:53 PM, John Lewis  wrote:
>
>
> 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.

It was version legacy-230915.

I just updated via https://johnlewis.ie/flash_chromebook_rom.sh and
version is now legacy-021015.

Tried booting the *BSD and Memtest86 with legacy-021015, still get the
same behaviour. No boot.

I've included a cbmem -c for this ROM at

http://pastebin.com/aijH70Zn

>
> 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.
>
>

___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


Re: [SeaBIOS] Problems booting legacy OSes on Chromebook Pixel 2015 - cbmem output

2015-10-05 Thread Kevin O'Connor
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.

-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.  :-(

___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


Re: [SeaBIOS] Problems booting legacy OSes on Chromebook Pixel 2015

2015-04-23 Thread Paul Menzel
Dear Charles, dear Kevin,


Am Donnerstag, den 23.04.2015, 08:11 -0400 schrieb Kevin O'Connor:
 On Tue, Apr 21, 2015 at 07:26:27PM -0500, Charles Howell wrote:

[…]

 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.

GRUB also ships with a module to print the CBMEM console with the
command `cbmemc` [1]. You’ll probably need to rebuild GRUB and put it
for example on a USB storage device and choose that from SeaBIOS’ boot
menu.

Unfortunately, I have no idea, how you can store that output without a
serial console. You could take pictures. Probably GRUB has some support
to write to a file, but I do not know how.


Thanks,

Paul


[1] grub-core/term/i386/coreboot/cbmemc.c


signature.asc
Description: This is a digitally signed message part
___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios

Re: [SeaBIOS] Problems booting legacy OSes on Chromebook Pixel 2015

2015-04-23 Thread Kevin O'Connor
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.

-Kevin

___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


Re: [SeaBIOS] Problems booting legacy OSes on Chromebook Pixel 2015

2015-04-22 Thread Charles Howell
On Tue, Apr 21, 2015 at 7:26 PM, I wrote:

 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.


To eliminate the BSDs as the source of the problem, I just tried booting an
ISO of Memtest86 (which boots v4.3 when UEFI is not present) and got the
same results.  The bootloader comes up, but as soon as it tries to actually
load the program, the machine locks up (Loading memtest...ready. and then
lock up).

If it makes any difference, this Pixel 2 has 16Gb of RAM.
___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios