While in U-boot in an arm based board (wb45n),I manually erase and then mark a block bad.U-Boot> nand erase 0x00720000 20000NAND erase: device 0 offset 0x00720000, size 0x20000  Erasing at 0x720000 -- 100% complete.  OK  U-Boot> nand markbad 0x00720000  block 0x00720000 successfully marked as bad  U-Boot> nand bad  >  Device 0 bad blocks:    00720000I write software and can see the bad blocks being skipped in the process.NAND write: device 0 offset 0x5e0000, size 0x16c0000  Skip bad block 0x00720000   23855104 bytes written: OK         After the software writing, I reboot and the bad blocks are not there.U-Boot> nand bad  >  Device 0 bad blocks:  U-Boot>            Seems as if they have been automatically corrected.If I don't erase the blocks before marking them bad, I can write software successfully but I (often but not always) get the following error during the kernel boot:(I don' t really know why this error message is produced, any explanations are welcome)UBI error: scan_peb: bad image sequence number 1748114077 in PEB 175, expected 1578922167Erase counter header dump:    magic          0x55424923    version        1    ec             1    vid_hdr_offset 2048    data_offset    4096    image_seq      1748114077    hdr_crc        0x285278fStarting kernel ...Uncompressing Linux... done, booting the kernel.add to erase: PEB 0, EC 0  UBI error: ubi_compare_lebs: unsupported on-flash UBI format  UBI error: ubi_attach_mtd_dev: failed to attach mtd6, error -22  UBI error: ubi_init: cannot attach mtd6  UBIFS error (pid 1): ubifs_mount: cannot open ubi0:rootfs, error -19  Kernel panic - not syncing: VFS: Unable to mount root fs on unknown- block(0,0)What I am trying to do is test the board to see how many bad blocks it can handle before failing.Is the way I mark the bad blocks correct?Why do the bad blocks disappear?Is there a way to mark bad blocks that will persist?What does the last error mean?
u-boot how to mark bad blocks
u boot;badblocks;ubifs