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