[LinuxBIOS] Fitting larger flash chips to accomodate a kernel

Bari Ari bari at onelabs.com
Sat Sep 30 18:45:11 CEST 2006


Phil Endecott wrote:
> So my first question is, will higher-capacity flash chips "just work", or does the motherboard design limit them to the flash size that they are supplied with?  
 Motherboard designs that make use of parallel flash devices often don't 
route the higher address lines required required for larger BIOS flash 
devices. For example a motherboard that ships with a 2Mbit (256k x 8) 
device may only have A0 - A17 routed from the chipset to the flash 
socket, even though A18 - A22 may be available on the chipset.

Motherboard designs that use a serial LPC or FWH interface have all the 
control and address lines required routed from the chipset to the BIOS 
flash socket, but may still not be able to access memory windows of 
larger than 256KB, unless the chipset pin straps are set for 512KB, 1MB 
or larger. There may be other chipset dependent issues with accessing 
flash control register space (e.g., block locking) that require hardware 
and/or firmware workarounds.
> If it is possible to fit a larger chip the next question is whether these are 
> easy to obtain in small (e.g. one-off) quantities.
>   
It depends on the distributor of the devices. They may have minimum 
requirements based on dollar amounts or quantities (e.g., $100, 25pcs.).

> Assuming that this is possible, let's say that I build a kernel 
> containing only minimal drivers for the framebuffer and ethernet - no 
> IDE etc, and maybe use the "Linux-Tiny" patch.  I wonder how much space 
> would then be left for an initrd.  Ideally I would like to fit a single 
> executable of maybe a few hundred kbytes uncompressed which is run 
> instead of init (this is a for fixed-purpose box).
>   
It's been done with custom designs. Some current chipsets have firmware 
address ranges of 4MB. There may be some off-the-shelf motherboards that 
support this.

-Bari




More information about the coreboot mailing list