[ltp] Can you trust your firmware?

Theodore Tso linux-thinkpad@linux-thinkpad.org
Mon, 18 Feb 2008 18:04:58 -0500


On Mon, Feb 18, 2008 at 03:56:44PM -0600, chris@idlelion.net wrote:
> On Mon, 18 Feb 2008, Marc Lagies wrote:
>> I wonder about how much confidence I can have into my computer system if 
>> such a crucial(?) component like the BIOS firmware is proprietary source 
>> code?

Well, how about such a crucial component as the CPU?  That's right,
the CPU, whether it is AMD or Intel, also has huge amounts of
microcode, and sometimes it is buggy (for example, Intel's Pentium
FDIV bug), and it's all proprietary code as well.  If your goal is
that you **must** have a system where there is no propiretary firmware
at all, you'll need to go back to MIT's 6.004 class from about a
decade ago, when students were taught how to build a computer using
nothing more than prototyping breadboard, 74XX TTL integrated
circuits, and wire.  (The class did provide modules for the RS-232
interface, memory, and a simple ALU, so it wasn't *all* 74XX logic
chips, but it was close, and there definitely wouldn't have been any
microcode except in the 8250 serial UART.)

Oh, and don't forget the hard drive; that's filled with proprietary
firmware for which you won't get source code, either.  And the
graphics chips, and the wireless ethernet modules, and so on, and so
on....

It is highly unlikely that you would ever be able to create or find an
open BIOS for a laptop, because there is so much about the laptop
which is highly hardware specific, and which most laptop manufacturers
consider highly proprietary --- if for no other reason than because
the chipset vendors that they make their laptops and which have all
sorts of fancy power management is considered proprietary by the
chipset vendors.  Then there is the proprietary secrets about how to
initialize the ATI or Nvidia chipsets, etc.

Yes, that means you are at the mercy of Dell or Lenovo or HP if there
is a bug in the BIOS; just as you are at the mercy of Intel or AMD if
there is a microcode bug in their processor chip.  If that is
unacceptable to you, I'm afraid you'll probably have to build your own
laptop/computer/processor from scratch....

							- Ted