From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Simmonds Subject: Re: mount ramdisk rootfs /etc directory to jffs2 filesystem. Date: Mon, 25 Jan 2010 08:27:58 +0000 Message-ID: <4B5D560E.2020901@2net.co.uk> References: <20100119102026.GF16182@darwin> <20100119140600.GH16182@darwin> <2ea1731b1001192357r72d627e2gb36d71f23fd69b2e@mail.gmail.com> <2ea1731b1001220014v59ea7767m6e1a8547d41c6afb@mail.gmail.com> Reply-To: chris@2net.co.uk Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-embedded-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii"; format="flowed" To: Johnny Hung Cc: Marco Stornelli , Matthias Kaehlcke , Ricard Wanderlof , kernelnewbies , "linux-mtd@lists.infradead.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-embedded@vger.kernel.org" Johnny Hung wrote: > 2010/1/22 Marco Stornelli : >> 2010/1/22 Johnny Hung : >>> 2010/1/20 Marco Stornelli : >>>> 2010/1/20 Johnny Hung : >>>>> 2010/1/19 Matthias Kaehlcke : >>>>>> 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@2net.co.uk http://www.2net.co.uk/