[SeaBIOS] SeaBIOS recognising USB 3.0 on boot works - partly

edward wandasiewicz 0.w3ntd at gmail.com
Fri Dec 4 19:36:18 CET 2015


@ John

Is the work on SeaVGABIOS for CBFS work under construction for the
Broadwell based Pixel 2015?

Looking at Kevin's chromeimage.sh - showing relevant parts only

CBFSTOOL=cbfstool
PAYLOAD=out/bios.bin.elf
PAYLOADVGA=out/vgabios.bin

#
# Build new seabios CBFS image.
#

CBFSFILE=seabios.cbfs

$ dd if=/dev/zero of=bootblock count=1 bs=64 2> /dev/null

$CBFSTOOL $CBFSFILE create -s $(( 2*1024*1024 )) -B bootblock -m x86

#
# Add SeaVGABIOS to CBFS
#

$CBFSTOOL $CBFSFILE add-payload -f $PAYLOAD -n payload -c lzma

#
# Add SeaBIOS payload to CBFS
#

$ CBFSTOOL $CBFSFILE add -f $PAYLOADVGA -n vgaroms/seavgabios.rom -t optionrom

Question - if it is work under construction, the above may or may not
show any VGA output? i.e. black screen

Or give it a whirl, and I may surprise myself?

Or stick with

## Extract vgabios from SeaBIOS CBFS area of original image.

ORIGCBFSFILE=orig-seabios.cbfs

$ dd if=$ORIGIMAGE of=$ORIGCBFSFILE skip=2 bs=2M count=1 2> /dev/null

$ CBFSTOOL $ORIGCBFSFILE extract -n pci8086,0406.rom -f pci8086,0406.rom

$ CBFSTOOL $CBFSFILE add -f pci8086,0406.rom -n pci8086,0a06.rom -t optionrom


Edward

On Fri, Dec 4, 2015 at 5:50 PM, edward wandasiewicz <0.w3ntd at gmail.com> wrote:
> Looking at the output from Googles ChromeOS shell-ball, I do:
>
> Write the hardware ID to get future ChromeOS updates
>
> $ ./gbb_utility --set --hwid="SAMUS XXX-YYY-ZZZ" bios.bin bios.hwid.bin
>
> # dd out 2 megs of the ROM at 4 megs in
>
> $ dd bs=1M skip=4 count=2 if=bios.hwid.bin of=rwlegacy.cbfs
>
> Using the flashrom from John's site as upstream doesn't know anything about
> flashmap.
>
> $ wget https://johnlewis.ie/Chromebook-ROMs/utils/flashrom -O
> flashrom.jlewis
>
> $ sudo ./flashrom.jlewis -w -i RW_LEGACY:rwlegacy.cbfs
>
> Looking at your script, ORIGIMAGE is my bios.hwid.bin
>
> Do I run flashrom from the shell-ball
>
> $ sudo flashrom -w ./newimage.rom -i RW_LEGACY
>
> Or John Lewis flashrom
>
> $ sudo flashrom.jlewis.version -w ./newimage.rom -i RW_LEGACY
>
> Edward
>
> On 1 Dec 2015 3:39 p.m., "Kevin O'Connor" <kevin at koconnor.net> wrote:
>>
>> On Mon, Nov 30, 2015 at 07:04:55PM +0000, edward wandasiewicz wrote:
>> > On 30 Nov 2015 5:35 p.m., "Kevin O'Connor" <kevin at koconnor.net> wrote:
>> > > Looks like two separate issues are occurring - the Philips drive is
>> > > being detected as both a high speed device and as a super speed
>> > > device.  I need a log with CONFIG_DEBUG_LEVEL=5 to diagnose that.  The
>> > > second issue appears to be a USB_TRANSACTION_ERROR response from the
>> > > set_address command.  I think the controller may just be a bit too
>> > > picky on stall responses from devices in that situation.  I've put up
>> > > a patch to try and work around that in the repo at:
>> > >
>> > >   https://github.com/KevinOConnor/seabios/tree/testing
>> > >
>> > > Are you able to compile SeaBIOS from source and install it on your
>> > > Samus?
>> >
>> > Compile? I could have a go, but don't want to brick my device. Happy
>> > to write a RW_LEGACY from John Lewis.
>> >
>> > Or learn how to - bit risky for a newbie?
>>
>> If you've never removed the flash read/write screw (and you normally
>> hit cntl-L to enter seabios) then bricking shouldn't be a problem.
>> (No guarantees.)  It may require a full chrome re-install to recover
>> should something go wrong though.  If you have removed the read/write
>> screw then you should only proceed if you know what you are doing, and
>> you should have the ability to restore from an external flasher.
>>
>> Roughly, the steps to build and flash a RW_LEGACY section is as
>> follows:
>>
>> 1 - grab the code:
>>
>>   git clone https://github.com/KevinOConnor/seabios.git -b testing
>>
>> 2 - build the code:
>>
>>   cd seabios
>>   echo "CONFIG_COREBOOT=y" > .config
>>   echo "CONFIG_CBFS_LOCATION=0xffe00000" >> .config
>>   echo "CONFIG_VGA_COREBOOT=y" >> .config
>>   echo "CONFIG_DEBUG_LEVEL=5" >> .config
>>   make olddefconfig
>>   make
>>
>> 3 - build the RW_LEGACY image by copying the attached chromeimage.sh
>> to the seabios directory, make it executable, and run the script:
>>
>>   ./chromeimage.sh
>>
>> Be sure to follow the directions in that script for extracting the
>> original image and for writing the generated image.
>>
>> Please review the script and make sure it makes sense before running
>> anything.  If you don't understand a step then you probably will want
>> to hold off until someone can build a tested rom for you.
>>
>> Cheers,
>> -Kevin



More information about the SeaBIOS mailing list