From: Paul W. <Pau...@in...> - 2004-06-10 01:42:45
|
FYI, I have been able to compile a coLinux kernel with ext2 compression support (http://e2compr.sf.net/), which when used in conjunction with a sparse filesystem back-end created using mksparse (http://www.acc.umu.se/~bosse/mksparse.zip) results in very significant reductions in the on-disk footprint of the filesystem. You can smbmount a region of the host filesystem, then on the host create an initial zero-length file using mksparse, mke2fs it as large as you like (ignore warnings), mount it via loopback, chattr +c the top level directory, and then load it up with data. You will see a bunch of scary-looking "IO error syncing ext2 inode" errors, but AFAIK these are completely benign (I will have to look into this further), and they go away if you remount the image as a /dev/cobdN instead. You definitely want to mount the filesystem image via cobd in the long run, as performance of e2compr-on-ext2-over-loop-over-smb is not good. Note that you will need special e2compr-aware versions of ext2 tools (e2fsck, chattr, etc) available from the e2compr.sf.net site. Please note also that, although it has been around for many years, e2compr is considered experimental and should not be relied upon for storage of anything particularly valuable. But then the same is true of coLinux, I guess. Taking this one step further I have created a prototype e2compr'd root FS using my own embedded distro (http://diet-pc.sf.net) and have managed to get root filesystem size as small as 3.5 Mb, and I'm not even trying hard (DIET-PC is liberal for an embedded distro, using a real glibc 2.3.2 rather than uclibc, etc - the "hard core" embedded distros are much smaller still). |