about linux, linuxbios and bootup times

Ken Fuchs kfuchs at winternet.com
Fri Sep 10 10:43:01 CEST 2004


Hi Rob,

>I'm a new member, I joined the list to learn more about the Linuxbios 
>project.  A question for anyone that can point me in the right direction
>to information:

Other then reading all the old (at least more recent) posts to this
list, joining the list and working with LinuxBIOS are excellent ways
to learn about LinuxBIOS.

>Q: I read everything on linuxbios.org as well as googled until i got a 
>nosebleed, but i can't find any real world examples of linuxbios + 
>linuxdistro setups.  I am looking right now to purchase a linux bios 
>compatible mobo based on the list from linuxbios.org to play around 
>with, but what i was wondering is, just how can linuxbios speed up the 
>boot process of a linux based system?

The http://www.linuxbios.org/ web site is anywhere from 1-4 years out
of date.  No one is updating the web site and I believe the primary
LinuxBIOS developers are looking for someone to keep the web site
current.  The LinuxBIOS developers are too busy
designing/writing/porting/debugging code (including helping people get
LinuxBIOS working a new mainboard, etc.  Even if they had the time to
update the web site, it would be better for someone with more skill in
web design to do this type of work.

>Pardon my newbieness, but I have 
>never had a bios be anything more than a fraction of the total bootup 
>time on any linux system, so does linuxbios have the capability to 
>literally boot a linux system to CLI login prompt of any distro within 
>seconds or not?  I realize it's a general question, assume I'm running 
>debian base install ( no x, no desktop environment, boot straight to 
>command line), most of the bootup process is taken up by the bootup 
>scripts checking the hardware and starting up various services (I 
>probably have too many and unoptimized I'm sure but that's another issue
>altogether).   From everything that I have read, I am understanding 
>that basically its a faster bios that jumps to the distros bootloader 
>when done?  Or does this redefine the bootup process where the linuxbios
>is the bootloader and upon coming to life jumps straight to the distro 
>kernel?  If it jumps to the distro bootloader surely the time savings 
>are a few seconds at best?  If linuxbios takes over some of the 
>bootloader functions, how does this affect a typical install if at all?

If a Linux system is taking more time to boot than the COTS BIOS
takes to initialize and start a boot loader that Linux system needs a
major tune up.  Maybe it is not using DMA and perhaps starting up
services that aren't needed, etc.

LinuxBIOS goes into 32 bit mode within a few seconds of powerup/reset
whereas a COTS BIOS initializes all hardware in 16 bit mode.
Furthermore, LinuxBIOS only does the minimum hardware initialization
that a Linux kernel doesn't do, so the Linux kernel finishes the
hardware initialization.  When the various layers of code (BIOS, OS)
don't repeat the same initializations, this alone can drastically
reduce boot up time.

LinuxBIOS is composed to two parts, the LinuxBIOS kernel and a Linux
kernel: The LinuxBIOS kernel initializes the hardware enough that a
Linux kernel can finish the job.  This initial kernel is often loaded
from an ATA flash, since LinuxBIOS is too fast for most hard drives to
be ready (not spun up to speed yet).  This initial Linux kernel can be
used as the final Linux kernel, but the original intent of the
LinuxBIOS was to let the initial Linux kernel do the bulk of the
hardware initialization and boot another Linux kernel from any device
that the initial Linux kernel supports (Linux boots Linux).

>Sorry for the overgeneralized questions, I just need a few answers here,
>even if vague to help me create a knowledge sandbox into which i can 
>then drill down to proper understanding.

Follow the discussion on the mailing list for a few months or follow
selected threads in the archives or read the LinuxBIOS code for a
better understanding of LinuxBIOS.  If interested in using LinuxBIOS
for AMD64 mainboards see:

http://www.openbios.org/LinuxBIOS-AMD64.pdf

BTW, Tyan supports LinuxBIOS on eight of its AMD-8000 chipset
mainboards.  See the Tyan directory in the LinuxBIOS source.
Tyan also has LinuxBIOS working on one of its nVidia CK8-04 chipsets
(including two CK8-04 chips), but this chip isn't officially released
yet and nVidia hasn't yet decided to support LinuxBIOS, I beleive.
Anyone interested in using LinuxBIOS on nVidia chipsets, please
contact nVidia and let them know now.

>By the way, i read an article recently of an interview with the 
>president of Tyan.  According to the interview Tyan will be shipping all
>motherboards with Linuxbios.  I have no idea if they are using the real 
>deal from CVS, or forking it, or what, but goddamn that really cool 
>stuff.   I'm hoping some of the answers to my question will mean that 
>linux on the desktop has a bright future vis a vis Tyan at least.  If 
>anyone wants a copy of it, email me and I will attach the html document 
>- I knew they would take it down as indeed they have.

All the code for Tyan AMD-8000 chipset based mainboards is already in
the LinuxBIOS CVS codebase plus code for the S2735 mainboard.  See
freebios2/targets/tyan in the CVS tree.  This clearly isn't all Tyan
mainboards yet, but of course it doesn't count LinuxBIOS supported
mainboards whose LinuxBIOS code isn't yet in CVS for a variety of
reasons.

I see that someone has recently posted a URL to the interveiw!  Thanks.

Sincerely,

Ken Fuchs <kfuchs at winternet.com>



More information about the coreboot mailing list