Rootfs for PXA270 running with 2.6.26.x

Hi all, thanks for reading first!

I have a rootfs for 2.6.16 on PXA270, and now updated the kernel to

2.6.26, but the system shows: Kernel panic: not syncing VFS: Unable to mount root fs on unknown block(2,0)

So I am wondering if my rootfs(originally for 2.6.16) should be replaced with a 2.6.26-compatible one. Is there any downloadable one? Or I must use PTXdist to compile one myself? It seems to take days to compile one using ptx.

Thanks!

Reply to
Kcin
Loading thread data ...

Does your new kernel support the same devices and filesystems to boot from your media? Where is your root filesystem stored on? Flash? CF? USB?

Consider to enable OABI in your new kernel. I guess your old root filesystem using OABI and not the new EABI. The kernel must support it.

$ ptxdist targetinstall kernel

will only build the kernel for you (if you don't want to build the whole project).

jbe

Reply to
Juergen Beisert

The rootfs is in flash, the partitioning is like this: Flash: | U-Boot 1.1.4 | uImage (Kernel 2.6.26) | rootfs.jffs2 |

And it's set to mount at: root=3D\dev\mtdblock2

I set it to \dev\mtdblock0, then it doesn't show the "unable to mount" error, but the system cannot boot up. I guess it's because \dev \mtdblock0 is for u-boot?

How can I switch the kernel to support OABI/EABI? And is it possible to check whether a rootfs is OABI or EABI??

Many thanks!

m

tem

Reply to
Kcin

Does your new kernel know the flash device? Does it know this partition layout?

Did you enable (kernel):

- CFI Flash device in physical memory map

- (0x00000000) Physical start address of flash mapping

- (0x02000000) Physical length of flash mapping

- (4) Bank width in octets [...]

Sure. Only the rootfs.jffs2 partition contains a valid filesystem. BTW: Maybe the jffs2 filesystem format changes between 2.6.16 and 2.6.26?

$ ptxdist kernelconfig -> Kernel Features -> enable "Use the ARM EABI to compile the kernel" -> enable "Allow old ABI binaries to run with this kernel"

Don't know. But if you are running a 2.6.16 kernel it must be OABI.

jbe

Reply to
Juergen Beisert

For the kernel config, I have these setting: CONFIG_MTD_PHYSMAP=3Dy CONFIG_MTD_PHYSMAP_START=3D0x00000000 CONFIG_MTD_PHYSMAP_LEN=3D0x2000000 CONFIG_MTD_PHYSMAP_BANKWIDTH=3D4

And I have this argument in uboot: mtdparts=3Dphys_mapped_flash:256k(u-boot)ro,2048k(kernel),-rs

=46rom the web, I found that the rootfs should be mounted in 1f01 instead of 1f02 between different versions. Does it explain why my rootfs cannot be mounted in mtd2 when I use 2.6.26 kernel?

And I am suggested to type these two commands when updating the kernel: # flash_unlock /dev/mtd0 # flashcp -v /tmp/u-boot.bin /dev/mtd0

What do they do really?

Thanks!

Reply to
Kcin

??????????????????

Can also be done from inside U-Boot. Much easier.

jbe

Reply to
Juergen Beisert

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.