mtd-partition problem in "mx51 EA and mx51 GA module"

hi. nice to meet you.

I used MX51 EA module.

I used setting is


CCWMX51 # intnvram printall

Partition Table

Nr Name Chip Start Size Type FS Flags
0 | U-Boot               | 0    | 0x000000000 | 0x0000c0000 | U-Boot       | None    | fixed
1 | NVRAM                | 0    | 0x0000c0000 | 0x000080000 | NVRAM        | None    | fixed
2 | kernel               | 0    | 0x000140000 | 0x000300000 | Linux-Kernel | None    |
3 | rootfs               | 0    | 0x000440000 | 0x004600000 | Filesystem   | SQUASHFS | mount-readonly rootfs
4 | config               | 0    | 0x004a40000 | 0x000a00000 | Filesystem   | JFFS2   |
5 | user                 | 0    | 0x005440000 | 0x01abc0000 | Filesystem   | JFFS2   |


CCWMX51 # printenv

bootargs=noinitrd console=ttymxc1,38400 root=/dev/mtdblock3 rootfstype=squashfs ro mtdparts=onboard_boot:0xc0000(U-Boot),0x80000@0xc0000(NVRAM),0x300000@0x140000(kernel),0x4600000@0x440000(rootfs),0xa00000@0x4a40000(config),0x1abc0000@0x5440000(user)
bootcmd=nand read 0x90800000 0x140000 0x300000;bootm

CCWMX51 # printenv_dynamic

console=console=ttymxc1,38400
ebootaddr=0x90800000
eimg=eboot-CCXMX51
loadaddr=0x90800000
loadaddr_initrd=0x90600000
linuxloadaddr=0x90800000
netosloadaddr=CONFIG_NETOS_LOAD_ADDR

this setting is worked in MX51 EA.

but, this setting not worked in MX51 GA.

I try update rootfs in MX51GA.

update rootfs tftp rfs/rootfs.squashfs

CCWMX51 # update rootfs tftp rfs/rootfs.squashfs
Using FEC0 device
TFTP from server 192.168.0.5; our IP address is 192.168.0.1
Filename ‘rfs/rootfs.squashfs’.
Load address: 0x94000000
Loading: #############################################################################################################################################################################################

output “####” and, just stopped state.

So, I searched different in MX51 EA vs MX51 GA.

MX51EA -> Load address: 0x90800000
MX51GA -> Load address: 0x94000000

I try setting u-boot(in MX51GA).

setenv loadaddr 90800000

saveenv

update rootfs tftp rfs/rootfs.squashfs


Erasing: complete
Writing: complete
Verifying: complete
Update successful

boot

CCWMX51 # boot

NAND read: device 0 offset 0x140000, size 0x300000
3145728 bytes read: OK

Booting kernel from Legacy Image at 90800000 …

Image Name: Linux-2.6.31
Created: 2011-08-01 2:03:46 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2239060 Bytes = 2.1 MB
Load Address: 90008000
Entry Point: 90008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK

Starting kernel …

Uncompressing Linux… done, booting the kernel.

Kernel command line: noinitrd console=ttymxc1,38400 root=/dev/mtdblock3 rootfstype=squashfs ro mtdparts=onboard_boot:0xc0000(U-Boot),0x80000@0xc0000(NVRAM),0x300000@0x140000(kernel),0x4600000@0x440000(rootfs),0xa00000@0x4a40000(config),0x1abc0000@0x5440000(user)
PID hash table entries: 2048 (order: 11, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 416MB = 416MB total
Memory: 417432KB available (4024K code, 357K data, 120K init, 0K highmem)

MXC MTD nand Driver 3.0
NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB 3,3V 8-bit)
Bad block table not found for chip 0
Bad block table not found for chip 0
Scanning device for bad blocks
6 cmdlinepart partitions found on MTD device onboard_boot
Creating 6 MTD partitions on “onboard_boot”:
0x000000000000-0x0000000c0000 : “U-Boot”
0x0000000c0000-0x000000140000 : “NVRAM”
0x000000140000-0x000000440000 : “kernel”
0x000000440000-0x000004a40000 : “rootfs”
0x000004a40000-0x000005440000 : “config”
0x000005440000-0x000020000000 : “user”

SQUASHFS error: zlib_inflate error, data probably corrupt
SQUASHFS error: squashfs_read_data failed to read block 0x3dc223d
SQUASHFS error: Unable to read metadata cache entry [3dc223d]
SQUASHFS error: Unable to read inode 0x160751d80
------------[ cut here ]------------
WARNING: at fs/inode.c:707 unlock_new_inode+0x24/0x44()
Modules linked in:
[] (unwind_backtrace+0x0/0xd8) from [] (warn_slowpath_common+0x48/0x60)
[] (warn_slowpath_common+0x48/0x60) from [] (unlock_new_inode+0x24/0x44)
[] (unlock_new_inode+0x24/0x44) from [] (iget_failed+0x14/0x20)
[] (iget_failed+0x14/0x20) from [] (squashfs_fill_super+0x3c4/0x4dc)
[] (squashfs_fill_super+0x3c4/0x4dc) from [] (get_sb_bdev+0xf4/0x150)
[] (get_sb_bdev+0xf4/0x150) from [] (squashfs_get_sb+0x18/0x20)
[] (squashfs_get_sb+0x18/0x20) from [] (vfs_kern_mount+0x4c/0x94)
[] (vfs_kern_mount+0x4c/0x94) from [] (do_kern_mount+0x34/0xd8)
[] (do_kern_mount+0x34/0xd8) from [] (do_mount+0x77c/0x7f0)
[] (do_mount+0x77c/0x7f0) from [] (sys_mount+0x84/0xcc)
[] (sys_mount+0x84/0xcc) from [] (do_mount_root+0x1c/0xb0)
[] (do_mount_root+0x1c/0xb0) from [] (mount_block_root+0xf0/0x20c)
[] (mount_block_root+0xf0/0x20c) from [] (prepare_namespace+0x11c/0x174)
[] (prepare_namespace+0x11c/0x174) from [] (kernel_init+0xd8/0x10c)
[] (kernel_init+0xd8/0x10c) from [] (kernel_thread_exit+0x0/0x8)
—[ end trace 7657830170703140 ]—
VFS: Cannot open root device “mtdblock3” or unknown-block(31,3)
Please append a correct “root=” boot option; here are the available partitions:
1f00 768 mtdblock0 (driver?)
1f01 512 mtdblock1 (driver?)
1f02 3072 mtdblock2 (driver?)
1f03 71680 mtdblock3 (driver?)
1f04 10240 mtdblock4 (driver?)
1f05 438016 mtdblock5 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)

I don’t understand, MX51EA vs MX51GA.

somebody help me please.

song.

Song,

You should go to http://ftp1.digi.com/support/patches/i.MX51/CC_i.MX51_Updates.htm and read the first application note :- APN#1-6-11-B: EA vs. GA
.

Then upgrade your uboot to 1.1.3 …
Your filesystem should be jffs2 not squashfs.

The above link is meant for all i.mx51 customers… Subscribe for any updates in that link.