MTD partitions not mounted by the kernel
Hello,
I use U-Boot 1.3.1 with a NOR and a NAND Flash.
I created the following partitions with U-Boot.
device nor0 <NOR>, # parts = 4
#: name size offset mask_flags
0: U-Boot 0x00080000 0x00000000 0 1: Environment 0x00020000 0x00080000 0 2: Kernel 0x00400000 0x000a0000 0 3: FreeNOR 0x00360000 0x004a0000 0
device nand0 <NAND>, # parts = 2
#: name size offset mask_flags
0: FS 0x02000000 0x00000000 0 1: FreeNAND 0x06000000 0x02000000 0
active partition: nor0,0 - (U-Boot) 0x00080000 @ 0x00000000
defaults:
mtdids : nor0=NOR,nand0=NAND
mtdparts:
mtdparts=NOR:512k(U-Boot),128k(Environment),4M(Kernel),-(FreeNOR);NAND:32M(FS),-(FreeNAND)
I checked the support for MTD devices and for the MTD command line in the kernel config.
here is my bootargs environment variable :
bootargs=console=ttyAS0,115200 mem=128M root=/dev/nfs nfsroot=192.168.1.60:/tftpboot/stlinux/skyworth/rootfs ip=192.168.1.111:192.168.1.60:192.168.1.1:255.255.255.0 mtdparts=NOR:512k(U-Boot),128k(Environment),4M(Kernel),-(FreeNOR);NAND:32M(FS),-(FreeNAND)
The problem is that once my system is running the MTD devices in /dev are not created and the file /proc/mtd is empty.
Is my command line wrong ?
Thanks in advance.
Alex
Le 10/02/2011 15:45, Alexandre Gambier a ?crit :
Quoted 4 lines
Hello,
I use U-Boot 1.3.1 with a NOR and a NAND Flash.
I created the following partitions with U-Boot.
U-Boot 1.3.1 is rather old., BTW
Quoted 28 lines
device nor0<NOR>, # parts = 4
#: name size offsetmask_flags0: U-Boot 0x00080000 0x00000000 0 1: Environment 0x00020000 0x00080000 0 2: Kernel 0x00400000 0x000a0000 0 3: FreeNOR 0x00360000 0x004a0000 0device nand0<NAND>, # parts = 2
#: name size offsetmask_flags0: FS 0x02000000 0x00000000 0 1: FreeNAND 0x06000000 0x02000000 0active partition: nor0,0 - (U-Boot)
0x00080000@0x00000000defaults:
mtdids : nor0=NOR,nand0=NAND
mtdparts:
mtdparts=NOR:512k(U-Boot),128k(Environment),4M(Kernel),-(FreeNOR);NAND:32M(FS),-(FreeNAND)I checked the support for MTD devices and for the MTD command line in the kernel config.
here is my bootargs environment variable :
bootargs=console=ttyAS0,115200 mem=128M root=/dev/nfs nfsroot=192.168.1.60:/tftpboot/stlinux/skyworth/rootfs ip=192.168.1.111:192.168.1.60:192.168.1.1:255.255.255.0 mtdparts=NOR:512k(U-Boot),128k(Environment),4M(Kernel),-(FreeNOR);NAND:32M(FS),-(FreeNAND)
Quoted 4 lines
The problem is that once my system is running the MTD devices in /dev are not created and the file
/proc/mtdis empty.Is my command line wrong ?
The creation of the entries in /dev is not caused by the sole presence of mtdpart= on the command line. Either you must create these entries manually, or you have to have a dynamic /dev manager, for instance udev, create them for you with the help of adequate configuration files.
Note that this has nothing to do with U-Boot, though.
Quoted 2 lines
Thanks in advance.
Alex
Amicalement,
Signature · 1 line
Albert.
Dear Alexandre Gambier,
Quoted 2 lines · In message <[email protected]> you wrote:
mtdids : nor0=NOR,nand0=NAND
...
Quoted 1 line
mtdparts=NOR:512k(U-Boot),128k(Environment),4M(Kernel),-(FreeNOR);NAND:32M(FS),-(FreeNAND)
...
Quoted 4 lines
The problem is that once my system is running the MTD devices in /dev are not created and the file
/proc/mtdis empty.Is my command line wrong ?
I think so. Most probably your kernel uses different identifiers instead of "NOR" and "NAND". Check the kernel boot messages!
Best regards,
Wolfgang Denk
Signature · 7 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
You could end up being oddly sad and full of a strange, diffuse com-
passion which would lead you to believe that it might be a good idea
to wipe out the whole human race and start again with amoebas.
- Terry Pratchett, _Guards! Guards!_Dear Wolfgang,
I tried to put some printk in the MTD driver and it seems that the parse_mtd_partitions function is never called...
I will try to find what's wrong with my kernel configuration.
alex
Quoted 18 lines · Wolfgang Denk
Dear Alexandre Gambier,
Quoted 1 line · In message<[email protected]> you wrote:
mtdids : nor0=NOR,nand0=NAND
...
Quoted 1 line
mtdparts=NOR:512k(U-Boot),128k(Environment),4M(Kernel),-(FreeNOR);NAND:32M(FS),-(FreeNAND)
...
Quoted 4 lines
The problem is that once my system is running the MTD devices in /dev are not created and the file
/proc/mtdis empty.Is my command line wrong ?
I think so. Most probably your kernel uses different identifiers instead of "NOR" and "NAND". Check the kernel boot messages!
Best regards,
Wolfgang Denk
Am Donnerstag, den 10.02.2011, 17:04 +0100 schrieb Alexandre Gambier:
Quoted 4 lines
Dear Wolfgang,
I tried to put some printk in the MTD driver and it seems that the
parse_mtd_partitionsfunction is never called...
parse_mtd_partitions() is called from the mapping drivers. See e.g. linux/drivers/mtd/maps/ and linux/drivers/mtd/nand/.
The mtd-id provided in kernel-cmdline has to match the name of the mapping driver, e.g. "physmap-flash" in case of drivers/mtd/maps/physmap.c.
See linux/drivers/mtd/cmdlinepart.c for the format. Your spec looks fine, presumably beside "NOR" and "NAND" names.
Quoted 1 line
I will try to find what's wrong with my kernel configuration.
You'll need CONFIG_MTD_PARTITIONS and CONFIG_MTD_CMDLINE_PARTS.
Also check /proc/cmdline that it's really passed and not overwritten by hardcoded kernel commandline (CONFIG_CMDLINE_BOOL not set).
Quoted 26 lines
alex
Quoted 10 lines · Wolfgang Denk
Dear Alexandre Gambier,
Quoted 1 line · In message<[email protected]> you wrote:
mtdids : nor0=NOR,nand0=NAND
...
Quoted 1 line
mtdparts=NOR:512k(U-Boot),128k(Environment),4M(Kernel),-(FreeNOR);NAND:32M(FS),-(FreeNAND)
...
Quoted 3 lines
The problem is that once my system is running the MTD devices in /dev are not created and the file
/proc/mtdis empty.Quoted 8 lines
Quoted 1 line
Is my command line wrong ?
I think so. Most probably your kernel uses different identifiers instead of "NOR" and "NAND". Check the kernel boot messages!
Best regards,
Wolfgang Denk
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
Signature · 5 lines
carpe noctem engineering Ingenieurbuero fuer Hard- & Software-Entwicklung Andreas Pretzsch Dipl.-Ing. (FH) Andreas Pretzsch Tel. +49-(0)731-5521572 Hahnengasse 3 Fax: +49-(0)731-5521573 89073 Ulm, Germany email: apr at cn-eng.de
Hello Andreas,
Thanks for this explanation.
I will try to write my own driver for my board.
Best regards
alex
Quoted 46 lines · Andreas Pretzsch
Am Donnerstag, den 10.02.2011, 17:04 +0100 schrieb Alexandre Gambier:
Quoted 4 lines
Dear Wolfgang,
I tried to put some printk in the MTD driver and it seems that the
parse_mtd_partitionsfunction is never called...
parse_mtd_partitions()is called from the mapping drivers. See e.g. linux/drivers/mtd/maps/ and linux/drivers/mtd/nand/.The mtd-id provided in kernel-cmdline has to match the name of the mapping driver, e.g. "physmap-flash" in case of
drivers/mtd/maps/physmap.c.See
linux/drivers/mtd/cmdlinepart.cfor the format. Your spec looks fine, presumably beside "NOR" and "NAND" names.Quoted 1 line
I will try to find what's wrong with my kernel configuration.
You'll need
CONFIG_MTD_PARTITIONSandCONFIG_MTD_CMDLINE_PARTS.Also check
/proc/cmdlinethat it's really passed and not overwritten by hardcoded kernel commandline (CONFIG_CMDLINE_BOOLnot set).Quoted 25 lines
alex
Quoted 10 lines · Wolfgang Denk
Dear Alexandre Gambier,
Quoted 1 line · In message<[email protected]> you wrote:
mtdids : nor0=NOR,nand0=NAND
...
Quoted 1 line
mtdparts=NOR:512k(U-Boot),128k(Environment),4M(Kernel),-(FreeNOR);NAND:32M(FS),-(FreeNAND)
...
Quoted 3 lines
The problem is that once my system is running the MTD devices in /dev are not created and the file
/proc/mtdis empty.Quoted 8 lines
Quoted 1 line
Is my command line wrong ?
I think so. Most probably your kernel uses different identifiers instead of "NOR" and "NAND". Check the kernel boot messages!
Best regards,
Wolfgang Denk
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
Dear Alexandre Gambier,
please do not top post / full quote; please read
http://www.netmeister.org/news/learn2quote.html
Quoted 2 lines · In message <[email protected]> you wrote:
I will try to write my own driver for my board.
You almost certainly do not have to write any new driver.
You just need to configure the existing ones for your hardware.
Best regards,
Wolfgang Denk
Signature · 4 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de (null cookie; hope that's ok)
Quoted 4 lines · Wolfgang Denk
Dear Alexandre Gambier,
please do not top post / full quote; please read
http://www.netmeister.org/news/learn2quote.html
Sorry
Quoted 7 lines
Quoted 1 line · In message<[email protected]> you wrote:
I will try to write my own driver for my board.
You almost certainly do not have to write any new driver.
You just need to configure the existing ones for your hardware.
Best regards,
I will try to use physmap-flash for the NOR and gen_nand for the NAND.
Quoted 2 lines
Wolfgang Denk