[BusyBox] Disk space saving file systems

David Chow davidchow at shaolinmicro.com
Thu Mar 13 19:53:03 UTC 2003


Hi all,

I think the reason we are on the list is looking for disk space saving 
solution. My company provide Linux based compression file systems which 
support various platforms. This include embedded Linux with StrongARM, 
Xscale,x86 ... and possible to do other porting. We  also have another 
file system that makes read-only romfs behaves read/write without 
actually writing to the ROM. This is done by a technique of 
copy-on-write to another fs (may be RAM of other media). The reason this 
is also a disk space saving because of the following.

1. For compression file systems, there are no compresion file system on 
Linux that provides read/write access to any media (except for jffs 
which only work on flash and mtds). We have supply the technology to 
Chinese Linux developers which need to store truetype fonts in their 
PDAs. Actually we help them to save at least 1/3 of RAM usage. The 
performance is quite good because the compression engine works totally 
in kernel space which is quicker than most of the gzip or zlib 3 times 
more. The file system calls Cogofs which is open for free download in a 
45days trial. http://www.shaolinmicro.com

2. Most of the appliance Linux devices have a backup copy of the OS in 
ROM. For the first time it boots, it extract files into RAM. Where the 
fs in RAM contains symbolic links back to the rom for read-only binaries 
or program files. This way, you don't have to store binaries in RAM but 
only files that need read-write to. However, each symbolic link consumes 
a disk block and inode data. For a lots of symlinks, it consumes quite a 
lot of RAM spaces. Also, it is not transparent, developers need to 
manually create those links and test with after making changes to the 
ROM . This created overheads to developers which result in time 
consuming testing. If a file system (or directory) can be copied to the 
romfs and directly accessed as a read/write fs, it will behave like a 
normal Linux OS, thus developers can make changes directly in the 
embedded Linux OS instead of updating the ROM everytime during the 
development. Developers only need to copy the final result out and flash 
into the ROM using the latest copy to produce the final OS result. The 
file system is called Union File System (unionfs) but is not quite the 
one in BSD.

We are considering to package a development toolkit for embedded Linux 
developers so that we can combine those 2 file systems to do maximum 
saving. Please comment on the usage and if anyone find it useful.

regards,
David Chow





More information about the busybox mailing list