Hello,
I am working on a P1020WLAN-compatible board with only one NOR flash to boot it with a Linux image. Using LTIB, I build the image and put
three files UImage, .dtb file and root.squashfs in the flash, in the addresses determined by Freescale. I follow the instruction provided by Freescale (erasing the NOR flash , TFTP and then cp.b). When I boot the board and the kernel tries to switch to jfss2 mode, we encounter the famous errors of jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at …. 0xdead instead.
If instead of my own root.squashfs, I use the original root.squashfs file provided in the USB disk by Freescale for P1020WLAN (keeping the UImage and .dtb and only re-programming the root.squashfs file in the same address), it works well with no problem. Note that using unsquashfs -s tool, I compared both files and all details except the size are the same (block size, version, compression, …). I thought may be something is wrong with my LTIB. So, I decompressed the original root.squashfs file and just recompressed it with no change using mksquashfs4. It did not work on the board (the same jfss2 problem). I tried different switches (-nopad, -b 65536 , …), but none of them worked.
U-boot bootargs are the same as P1020WLAN and naturally the same for all squashfs files that I tried. All the files have almost the
same size between 23 to 26 MB, so the space erased in the flash and assigned to the file is enough.
Note that I can build a RamDisk image using LTIB and boot the board in RAM. So the board is OK. The flash is also OK because it works well with the original root.squashfs. So, I do not know what could be wrong . I appreciate if you could kindly advise me.
The details are as follow:
NOR Flash is S29GL512P . In U-boot, we can see:
Bank # 1: CFI conformant FLASH (16 x 16) Size: 64 MB in 512 Sectors
AMD Standard command set, Manufacturer ID: 0x89, Device ID: 0x227E
Erase timeout: 4096 ms, write timeout: 2 ms
Buffer write timeout: 5 ms, buffer size: 1024 bytes
U-boot bootargs:
bootargs=root=/dev/mtdblock1 rw console=ttyS0,115200
init=/etc/preinit cache-sram-size=0x10000