[U-Boot] no mtdparted from U-Boot> prompt

John Stile john at stilen.com
Sat Dec 22 01:00:46 CET 2012


On Sat, 2012-12-22 at 00:13 +0100, Wolfgang Denk wrote:
> Dear John Stile,
> 
> In message <1356130404.28896.135.camel at genx> you wrote:
> >
> > > I had the impression there was also an interactive command-line tool for
> > > mtdparts, from the u-boot prompt.
> > 
> > This post give me the impression that there should be a uboot mtdparts
> > command in addtion to the kernel option.
> > http://stackoverflow.com/questions/8585864/nand-partitioning-in-u-boot
> 
> Yes, there is.
> 
> For example:
> 
> => mtdparts -?
> mtdparts - define flash/nand partitions
> 
> Usage:
> mtdparts 
>     - list partition table
> mtdparts delall
>     - delete all partitions
> mtdparts del part-id
>     - delete partition (e.g. part-id = nand0,1)
> mtdparts add <mtd-dev> <size>[@<offset>] [<name>] [ro]
>     - add partition
> mtdparts default
>     - reset partition table to defaults
> 
> -----
> 
> this command uses three environment variables:
> 
> 'partition' - keeps current partition identifier
> 
> partition  := <part-id>
> <part-id>  := <dev-id>,part_num
> 
> 'mtdids' - linux kernel mtd device id <-> u-boot device id mapping
> 
> mtdids=<idmap>[,<idmap>,...]
> 
> <idmap>    := <dev-id>=<mtd-id>
> <dev-id>   := 'nand'|'nor'|'onenand'<dev-num>
> <dev-num>  := mtd device number, 0...
> <mtd-id>   := unique device tag used by linux kernel to find mtd device (mtd->name)
> 
> 'mtdparts' - partition list
> 
> mtdparts=mtdparts=<mtd-def>[;<mtd-def>...]
> 
> <mtd-def>  := <mtd-id>:<part-def>[,<part-def>...]
> <mtd-id>   := unique device tag used by linux kernel to find mtd device (mtd->name)
> <part-def> := <size>[@<offset>][<name>][<ro-flag>]
> <size>     := standard linux memsize OR '-' to denote all remaining space
> <offset>   := partition start offset within the device
> <name>     := '(' NAME ')'
> <ro-flag>  := when set to 'ro' makes partition read-only (not used, passed to kernel)
> 
> 
> 
> => mtdparts   
> 
> device nor0 <fc000000.flash>, # parts = 7
>  #: name                size            offset          mask_flags
>  0: firmware            0x00100000      0x00000000      0
>  1: dtb                 0x00040000      0x00100000      0
>  2: kernel              0x00240000      0x00140000      0
>  3: small-fs            0x00280000      0x00380000      0
>  4: initrd              0x00200000      0x00600000      0
>  5: misc                0x00800000      0x00800000      0
>  6: big-fs              0x01000000      0x01000000      0
> 
> active partition: nor0,0 - (firmware) 0x00100000 @ 0x00000000
> 
> defaults:
> mtdids  : nor0=fc000000.flash
> mtdparts: mtdparts=fc000000.flash:1m(firmware),256k(dtb),2304k(kernel),2560k(small-fs),2m(initrd),8m(misc),16m(big-fs)
> => 
> 
> 
> > > Now it contains:
> > > #define CONFIG_JFFS2_NAND 1
> > > #define CONFIG_JFFS2_CMDLINE 1
> > > #define CONFIG_CMD_JFFS2
> > > #define CONFIG_CMD_MTDPARTS"
> 
> If this is an exact copy, then please remove this '"'
> 

It actually reads this:
#define CONFIG_JFFS2_NAND 1
#define CONFIG_JFFS2_CMDLINE 1
#define CONFIG_CMD_JFFS2 1 // Required to include cmd_jffs2.c
#define CONFIG_CMD_MTDPARTS 1 // Required for mtdparts command in uboot

But the command is not available on my system.
Would it help to post my .h or maybe my build log?



More information about the U-Boot mailing list