Re: Discovering current MTD partition

Iwo Mergler
2011-04-28T04:32:39Z

On Thu, 28 Apr 2011 03:14:36 umar@janteq.com wrote:
> > On 04/27/2011 09:25 AM, umar@janteq.com wrote:
> >> Hi,
> >> [...]
> >> What I'd like is to detect from userspace is which /dev/mtdX partition
> >> is
> >> the currently executing program running on because that is the partition
> >> that has been obviously booted.
> >
> > I think you might want to take a look at getmntent (3) : it is a libc
> > function for getting the /etc/mtab entries. It also seems to be portable.
> >
> > Cheers,
> > David.
> >
> > --
> > David Wagner, Free Electrons
> > Kernel, drivers, real-time and embedded Linux
> > development, consulting, training and support.
> > http://free-electrons.com
>
> This will give me the same info as /proc/mtab. I cannot figure out how I
> can infer which /dev/mtdXX was booted from with this information.
>

Here is an example from the embedded system I have on my desk
right now:

root:/proc# cat /proc/mounts
rootfs / rootfs rw 0 0
mtd:rfs / jffs2 rw,relatime 0 0
proc /proc proc rw,relatime 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
etc.

From this we can see that the current root file system is
mtd:rfs

root:/proc# cat mtd
dev: size erasesize name
mtd0: 00100000 00020000 "S1S2EN"
mtd1: 00400000 00020000 "rkern"
mtd2: 00b00000 00020000 "rfs"
mtd3: 00400000 00020000 "kernel"
mtd4: 02000000 00020000 "root"
etc.

This tells us that mtd:rfs corresponds to mtd2, which
should be accessible under /dev/mtd2, /dev/mtdblock2, etc.

Best regards,

Iwo

This communication contains information which may be confidential or privileged.
The information is intended solely for the use of the individual or entity named
above. If you are not the intended recipient, be aware that any disclosure,
copying, distribution or use of the contents of this information is prohibited.
If you have received this communication in error, please notify me by telephone
immediately.