[LinuxBIOS] Fitting larger flash chips to accomodate a kernel
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
More information about the coreboot