Boot fails using Openembedded rootfs

Miklós Márton
Hello all,

I am trying to use a rootfs baked with openembedded and kernel on my 1GB
board. I have succesfully installed uboot on it. (I have created the bbt,
everything is fine.)

nand info said:
Device 0: NAND 1GiB 3,3V 8-bit, page size 2048, sector size 128 KiB

According to it I have changed the EXTRA_IMAGECMD_jffs2  value to 
 "--pad --little-endian --squash -s 0x800 -n -e 128KiB"

I have generated the image and I have placed it to an sd card: 
I have written it to the NAND trough the uboot in the following way:

mmcinit
fatload mmc 0:1 0x32000000 rootfs.jffs2
nand erase rootfs
nand write.jffs2 0x32000000 rootfs $(filesize)

And then I have set the following enviromental variables:ű

setenv bootcmd nboot.e kernel \; bootm
setenv bootargs root=/dev/mtdblock3 rootfstype=jffs2 console=ttySAC0,115200
mini2440=1tb roo 
saveenv

After it it starts to boot, but it hangs with:

mmcblk0: mmc0:45ed SD02G 1.91 GiB 
 mmcblk0: p1
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x3fa6001c:
0xffff instead
Empty flash at 0x3fa60020 ends at 0x3fa600ac
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x3fa600ac:
0xfff3 instead
Empty flash at 0x3fa600b0 ends at 0x3fa60500
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x3fa60500:
0xfcff instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x3fa8001c:
0xffff instead
Empty flash at 0x3fa80020 ends at 0x3fa800ac
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x3fa800ac:
0xfff3 instead
Empty flash at 0x3fa800b0 ends at 0x3fa80500
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x3fa80500:
0xfcff instead
VFS: Mounted root (jffs2 filesystem) on device 31:3.
Freeing init memory: 136K
Kernel panic - not syncing: No init found.  Try passing init= option to
kernel.


Any help would be appericated!

davef
This has popped up before, have even had the error myself.

You did search <Magic bitmask 0x1985 not found at>?

For example:

http://forums.freescale.com/t5/Other-Microcontrollers/JFFS2-complaining-...

martonmiklos
I have checked the datasheet of the flash (Samsung K9XXG08UXA), and it
says: 
Block Erase : (128K + 4K)Byte

So I think I have specified it well with the -e 128KiB option.

martonmiklos
Well I have recompiled the kernel using this patch:
http://billforums.station51.net/viewtopic.php?f=3&t=167

Now the JFFS2 errors are gone, but the init still not found:
NET: Registered protocol family 17
s3c2410-rtc s3c2410-rtc: hctosys: invalid date/time
s3c-sdi s3c2440-sdi: running at 398kHz (requested: 400kHz).
s3c-sdi s3c2440-sdi: running at 16875kHz (requested: 25000kHz).
s3c-sdi s3c2440-sdi: running at 16875kHz (requested: 25000kHz).
mmc0: new SD card at address 45ed
mmcblk0: mmc0:45ed SD02G 1.91 GiB 
 mmcblk0: p1
VFS: Mounted root (jffs2 filesystem) on device 31:3.
Freeing init memory: 136K
Kernel panic - not syncing: No init found.  Try passing init= option to
kernel.

In the uboot's env there is an 
bootargs_init=init=/sbin/init

The openembedded also generated a tar.gz from the root filesystem, but I
cannot found the init in the sbin directory.

I have ran bitbake console-image -c clean; bitbake console-image, but the
init does not appeared in the sbin directory

davef
I'd suggest posting on:

http://groups.google.com/group/mini2440

as Bill seems to reply there sometimes.  His own site is getting lots of
spam.

Good luck