As Lloyd suggested the best way to build a small file system is by building it from scratch with busybox.

We have build our own file system for Davinci with a footprint of ~700kb compressed, and ~1.5MB decompressed with ext2 and initrd. The catch here is that we are using our own BSP with smaller footprint libraries (uclibc is around 800kb, and gnu libc > 1.5MB last time I looked). It should be possible to build a filesystem around 5MB with MV toolchain, busybox, and a basic file system layout.

Your minimal requirements are:
- busybox with a shell(msh), /sbin/init
- /etc with fstab, group, hostname, inittab, mtab, passwd, services
- /sys mounted with sysfs
- /proc mounted with procfs
- /bin with busybox files
- /sbin with busybox files
- /lib with minimal libraries: libc, libm, libpthread (?), libdl, libgcc, libnsl, libresolv, libutil (those are the ones on my toolchain, I think gnu libc also may need the plugins for PAM).
- /var
- /dev with console, random, urandom, kmem, mem, null, zero (and ram0 if using initrd). You may add ttySX and other devices if you wish, or configure busybox to use udev (mdev).

That's your minimal requirements for a booting file system. Hope it helps.

Regards,

Diego Dompe
RidgeRun Engineering

On Jan 22, 2007, at 6:41 PM, Andy Ngo wrote:

Hi,


The DVEVM board comes with a HUGE filesystem on the 2.5” hard drive. On boot up, the Linux kernel mounts the partition

(/dev/hda1) to be used as the root filesystem. The filesystem is 1.9GB! This is good for development purposes but when we have

our custom board, we will only have a small flash memory to store the filesystem. Do anyone have instructions on how to create

small footprint filesystem (<16Mb)? I was planning to do a top- down approach of eliminating all the files/directories

(/opt/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le/target) I don’t need until I get it to a manageable filesystem but I’m not sure

what are needed and what aren’t. Has anyone done this and have a recommendation?


Also, the current “top” (procps) utility on the board is version 3.2.5; it doesn’t support displaying individual threads of a process;

it only shows info about a process as a whole but not the thread. Version 3.2.6 has that capability; does anyone know how we

can get that version?


Thank!


Regards,

Andy

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to