saveenv & erase with bad blocks present

Sascha Hauer s.hauer at pengutronix.de
Thu Feb 5 13:23:35 PST 2015


On Thu, Feb 05, 2015 at 07:09:51PM +0000, Boulais, Marc-Andre wrote:
> Sascha,
> I have installed the patches and tried erasing the environment with the nand0.erasebad flag. I am now able to execute the erase command on the nand device bareboxenv.bb without errors but I noticed its length is set to zero length....and finally, command "saveenv" still fails. Here's my output:
> ...
> barebox at Phytec phyCORE-OMAP4460:/ ls -l /dev/nand*
> crw------- 1064566784 /dev/nand0.root.bb
> crw------- 1064566784 /dev/nand0.root
> crw-------    4194304 /dev/nand0.splash.bb
> crw-------    4194304 /dev/nand0.splash
> crw-------    4194304 /dev/nand0.kernel.bb
> crw-------    4194304 /dev/nand0.kernel
> crw-------          0 /dev/nand0.bareboxenv.bb               <-------- This does not look good...

This is because the nand bb driver calculates the usable
size of the partition. Here the size is 0 because the block
is marked as bad due to writing it with the erroneous nand driver.

> crw-------     131072 /dev/nand0.bareboxenv
> crw-------     524288 /dev/nand0.barebox.bb
> crw-------     524288 /dev/nand0.barebox
> crw-------     131072 /dev/nand0.xload.bb
> crw-------     131072 /dev/nand0.xload
> cr--------   33554432 /dev/nand_oob0
> crw------- 1073610752 /dev/nand0.bb
> crw------- 1073741824 /dev/nand0
> barebox at Phytec phyCORE-OMAP4460:/ unprotect /dev/nand0.bareboxenv.bb
> barebox at Phytec phyCORE-OMAP4460:/ nv nand0.erasebad=1

Ok, now you can erase bad blocks,

> barebox at Phytec phyCORE-OMAP4460:/ erase /dev/nand0.bareboxenv.bb

but the bb device skip the bad blocks, so this does effectively nothing.
Use /dev/nand0.bareboxenv (without the bb) instead. Restart barebox
afterwards so that the size of the bb device gets recalculated.

> 
> I also have this " No renderer found for filetype UBI image"  error in
> the startup messages, I am not sure it is related, but probably it's
> the next thing I need to figure out...I have included the startup
> messages right after my signature.

The phycore startup script contains a splash command which works
directly on a Nand partition. For some reason this partition contains
an mtd UBI image. This could be because you wrote it there or because
the partition offsets are shifted so that the splash partition is now
where your rootfs has been before.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list