[CentOS] Booting from Compact Flash

Mon Jan 21 22:08:42 UTC 2008
John R Pierce <pierce at hogranch.com>

Ray Leventhal wrote:
> Hi all,
>
> Advance apologies if this is OT; if so, please mail me offlist.
>
> A client is considering using CentOS5.1 for an embedded project.  They 
> will be booting from Compact Flash.
> The CF in the device is being controlled by a VIA VT6421 SATA/RAID 
> controller.
>
> Are there drivers available or must we truly 'roll our own' when 
> compiling the 2.6x kernel for this?  I've done some searching in the 
> archives and on the site, but to no avail
> Also, are there any pitfalls we should be aware of up front? (any 
> experience here is better than ours at this point!)

for an embedded linux, I'd suggest roll-your-own using uClibc, BusyBox 
and a statically built kernel for your application.   Most flash based 
embedded systems eschew e3fs in favor of the highly compressed read only 
flashFS, with a ramdrive for temporary storage, and use jffs2 if they 
need a writable flash file system.

one of the goals of this sort of architecture is to minimize extraneous 
writes to the flash...  by running the core OS on a read only file 
system like flashfs, this completely eliminates all writes there.   
another goal is to reduce the total size of the OS, uClibc is far 
smaller than glibc, busybox replaces most all the core shell utilities 
(including the shell itself) with a single executable, the statically 
linked kernel does away with modules, config files, etc.    Its possible 
to squeeze a completely functional system with networking services and 
everything into 4 megabytes of flash.