Problem booting and mounting a jffs2 partition

显示  仅  | 搜索替代 

Problem booting and mounting a jffs2 partition

1,756 次查看
Contributor I

Hi all, 

I am currently working on a ls1043ardb board, trying to flash and boot a jffs2 filesystem mounted on nand. Everything works fine if my filesystem is stored on a scard using ext2 (even if bootloader+kernel resides on nand). But if I try to mount a jffs2 partition on nand I have a kernel panic.

My bootcmd and bootarg:

bootcmd=nboot 82000000 0 180000; bootm

bootargs=root=/dev/mtdblock3 rootfstype=jffs2 rw earlycon=uart8250,0x21c0500 console=ttyS0,115200 rootdelay=1 mem=400M mtdparts=7e800000.flash:0x160000(nand_uboot),0x20000(nand_fman),0x680000(nand_kernel),400m(nand_fs)

Here is the kernel boot log:

4.172652] VFS: Cannot open root device "mtdblock3" or unknown-block(31,3): error -19
[ 4.180555] Please append a correct "root=" boot option; here are the available partitions:
[ 4.188905] 0100 262144 ram0 (driver?)
[ 4.193521] 0101 262144 ram1 (driver?)
[ 4.198129] 0102 262144 ram2 (driver?)
[ 4.202742] 0103 262144 ram3 (driver?)
[ 4.207351] 0104 262144 ram4 (driver?)
[ 4.211959] 0105 262144 ram5 (driver?)
[ 4.216572] 0106 262144 ram6 (driver?)
[ 4.221180] 0107 262144 ram7 (driver?)
[ 4.225793] 0108 262144 ram8 (driver?)
[ 4.230401] 0109 262144 ram9 (driver?)
[ 4.235014] 010a 262144 ram10 (driver?)
[ 4.239710] 010b 262144 ram11 (driver?)
[ 4.244410] 010c 262144 ram12 (driver?)
[ 4.249104] 010d 262144 ram13 (driver?)
[ 4.253803] 010e 262144 ram14 (driver?)
[ 4.258499] 010f 262144 ram15 (driver?)
[ 4.263201] 1f00 1408 mtdblock0 (driver?)
[ 4.268243] 1f01 128 mtdblock1 (driver?)
[ 4.273290] 1f02 6656 mtdblock2 (driver?)
[ 4.278332] 1f03 409600 mtdblock3 (driver?)
[ 4.283379] 1f04 16384 mtdblock4 (driver?)
[ 4.288423] b300 7782400 mmcblk0 driver: mmcblk
[ 4.293730] b301 7781376 mmcblk0p1 000a89a0-01
[ 4.299031] VFS: Unable to mount root fs on unknown-block(31,3)
[ 4.304944] User configuration error - no valid root filesystem found
[ 4.311373] Kernel panic - not syncing: Invalid configuration from end user prevents continuing

I followed the instructions available on QorIQ SDK 2.0 Documentation for mounting a jffs2 filesystem on nand (section 8.8.2).

An interesting point is: on a scenario where an ext2 partition is mounted on sdcard, there is no jffs2 "type" option when I try to mount a partition on mtdblock3. Probably, there is no driver available for jffs2 (modprobe jffs2 does not work either).

I have already tried to use different recipes to compile (mfg,core,full) but none of them had the jffs2 driver.

Any hints about what could be happening here?



0 项奖励
3 回复数

1,191 次查看
Contributor I

As I suspected, the kernel/fs is being compiled without jffs2 support. If I boot the board on a sdcard (using ext2)  and "cat" the "config.gz" file to check if any JFFS2 variable was set during menuconfig, no JFFS2 mention can be seen:

root@ls1043ardb:~# cat /proc/config.gz | gunzip > kernel.config
root@ls1043ardb:~# cat kernel.config | grep -i JFFS2

Probably, the same config file  (or similar) is being used for a jffs2 image.

Any hint about how can I modify the meta-freescale recipes to add support for jffs2 kernel module? Or edit the menuconfig file (which? and how? ) to generate a jffs2 kernel module to be loaded?


Igor Nunes

0 项奖励

1,191 次查看
NXP Employee
NXP Employee

Test your system if "roodelay=10" is used in your bootargs.

Have a great day,
Pavel Chubakov

Note: If this post answers your question, please click the Correct Answer button. Thank you!

1,191 次查看
Contributor I

Hi Pavel,

Thanks for your reply.

I incremented the rootdelay value to 10, but I still can't mount jffs2 on nand boot. I wonder if this issue is related to the kernel/fs compilation...


Igor Nunes

0 项奖励