From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ew0-f49.google.com ([209.85.215.49]) by canuck.infradead.org with esmtps (Exim 4.72 #1 (Red Hat Linux)) id 1QFVOC-0001fV-3C for linux-mtd@lists.infradead.org; Thu, 28 Apr 2011 17:52:33 +0000 Received: by ewy3 with SMTP id 3so1058783ewy.36 for ; Thu, 28 Apr 2011 10:52:30 -0700 (PDT) Subject: Re: Discovering current MTD partition From: Artem Bityutskiy To: umar@janteq.com In-Reply-To: <7bc099d4301235c5f76f9689cb956f2c.squirrel@emailmg.startlogic.com> References: <000201cc046b$b03a6310$10af2930$@janteq.com> <4DB7C9F9.9000609@free-electrons.com> <201104281427.52402.IwoM@netcomm.com.au> <7bc099d4301235c5f76f9689cb956f2c.squirrel@emailmg.startlogic.com> Content-Type: text/plain; charset="UTF-8" Date: Thu, 28 Apr 2011 20:48:14 +0300 Message-ID: <1304012894.2737.19.camel@localhost> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Cc: linux-mtd@lists.infradead.org, Iwo Mergler , David Wagner Reply-To: dedekind1@gmail.com List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Thu, 2011-04-28 at 13:26 -0400, umar@janteq.com wrote: > # cat /proc/mounts > rootfs / rootfs rw 0 0 > ubi0:rootfs / ubifs rw,sync,relatime 0 0 > proc /proc proc rw,relatime 0 0 > tmpfs /tmp tmpfs rw,relatime 0 0 > devpts /dev/pts devpts rw,relatime,gid=5,mode=620 0 0 > sysfs /sys sysfs rw,relatime 0 0 > debugfs /debug debugfs rw,relatime 0 0 > tmpfs /webSvr/logs tmpfs rw,relatime 0 0 > > # cat /proc/mtd > dev: size erasesize name > mtd0: 00020000 00020000 "bst" > mtd1: 00500000 00020000 "ptb" > mtd2: 00500000 00020000 "bld" > mtd3: 00500000 00020000 "hal" > mtd4: 00500000 00020000 "pba" > mtd5: 00800000 00020000 "pri" > mtd6: 00800000 00020000 "sec" > mtd7: 03c00000 00020000 "bak" > mtd8: 03c00000 00020000 "rmd" > mtd9: 03c00000 00020000 "rom" > mtd10: 00300000 00020000 "dsp" > mtd11: 03c00000 00020000 "lnx" > > # df > Filesystem Size Used Available Use% Mounted on > ubi0:rootfs 52.7M 35.1M 17.5M 67% / > tmpfs 65.4M 32.0K 65.4M 0% /tmp > tmpfs 65.4M 32.0K 65.4M 0% /webSvr/logs > > There's nothing above I can use to infer about which /dev/mtdXX is > currently booted - at least on this system. > I have resorted to my backup strategy of parsing /proc/cmdline within > Python to determine which partition is booted. *sigh* Yes, this is a bit messy and complex. Anyway, here is the algorithm for you, in short. Ask specific questions if it is not clear, I do not have time right now to write long mails. Anyway, you need to spend some time and understand the relations between all these mtdX, ubiY, ubiY_Z, ubiY:name... So, in your case you know your rootfs is "ubi0:rootfs". This means that a) your rootfs is an UBI volume b) this UBI volume belongs to the UBI device 0 (there may be several of them - ubi1, ubi2, etc). This is the typical case, I do not know if anyone really has more than one UBI device ever. c) You know that the volume name is "rootfs". You also should know that there is 1-1 correspondence between MTD and UBI devices - one UBI device sits on top (and fully controls) one MTD device. To find out the MTD device number you look at: /sys/class/ubi/ubi0/mtd_num There you see the number X, this means your MTD device is mtdX P.S. If you had set-up similar to Ricard's, you' also need to look at /proc/cmdline to translate "rootfs" or "/dev/rootfs" to "ubi0:rootfs". Not, in this case it is just co-incidence that you named your volume "rootfs", if you named it "pussy_cat", you' have the following in your /proc/mounts: rootfs / rootfs rw 0 0 ubi0:pussy_cat / ubifs rw,sync,relatime 0 0 HTH. -- Best Regards, Artem Bityutskiy (Артём Битюцкий)