[U-Boot-Users] NOTE: New MTD flash partitioning methods

Wolfgang Denk wd at denx.de
Mon Aug 8 01:08:47 CEST 2005


Hello everybody, especially board maintainers!

I just comitted a bigger  patch  that  implements  a  new  "mtdparts"
command and a common partition scheme that allows U-Boot and Linux to
share  the  same  idea  about  flash partitioning.. Old, obsolete and
duplicated code was cleaned up and replaced by the  new  partitioning
method. There are two possible approaches now:

The first one is to define a single, static partition:

#undef CONFIG_JFFS2_CMDLINE
#define CONFIG_JFFS2_DEV               "nor0"
#define CONFIG_JFFS2_PART_SIZE         0xFFFFFFFF	/* use whole device */
#define CONFIG_JFFS2_PART_SIZE         0x00100000	/* use 1MB */
#define CONFIG_JFFS2_PART_OFFSET       0x00000000

The second method is to use the "mtdparts" command line  and  dynamic
partitioning:

/* mtdparts command line support */
#define CONFIG_JFFS2_CMDLINE
#define MTDIDS_DEFAULT         "nor1=zuma-1,nor2=zuma-2"
#define MTDPARTS_DEFAULT       "mtdparts=zuma-1:-(jffs2),zuma-2:-(user)"

Command  line  of  course  produces  bigger  images,   and   may   be
inappropriate for some targets, so by default it's off.

The code was tested on the following targets:  Alaska8220,  CPCI4052,
NC650, PPChamelion, incaip.

Besides the above targets, there were several other targets affected,
where necessary changes were made. However, no testing was  done  for
those  targets,  only compilation was verified (for PPC, MIPS and ARM
targets). Due to the lack of tool chain for NICOS and i386 I was  not
able  to  compile  the  following  targets: ADNPESC1, DK1C20, DK1S10,
sc520_cdp, sc520_spunk.

Among the modified and not tested targets there is a group of targets
which were implementing their custom multi-partition scheme. This was
mostly duplicating jffs2_part_info() routine  code.  Introducing  the
new  common  scheme  required removing this duplicated code, so those
targets should be especially carefully  tested  by  the  board  main-
tainers.  Target  list  that  require  special  attention:  xsengine,
voiceblue, mx1fs2, MPC8260ADS, innokom  and  VoVPN-GW  (JFFS2  is  by
default   not   compiled   in)  and  especially  SXNI855T  where  the
jffs2_part_info() routine was doing some custom NAND read caching.


Thanks.


Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
If there was anything that depressed him more than his own  cynicism,
it was that quite often it still wasn't as cynical as real life.
                                 - Terry Pratchett, _Guards! Guards!_




More information about the U-Boot mailing list