Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
coreboot as biffboot alternative!
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  5 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Rudolf Marek  
View profile  
 More options Apr 27 2012, 3:15 pm
From: Rudolf Marek <r.ma...@assembler.cz>
Date: Fri, 27 Apr 2012 21:15:03 +0200
Local: Fri, Apr 27 2012 3:15 pm
Subject: coreboot as biffboot alternative!
Hi all,

I would like to announce that I ported coreboot to the Bifferboard.

[coreboot](http://coreboot.org) is a Free Software project aimed at replacing
the proprietary BIOS (firmware) found in most computers. coreboot performs a
little bit of hardware initialization and then executes additional boot logic,
called a payload.

coreboot can carry various payloads, for example
[SeaBIOS](http://www.seabios.org/) or even
[U-Boot](http://www.denx.de/wiki/U-Boot/) (this is new and not yet tested with
the Bifferboard, although the Google Chromebook does use a U-Boot payload).
SeaBIOS provides classic BIOS services, and it is used mainly with
[QEMU](http://www.qemu.org), but coreboot uses SeaBIOS with real hardware.

The main advantage in my opinion is to be able to boot from USB natively. With
SeaBIOS, the Bifferboard can boot your kernel from a USB medium. There is no
need to have the kernel in Bifferboard's limited flash!

I will have a look how to run U-Boot with coreboot, so it is more similar to
Biffboot. This isn’t tested and requires work. Maybe someone interested could
give it a try or even contribute to this effort.

Please note that I bricked the Bifferboard many times, therefore a serial line
interface and JTAG is a must have to install coreboot safely.

Besides coreboot support and necessary changes to SeaBIOS  (stable), I
implemented Bifferboard support to [flashrom](http://flashrom.org), which is a
userspace flashing tool.

Instructions for testing
------------------------

### Precautions ###

Make sure you can recover from bricked Bifferboard.

### Get and build coreboot ###

Clone the Git repository:

     git clone http://review.coreboot.org/p/coreboot

Now go to `util/crossgcc` and build a GCC toolchain by running `./buildgcc`.
This is needed since typically Ubuntu’s binutils are broken. You can skip this
step of course.

Now configure everything with Kconfig.

     make menuconfig

Select *Bifferos/Bifferboad* in the Mainboard menu and in the Payload menu
choose *SeaBIOS*.

Please note that you will have to omit various features to fit everything into
64 KB. But the default ROM chip size is 128 KB which should be enough.

After this step, run `make` to build the image.

`build/coreboot.rom` is a 128 KB file with coreboot and SeaBIOS combined. Please
note that you can even add other payloads like kernels if you wish. You might
need to increase the coreboot ROM size for that.

### Build Flashrom ###

Now on your Bifferboard, build [Flashrom](http://flashrom.org/Downloads).

     svn co svn://flashrom.org/flashrom/trunk flashrom
     cd flashrom
     make
     sudo make install # You can also run the binary from the build folder.

Current SVN head contains support for the flash chip and the RDC chipset.

### Create and flash the ROM image ###

Now read out the flash:

     flashrom -r backup.rom
     cp backup.rom new.rom

SAVE THIS FILE `backup.rom` TO A SECURE PLACE. It contains a backup of your
whole flash chip (last 64 KB is Biffboot).

Now you need to combine `coreboot.rom` with `new.rom` by for example using `dd`:

Example for 64 KB 8 MB flash:

     dd if=coreboot.rom of=new.rom bs=1k seek=$((8192 - 64)) conv=notrunc

Example for 128 KB 8 MB flash:

     dd if=coreboot.rom of=new.rom bs=1k seek=$((8192 - 128)) conv=notrunc

It is time to flash the image to the chip. Please add some swapfile beforehand:

     swapon /swap.swp
     flashrom -w new.rom

You may reboot now. You should see some messages in this moment on serial line.
Please note that there is a slight delay in the beginning because ramstage is
uncompressing slowly because I did not figure out how to cache certain ROM regions.

Please join the [coreboot mailing list](http://www.coreboot.org/Mailinglist) and
the [IRC channel](http://www.coreboot.org/IRC) to discuss this project further.

I put demo image on (64KB):

http://assembler.cz/biff/demo.rom

Plus there is some log and pictures:
http://assembler.cz/biff/

Thanks,

Rudolf


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
bifferos@yahoo.co.uk  
View profile  
 More options Apr 27 2012, 5:17 pm
From: "biffe...@yahoo.co.uk" <biffe...@yahoo.co.uk>
Date: Fri, 27 Apr 2012 14:17:47 -0700 (PDT)
Local: Fri, Apr 27 2012 5:17 pm
Subject: Re: coreboot as biffboot alternative!
Hi,

Nice work, however Biffboot is already supposed to boot Coreboot and
Multiboot payloads.  Did you try it and find it didn't work, or are
you just getting Coreboot to run for the lulz?  No problem if you are,
however I'd have thought it easier to get SeaBIOS, grub and/or U-boot
working under Biffboot, without the associated risk for users of
bricking their device?  This is supposed to work (so long as the
appropriate compilation options have been applied to the payload to
run on a 486 CPU without a VGA display, KB etc...), so I'd be
interested in getting that working if it's not currently possible.

Also, in theory SeaBIOS should allow DOS to run (I think) - did you
get anywhere with that?

cheers,
Biff.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rudolf Marek  
View profile  
 More options Apr 28 2012, 4:45 pm
From: Rudolf Marek <r.ma...@assembler.cz>
Date: Sat, 28 Apr 2012 22:45:57 +0200
Local: Sat, Apr 28 2012 4:45 pm
Subject: Re: [bifferboard] Re: coreboot as biffboot alternative!
Hi,

> Nice work, however Biffboot is already supposed to boot Coreboot and
> Multiboot payloads.  Did you try it and find it didn't work, or are
> you just getting Coreboot to run for the lulz?

In fact I did not try. I wanted to port coreboot for several reasons:

1) educative, chipset is very simple and it is good target to show how the chip
is setup. Might be handy for someone who really wanted to start CPU at its own
from first instruction but still simple enough to make it easy to understand

2) Lulz ;) it took only day or two, it was very easy and straightforward, most
of the fight was with 486 with no CPUID/TSC stuff.

3) Free software which may be important for FSF people ;) Personally I like
free/opensource software but it is not my "religion".

4) CBFS which allows to have various payloads in a simple rom filesystem.
    Again, I did not studied much if biffboot can do that, but I had in plan
    to run SeaBIOS and maybe some SGAbios which is doing INT10h video bios
    available on serial. Dont know if one can glue biffboot CBFS and SeaBIOS
    together.

> No problem if you are,
> however I'd have thought it easier to get SeaBIOS, grub and/or U-boot
> working under Biffboot, without the associated risk for users of
> bricking their device?

Sure thing, I fixed SeaBIOS so it is free of pentium instructions (CPUID/RDTSC,
TSC counters). As the consequence of porting the coreboot I had to fix SeaBIOS too.

> This is supposed to work (so long as the
> appropriate compilation options have been applied to the payload to
> run on a 486 CPU without a VGA display, KB etc...), so I'd be
> interested in getting that working if it's not currently possible.

Please try with SeaBIOS and biffboot.

> Also, in theory SeaBIOS should allow DOS to run (I think) - did you
> get anywhere with that?

Heh I did not try. I can try to build image with coreboot + SeaBIOS and SGA
right now.

Thanks
Rudolf


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
bifferos@yahoo.co.uk  
View profile  
 More options Apr 29 2012, 8:45 am
From: "biffe...@yahoo.co.uk" <biffe...@yahoo.co.uk>
Date: Sun, 29 Apr 2012 05:45:37 -0700 (PDT)
Local: Sun, Apr 29 2012 8:45 am
Subject: Re: coreboot as biffboot alternative!

On Apr 28, 9:45 pm, Rudolf Marek <r.ma...@assembler.cz> wrote:

> Heh I did not try. I can try to build image with coreboot + SeaBIOS and SGA
> right now.

Cool.  I seem to remember it was the 'SGA' part that I had problems
with when trying to get SeaBIOS running.  It was a while back though.

cheers,
Biff.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "coreboot as biffboot alternative! - now boots DOS3.3" by Rudolf Marek
Rudolf Marek  
View profile  
 More options May 5 2012, 5:16 am
From: Rudolf Marek <r.ma...@assembler.cz>
Date: Sat, 05 May 2012 11:16:21 +0200
Local: Sat, May 5 2012 5:16 am
Subject: Re: [bifferboard] Re: coreboot as biffboot alternative! - now boots DOS3.3
Hi all,

I tried with SeaBIOS and SGABios and I got booted dos 3.3 out of USB stick. I
used image from http://www.allbootdisks.com/download/dos.html

I booted from floppy using qemu with -hda /dev/sdxxx where I connected the empty
USB stick. I transferred the system in good old way via sys c:
command (I created a DOS 3.3 partition with fdisk).

I seem to had some trouble with MBR loader so I did not use the original DOS but
install-mbr /dev/sdxxxx maybe it was none, fdisk /mbr might work.

I created a coreboot cbfsimage with coreboot, seabios and SGABIOS
I switched off the serial console in seabios:

Only relevant part after coreboot has been finished:

SeaBIOS (version rel-1.7.0-17-g74f9612-20120505_105836-ruik)

Press F12 for boot menu.

Booting from Hard Disk...
MBR

NEC IO.SYS for MS-DOS (R)  Version 3.30
Copyright (C) 1988 NEC Corporation
Copyright (C) 1981-1987 Microsoft Corporation

Current date is Fri  1-04-1980
Enter new date (mm-dd-yy):
Current time is  0:00:08.07
Enter new time:

Microsoft(R) MS-DOS(R)  Version 3.30
              (C)Copyright Microsoft Corp 1981-1987

C>dir

  Volume in drive C has no label
  Directory of  C:\

SYS      COM     4921   7-13-88   4:25p
COMMAND  COM    25308   2-02-88  12:00a
FORMAT   COM    11968   7-13-88   2:04p
         3 File(s)  32813056 bytes free

C>

Thanks
Rudolf


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »