Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Gentoo Embedded (http://www.linux-archive.org/gentoo-embedded/)
-   -   boot linux without a bios on intel platform (http://www.linux-archive.org/gentoo-embedded/468632-boot-linux-without-bios-intel-platform.html)

Peter Stuge 12-23-2010 10:53 AM

boot linux without a bios on intel platform
 
Kfir Lavi wrote:
> > I have an intel board, and the bios boots after 22sec.
> > Is it possible to boot the linux without a bios.

coreboot is your only alternative to a BIOS. I'm active in the
project since some years. Instead of coreboot you could of course
also consider buying licenses for a custom BIOS from AMI but that
is often prohibitively expensive.


> I have spoke in irc #gentoo-embedded with landley and he explained
> some stuff about my question regarding coreboot, uboot on x86.

uboot is not widely used on x86 so far. There has been some talk
between coreboot and uboot because the two could complement each
other well, but not yet.

You're of course welcome to stop by #coreboot and talk to us, and/or
check out some of the talks.

http://www.coreboot.org/Screenshots#Videos

I'd recommend "Beyond The Final Frontier" from 25C3 as a start:

http://www.coreboot.org/Screenshots#Chaos_Communication_Congress_2008_.282 5C3.29:_coreboot:_Beyond_The_Final_Frontier

coreboot completes it's task in a few hundred milliseconds. Some more
complicated boards (lots of busses and CPUs) take longer, maybe a
second or even two.

We have a list of supported mainboards:

http://www.coreboot.org/Supported_Motherboards

If your board is not listed it may be easy or it may be hard. When
talking to us about it please be sure to provide very specific
information about your hardware. "intel board" is e.g. useless, we
need details for CPU, chipset, superio and the boot flash.

As a general rule, NVIDIA and Intel are the worst possible targets
for coreboot, because they will not release documentation.

NVIDIA is simply impossible. Intel can be done, but you need a strong
business case with promise of many many units, and you need to sign
two NDAs in order to access the required, but insufficient,
documentation. The docs have some information but not all. It's
generally neccessary to reverse engineer parts of the factory BIOS in
order to actually get a board fully working.

On the opposite end of the spectrum is AMD, who have engineers
actively contributing code to coreboot. AMD recently let us know that
they will be adding AGESA support to coreboot, as well as releasing
AGESA under open source license, which means that coreboot will be
able to initialize many if not all AMD platforms with the code
written by AMD themselves, which is also being used by commercial
BIOS vendors. (AGESA is a firmware plugin system for AMD systems.)
This is of course really great news! :)

There was mention of BOCHS BIOS in the chat log. coreboot does not
want to be a BIOS, because BIOS is a 30 year old concept. There is
clean separation between coreboot and what we call a payload.
coreboot does hardware init, the payload starts the operating system.
I rant about ACPI a bit in the talks.

Payloads can be bootloaders or even a kernel. But for maximum
performance you will want to use SeaBIOS, an open source BIOS
implementation, as payload - because it supports ATA DMA, and boot
flash is much slower than that. (See http://stuge.se/pc2010.png - the
flash chip is *far* away from the CPU, on a slow bus.)

SeaBIOS was originally forked from BOCHS BIOS, but is very much a
project of it's own by now, is continually being updated, and is also
the default BIOS shipped with QEMU since some versions back.


Hope this helps clarify a bit.

//Peter

Peter Stuge 12-24-2010 07:16 AM

boot linux without a bios on intel platform
 
Kfir Lavi wrote:
> Thanks for your lengthy replay. Very interesting talk.

I'm glad you liked it!


> I loved the push pins idea.

Hehe, yes, it's really handy. :)


> Now I'm asking myself, how I didn't thought about it myself. I used
> a paper clip, but it is awkward.

Yep. I like the pushpin idea a lot but I actually continue to use a
small screwdriver myself.


> I have a kontron board with an intel cpu. How can I get the spec
> with the parts in order to check if I will be able to use coreboot?
> Attached is the lspci of the board.
> 00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)

lspci is a good first bit of info! This chipset is not supported at
all. The only modern-ish Intel chipset that is supported is the i945.
Compare the other Kontron with Intel in the list of supported boards.


> I would also like to know (if it is possible) how hard is to create
> support for this board myself.

For an experienced coreboot developer I would estimate an absolute
minimum of eight man-months of work. This assumes that Intel NDAs and
document retrieval requests are processed instantly. It took 9 months
just to get NDAs processed for the coreboot developer who went
through that process. On the other hand, one Intel FAE I talked to
mentioned only weeks needed in some of his projects.

You will also benefit from test equipment that will allow you to
study DRAM signals, and CPU state. These are 100k pricetag items.

Learning how to initialize CPU, northbridge and memory controller
takes significant effort, and FAEs usually can not help.

Is this Mobile 4 Series chipset (whatever that means, you could try
to look for some more low-level product codes for the chipset) part
of Intel's Embedded division? If so, you may be able to find much
inforation at edc.intel.com, but only after going through some
approval process there.

It can certainly be worthwhile to do the coreboot work also for
something completely unsupported like this, but you need a fairly
large series production.

On the other hand, maybe you can just choose a different board that
is already supported. I would try hard to do just that.


//Peter


All times are GMT. The time now is 03:02 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.