public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] U-Boot v2009.08 & JFFS2 (NOR)
@ 2009-09-15  1:08 Tommy Wang
  2009-09-15  1:36 ` Jon Diekema
  0 siblings, 1 reply; 2+ messages in thread
From: Tommy Wang @ 2009-09-15  1:08 UTC (permalink / raw)
  To: u-boot

Hello U-Boot Users,

I am working on updating a EP8248 based board from a very old U-Boot
1.1.2 to v2009.08.

The board has 2 banks of 32MB/256 sector NOR flash at 0xFC000000 and
0xFE000000.  The (single) JFFS2 partition is located at 0xFE020000 to
0xFFEFFFFF.

Using U-Boot 1.1.2, the files within the partition show up just fine
w/ the ls command.  Using U-Boot v2009.08, when booting Linux via
TFTP, the JFFS2 partition can be mounted (mount -t jffs2
/dev/mtdblock2 /mnt), and the files show up fine.  I cannot seem to
get U-Boot to recognize the JFFS2 partition, however.

The existing JFFS2 configuration in U-Boot 1.1.2 is:

#define CFG_JFFS2_FIRST_BANK 1
#define CFG_JFFS2_FIRST_SECTOR 1
#define CFG_JFFS2_NUM_BANKS 1

In v2009.08, I have tried:

#define CONFIG_SYS_JFFS2_FIRST_BANK 1
#define CONFIG_SYS_JFFS2_FIRST_SECTOR 1
#define CONFIG_SYS_JFFS2_NUM_BANKS 1

My debug output shows me:

start_phys: fc000000
end_phys: fbffffff
part->size: ffffffff

Looking through code, I saw that the above macros were no longer used.
 The doc/README.JFFS2 seemed to be out of date.  I tried copying from
configurations that look like they may work from other platforms:

#define CONFIG_JFFS2_DEV "nor1"
#define CONFIG_JFFS2_PART_SIZE 0x01edffff
#define CONFIG_JFFS2_PART_OFFSET 0x00020000
#define CONFGI_SYS_JFFS2_SORT_FRAGMENTS

This gives me the correct start and end address, but it still does not
recognize the JFFS2 partition:

=> ls
start_phys: fe020000
end_phys: ffefffff
part->size: 1edffff
size: 131072
Scanning JFFS2 FS: .  add_node: malloc failed
add_node failed!
ls: Failed to scan JFFSv2 file structure

Next, I tried setting up the mtd partitions:

#define CONFIG_CMD_MTDPARTS
#define CONFIG_MTD_DEVICE
#define CONFIG_FLASH_CFI_MTD
#define MTDIDS_DEFAULT "nor1=primary"
#define MTDPARTS_DEFAULT "mtdparts=primary:31616k at 128k(mypart)"
#define CONFIG_EXTRA_ENV_SETTINGS \
  "mtdids=nor1=primary \0" \
  "mtdparts=" MK_STR(MTDPARTS_DEFAULT) "\0"

But, again, the JFFS2 fails to load with the same error as above.

I am kind of out of ideas.  Can anyone give some advice?

Thanks,
Tommy

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [U-Boot] U-Boot v2009.08 & JFFS2 (NOR)
  2009-09-15  1:08 [U-Boot] U-Boot v2009.08 & JFFS2 (NOR) Tommy Wang
@ 2009-09-15  1:36 ` Jon Diekema
  0 siblings, 0 replies; 2+ messages in thread
From: Jon Diekema @ 2009-09-15  1:36 UTC (permalink / raw)
  To: u-boot

On Mon, 2009-09-14 at 20:08 -0500, Tommy Wang wrote:
> Hello U-Boot Users,
> 
> I am working on updating a EP8248 based board from a very old U-Boot
> 1.1.2 to v2009.08.
> 
> The board has 2 banks of 32MB/256 sector NOR flash at 0xFC000000 and
> 0xFE000000.  The (single) JFFS2 partition is located at 0xFE020000 to
> 0xFFEFFFFF.
> 
> Using U-Boot 1.1.2, the files within the partition show up just fine
> w/ the ls command.  Using U-Boot v2009.08, when booting Linux via
> TFTP, the JFFS2 partition can be mounted (mount -t jffs2
> /dev/mtdblock2 /mnt), and the files show up fine.  I cannot seem to
> get U-Boot to recognize the JFFS2 partition, however.
> 
> The existing JFFS2 configuration in U-Boot 1.1.2 is:
> 
> #define CFG_JFFS2_FIRST_BANK 1
> #define CFG_JFFS2_FIRST_SECTOR 1
> #define CFG_JFFS2_NUM_BANKS 1
> 
> In v2009.08, I have tried:
> 
> #define CONFIG_SYS_JFFS2_FIRST_BANK 1
> #define CONFIG_SYS_JFFS2_FIRST_SECTOR 1
> #define CONFIG_SYS_JFFS2_NUM_BANKS 1
> 
> My debug output shows me:
> 
> start_phys: fc000000
> end_phys: fbffffff
> part->size: ffffffff
> 
> Looking through code, I saw that the above macros were no longer used.
>  The doc/README.JFFS2 seemed to be out of date.  I tried copying from
> configurations that look like they may work from other platforms:
> 
> #define CONFIG_JFFS2_DEV "nor1"
> #define CONFIG_JFFS2_PART_SIZE 0x01edffff
> #define CONFIG_JFFS2_PART_OFFSET 0x00020000
> #define CONFGI_SYS_JFFS2_SORT_FRAGMENTS
> 
> This gives me the correct start and end address, but it still does not
> recognize the JFFS2 partition:
> 
> => ls
> start_phys: fe020000
> end_phys: ffefffff
> part->size: 1edffff
> size: 131072
> Scanning JFFS2 FS: .  add_node: malloc failed
> add_node failed!
> ls: Failed to scan JFFSv2 file structure
> 
> Next, I tried setting up the mtd partitions:
> 
> #define CONFIG_CMD_MTDPARTS
> #define CONFIG_MTD_DEVICE
> #define CONFIG_FLASH_CFI_MTD
> #define MTDIDS_DEFAULT "nor1=primary"
> #define MTDPARTS_DEFAULT "mtdparts=primary:31616k at 128k(mypart)"
> #define CONFIG_EXTRA_ENV_SETTINGS \
>   "mtdids=nor1=primary \0" \
>   "mtdparts=" MK_STR(MTDPARTS_DEFAULT) "\0"
> 
> But, again, the JFFS2 fails to load with the same error as above.
> 
> I am kind of out of ideas.  Can anyone give some advice?

How about using something like the following:

> #undef  CONFIG_SYS_USE_UBI              /* Define to use UBI */
> #undef  CONFIG_SYS_USE_UBIFS            /* Define to Use UBIFS */
> #define CONFIG_CMD_JFFS2                /* Turn on the "fsload", "ls", and "fsinfo" commands */
> 
> 
> #ifdef CONFIG_SYS_USE_UBIFS
> 
> #define CONFIG_CMD_UBIFS                /* Turn on the "ubifsmount", "ubifsls", */
>                                         /* and "ubifsload" commands. */
> #define CONFIG_LZO                      /* Use LZO library - needed for UBIFS */
> #define CONFIG_SYS_USE_UBI              /* Use UBI */
> 
> #endif /* CONFIG_SYS_USE_UBIFS */
> 
> 
> #ifdef CONFIG_SYS_USE_UBI
> 
> #ifdef CONFIG_SYS_MALLOC_LEN
> #undef CONFIG_SYS_MALLOC_LEN
> #endif
> #define CONFIG_SYS_MALLOC_LEN           (CONFIG_ENV_SIZE + 1 * (1024 * 1024))
> 
> #define CONFIG_CMD_UBI                  /* Turn on the "ubi" command */
> #define CONFIG_RBTREE                   /* Red-black tree support - needed for UBI */
> #define CONFIG_MTD_UBI_DEBUG            /* Enable UBI debugging */
> #define CONFIG_MTD_PARTITIONS           /* Support MTD partitions */
> 
> #endif /* CONFIG_SYS_USE_UBI */
> 
> 
> #ifdef CONFIG_CMD_JFFS2
> #ifndef CONFIG_MTD_PARTITIONS
> #define CONFIG_MTD_PARTITIONS           /* Support MTD partitions */
> #define CONFIG_MTD_DEVICE               /* Support MTD devices */
> #endif /* CONFIG_MTD_PARTITIONS */
> #endif /* CONFIG_CMD_JFFS2 */
> 
> 
> #ifdef CONFIG_MTD_PARTITIONS
> 
> /* MTD partition support */
> #define CONFIG_FLASH_CFI_MTD		/* Export CFI flash to the MTD layer */ 
> #define CONFIG_CMD_MTDPARTS		/* Turn on the "chpart" and "mtdparts" commands */
> 
> /* Default MTD partition table */
> #define MTDIDS_DEFAULT		"nor0=yourBoard-0"
> #define MTDPARTS_DEFAULT	"mtdparts=yourBoard-0:" \
> 				"384k(U-Boot),128k(U-Boot Env)," \
> 				"384k(Backup U-Boot),128k(Backup U-Boot Env)," \
> 				"13m(FIT Image)," \
> 				"2m(Backup JFFS),112m(Data JFFS);"
> 
> #endif /* CONFIG_MTD_PARTITIONS */

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-09-15  1:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-15  1:08 [U-Boot] U-Boot v2009.08 & JFFS2 (NOR) Tommy Wang
2009-09-15  1:36 ` Jon Diekema

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox