From: Johnny Hung <johnny.hacking@gmail.com>
To: Matthias Kaehlcke <matthias@kaehlcke.net>
Cc: linux-embedded@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
linux-mtd@lists.infradead.org,
kernelnewbies <kernelnewbies@nl.linux.org>
Subject: Re: mount ramdisk rootfs /etc directory to jffs2 filesystem.
Date: Tue, 19 Jan 2010 20:03:19 +0800 [thread overview]
Message-ID: <cb9ecdfa1001190403v433d839dy6ba2bc018024ce15@mail.gmail.com> (raw)
In-Reply-To: <20100119102026.GF16182@darwin>
2010/1/19 Matthias Kaehlcke <matthias@kaehlcke.net>:
> El Tue, Jan 19, 2010 at 06:13:07PM +0800 Johnny Hung ha dit:
>
>> 2010/1/19 Matthias Kaehlcke <matthias@kaehlcke.net>:
>> > El Tue, Jan 19, 2010 at 05:20:53PM +0800 Johnny Hung ha dit:
>> >
>> >> I have build an embedded Linux system and rootfs is a ramdisk. Ramdisk
>> >> rootfs resides in memory so modify files is non-effective after a
>> >> reboot. Some directories in rootfs, like /etc, /usr, ... are contain
>> >> many application configuration files and I want to mount it to jffs2
>> >> flash filesysyem so it will take effect after a reboot. Is it
>> >> possible?
>> >
>> How to do it? The ramdisk rootfs is ext2 filesystem and I try,
>> mount /mnt/mtd/etc /etc
>>
>> Try to modify /etc/ files is not works.
>
> ok, i understood you want to substitute the ramdisk rootfs by jffs2
> based one
>
> mounting the ramdisk as writable with the flash as backing storage
> isn't possible AFAIK. and even if it was possible it wouldn't be
> recommended as ext2 doesn't care about flash wear out, in consequence
> you would write the same blocks over and over again.
>
>> > yes, this is possible
>> >
>> >> I know the flash has write times limited so the log files
>> >> (syslogd/klogd) should not store in flash. In general, how to deploy
>> >> root file system for embedded linux with flash storage?
>> >
>> > - add jffs2 support to your kernel
>> > - create your image using mkfs.jffs2 from mtd-utils
>> > - flash the image
>> > - specify the rootfs partition and type in the bootargs of the kernel
>> The above procedure is to create a jffs2 rootfs image but I prefer to
>> use ramdisk rootfs.
>> I think the rootfs is build as ramdisk and some configurable file is
>> store in jffs2 flash.
>
Okay, I think the steps is below if my rootfs is ramdisk and configure
files in jffs2,
1. cp /etc/* /mnt/mtd/etc/ (/mnt/mtd is my jffs2 fs)
2. rm -rf /etc/*
3. make symbolic links from all /etc/xx to /mnt/mtd/etc/xxx
4. remake ramdisk rootfs
It seems all files in ramdisk rootfs /etc all links to /mnt/mtd/etc/
and try to modify these files is effective after reboot.
But is this a common way in embedded linux ?
I also have another idea, keep ramdisk rootfs /etc files and add a shell script.
1. The shell script execute when system boot up.
2. Check /mnt/mtd/etc/xxx if is exist. If yes, remove /etc/xxx file
and make a symbolic link to /mnt/mtd/etc/xxx. If no, keep /etc/xxx
file.
3. repeat 2 for all /etc files
Any suggestion?
Thank your help.
BRs, H. Johnny
> in this case follow the above steps, except the last one about the
> bootargs and mount the jffs2 partition from your init script. you
> could use symlinks from your ramdisk to the files on jffs2 to
> integrate them in your rootfs
>
> --
> Matthias Kaehlcke
> Embedded Linux Developer
> Barcelona
>
> Anyone who has never made a mistake has never tried anything new
> (Albert Einstein)
> .''`.
> using free software / Debian GNU/Linux | http://debian.org : :' :
> `. `'`
> gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4 `-
>
next prev parent reply other threads:[~2010-01-19 12:03 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-19 9:20 mount ramdisk rootfs /etc directory to jffs2 filesystem Johnny Hung
2010-01-19 9:50 ` Matthias Kaehlcke
2010-01-19 10:13 ` Johnny Hung
2010-01-19 10:20 ` Matthias Kaehlcke
2010-01-19 12:03 ` Johnny Hung [this message]
2010-01-19 13:17 ` Ricard Wanderlof
2010-01-19 14:06 ` Matthias Kaehlcke
2010-01-20 2:32 ` Johnny Hung
2010-01-20 7:12 ` Matthias Kaehlcke
2010-01-20 7:15 ` Ricard Wanderlof
2010-01-20 7:17 ` Matthias Kaehlcke
2010-01-22 3:01 ` Johnny Hung
2010-01-20 7:57 ` Marco Stornelli
2010-01-20 10:21 ` Matthias Kaehlcke
2010-01-20 11:54 ` Marco Stornelli
2010-01-22 3:07 ` Johnny Hung
2010-01-22 8:14 ` Marco Stornelli
2010-01-25 4:09 ` Johnny Hung
2010-01-25 8:27 ` Chris Simmonds
2010-01-25 8:43 ` Johnny Hung
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cb9ecdfa1001190403v433d839dy6ba2bc018024ce15@mail.gmail.com \
--to=johnny.hacking@gmail.com \
--cc=kernelnewbies@nl.linux.org \
--cc=linux-embedded@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=matthias@kaehlcke.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).