mount ramdisk rootfs /etc directory to jffs2 filesystem.
Chris Simmonds
chris at 2net.co.uk
Mon Jan 25 03:27:58 EST 2010
Johnny Hung wrote:
> 2010/1/22 Marco Stornelli <marco.stornelli at gmail.com>:
>> 2010/1/22 Johnny Hung <johnny.hacking at gmail.com>:
>>> 2010/1/20 Marco Stornelli <marco.stornelli at gmail.com>:
>>>> 2010/1/20 Johnny Hung <johnny.hacking at gmail.com>:
>>>>> 2010/1/19 Matthias Kaehlcke <matthias at kaehlcke.net>:
>>>>>> El Tue, Jan 19, 2010 at 02:17:22PM +0100 Ricard Wanderlof ha dit:
>>>>>>
>>>>> I consider to use ramdisk as rootfs because worry about wrong
>>>>> operation in rootfs (is use jffs2 rootfs) and it will cause system
>>>>> boot up failed.
>>>>> Another query, does the syslogd/klogd log files also store in jffs2
>>>>> rootfs? Write to jffs2 frequently will reduce flash life cycle.
>>>>>
>>>>> BRs, H. Johnny
>>>>>> --
>>> It seems there are a lot of file-systems I have to study :P. The same
>>> question is
>>> how to split my rootfs? Re-mount /etc, /var to another file-sysyem mtd part when
>>> system boot up?
>>>
> Yes, I know. So if I want set etc directoyr to /dev/mtd5 not in rootfs
> /, I need to add "/dev/mtdblock5 /etc jffs2 defaults
> 0 0" in /etc/fstab file but rootfs doesn't contain /etc
> directory because /etc directoyr is store in /dev/mtdblock5.
> Do you know what I mean? The kernel execute /sbin/init after mount
> rootfs and /sbin/init is link to busybox, busybox will read
> /etc/inittab file to initial. The problem is coming, how busybox to
> read /etc in rootfs before mount /dev/mtdblock5 to /etc? There is no
> program to mount /dev/mtdblock5 to /etc before busybox init execute.
>
> I think I must mistake some concept, please give me a hint.
> Thank you
> BRs, H. Johnny
>
You have two /etc directories: one in the the read-only root file system
and one in the jffs2 fs. In the root fs you have /etc/fstab,
/etc/inittab and any scripts it may call. The init program will mount
/dev/mtdblock5 over the top of the /etc that is in the rootfs, so giving
you the read/write version of /etc. Any files open in the old /etc -
e.g. /etc/inittab - will continue to be open, but any new files opened
in /etc will use the read/write version in jffs2. You can also do some
interesting things with symbolic links... This technique works. I have
used it in several projects.
--
Chris Simmonds 2net Limited
chris at 2net.co.uk http://www.2net.co.uk/
More information about the linux-mtd
mailing list