AnsweredAssumed Answered

iMX6D can't boot on NAND

Question asked by Azmat Liu on Jan 28, 2018
Latest reply on Jan 29, 2018 by Azmat Liu
U-Boot 2015.04imx_v2015.04_4.1.15_1.2.0_ga+gede7538 (Jan 25 2018 - 16:10:33)
CPU:   Freescale i.MX6D rev1.5 at 792 MHz
CPU:   Temperature 42 C
Reset cause: POR
Board: MX6-SabreSD
I2C:   ready
DRAM:  512 MiB
NAND:  128 MiB
Using default environment

NAND read: device 0 offset 0xc0000, size 0x300000
 3145728 bytes read: OK
NAND read: device 0 offset 0x4c0000, size 0x10000
 65536 bytes read: OK
Kernel image @ 0x12000000 [ 0x000000 - 0x2a5fd0 ]
## Flattened Device Tree blob at 18000000
   Booting using the fdt blob at 0x18000000
   Using Device Tree in place at 18000000, end 1800c541
Starting kernel ...
gpmi-nand 112000.gpmi-nand: mode:4 ,failed in set feature.
ubi0 error: scan_peb: bad image sequence number 1885948207 in PEB 981, expected 1646201373
Erase counter header dump:
 magic          0x55424923
 version        1
 ec             1
 vid_hdr_offset 2048
 data_offset    4096
 image_seq      1885948207
 hdr_crc        0x35c9516
erase counter header hexdump:
ubi0 error: ubi_attach_mtd_dev: failed to attach mtd5, error -22
UBI error: cannot attach mtd5
UBIFS error (pid: 1): cannot open "ubi0:rootfs", error -19VFS: Cannot open root device "ubi0:rootfs" or unknown-block(0,0): error -19
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
CPU1: stopping
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.1.15-1.2.0+g77f6154 #1
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[<80015a64>] (unwind_backtrace) from [<8001261c>] (show_stack+0x10/0x14)
[<8001261c>] (show_stack) from [<8034a564>] (dump_stack+0x84/0xc4)
[<8034a564>] (dump_stack) from [<8001496c>] (handle_IPI+0x178/0x18c)
[<8001496c>] (handle_IPI) from [<800093f4>] (gic_handle_irq+0x58/0x5c)
[<800093f4>] (gic_handle_irq) from [<80013100>] (__irq_svc+0x40/0x74)
Exception stack(0x8607bf50 to 0x8607bf98)
bf40:                                     00000000 8bb35f40 00000001 8607a000
bf60: 8bb32df8 00000001 992fc3ad 00000000 996b366d 00000000 00000001 00000000
bf80: 00000000 8607bf98 8034e8d4 802d8bec 20000113 ffffffff
[<80013100>] (__irq_svc) from [<802d8bec>] (cpuidle_enter_state+0xd8/0x20c)
[<802d8bec>] (cpuidle_enter_state) from [<8005e27c>] (cpu_startup_entry+0x1fc/0x320)
[<8005e27c>] (cpu_startup_entry) from [<1000948c>] (0x1000948c)
---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
第二次烧写就会出现这种问题,始终无法识别出文件系统UCL2的配置如下:
<!-- burn rootfs to NAND: -->
 <CMD state="Updater" type="push" body="$ flash_erase /dev/mtd%part_rootfs% 0 0">Erasing rootfs partition</CMD>
 <CMD state="Updater" type="push" body="$ ubiformat /dev/mtd%part_rootfs%"/>
 <CMD state="Updater" type="push" body="$ ubiattach /dev/ubi_ctrl -m %part_rootfs%">Attaching UBI partition</CMD>
 <CMD state="Updater" type="push" body="$ ubimkvol /dev/ubi0 -Nrootfs -m"/>
 <CMD state="Updater" type="push" body="$ mkdir -p /mnt/mtd%part_rootfs%"/>
 <CMD state="Updater" type="push" body="$ mount -t ubifs ubi0:rootfs /mnt/mtd%part_rootfs%"/>
 <CMD state="Updater" type="push" body="pipe tar -jxv -C /mnt/mtd%part_rootfs%" file="files/%rootfs%" ifdev="MX6Q MX6DL MX6D">Sending and writting rootfs</CMD>
 <!-- rootfs customization -->
 <CMD state="Updater" type="push" body="frf">Customizing rootfs</CMD>
 <CMD state="Updater" type="push" body="send" file="files/customization.tar.bz2">Sending customization pack</CMD>
 <CMD state="Updater" type="push" body="$ tar jxf $FILE ">Extracting customization pack</CMD>
 <CMD state="Updater" type="push" body="$ sh customization.sh /mnt/mtd%part_rootfs%">Exec customization</CMD>
 
 <CMD state="Updater" type="push" body="frf">Finishing rootfs write</CMD>
 <CMD state="Updater" type="push" body="$ umount /mnt/mtd%part_rootfs%">Unmounting rootfs partition</CMD>
 <!-- CMD state="Updater" type="push" body="$ ubidetach -m %part_rootfs%">Detaching UBI partition</CMD -->
 
 <CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD>
please help!!

Outcomes