BIOS vs bootloader

Jul 23, 2009 4 Replies

Hi I am trying to understand the difference between a BIOS and bootloader from an embedded system's perspective. In particular, the system we are designing will have no hard disk and uses a NAND flash as a storage medium. The processor is likely to be an Atom core, running on a WinCE platform.


I would appreciate if anybody could provide feedback on the following:


  1. I am led to understand BIOS is slower than a bootloader when considering boot times. Why is this?



  1. Is it common to pay BIOS vendors a royalty per product, or could we develop BIOS ourselves?

  2. How does a BIOS compare with a bootloader?

Thanks Shani


Semantically the difference is - a BIOS is code that remains resident after boot time, and can be used by the OS kernel itself to provide an additional layer of hardware abstraction for some services.

A bootloader's only function is to configure the system's peripherals and memory controller(s) to load the main OS kernel. Once the kernel is loaded, the bootloader disappears.

I'm sorry to hear that (about WinCE). In general, x86=3D>PC architecture from top to bottom (which=3D>BIOS), if only because it's so difficult to initialize an x86 system from cold.

It might not be true; it is not /inherently/ true but it is /usually/ true that BIOS implementations are general-purpose and hence slow.

It depends what the BIOS does during POR, and how much of that you can disable. Usually you do not have full customizability of a BIOS, so it will waste a lot of powerup time checking for nonexistent hardware, waiting for nonexistent hard drives to spin up, displaying logos, etc. With a bootloader, to which you would have full source typically, you can configure it to go exactly where it needs to go and load exactly what it needs to load, with no messing about.

You pay royalties.

Unless you use free software like coreboot.

formatting link

Gemaakt met Opera's revolutionaire e-mailprogramma: http://www.opera.com/mail/

I was going to mention LinuxBoot (I didn't realize it had a name change) but really the essence of it is that it's a bootloader, not a BIOS - it _replaces_ the BIOS. But it's a semantic issue I guess.

m.

BIOS =3D Basic Input Output System. Bootloader gets your chip into a know state from which you can load an OS but usually your will never call the bootloader again once your system is running. BIOS provides low level Input/Output routines that can be called by your program or by an OS and more likely than not, it will be used during runtime of your system. hth, An Schwob

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required