storing barebox to flash /dev/nand0

Juergen Beisert jbe at
Fri Sep 10 05:27:01 EDT 2010

Belisko Marek wrote:
> Hi,
> I'm porting barebox to mini2440 board. I can boot barebox from SDRAM
> by loading to TEXT_BASE address.
> I would like to test also booting from NAND flash but I can't find a
> way how to store barebox loaded in RAM
> to flash.
> I try tftp barebox.bin /dev/nand0 but if failed with:
> TFTP from server ('barebox.bin' -> '/dev/nand0')
>         offset 0x00000200 not page aligned
> write: Invalid argument
> tftp failed: error -22
> How can I properly store to flash?

Consider the bad blocks in your NAND. So, you will need a bad block aware 
device to write to.

This code in your board specific init routine should add the thing:

/* ----------- add some vital partitions -------- */
devfs_add_partition("nand0", 0x00000, 0x40000, PARTITION_FIXED, "self_raw");
dev_add_bb_dev("self_raw", "self0");

devfs_add_partition("nand0", 0x40000, 0x20000, PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", "env0");

(Sizes depending on the size of your boot loader binary).

And at runtime:

barebox> addpart /dev/nand0 256k(barebox)ro,128k(bareboxenv)
barebox> erase /dev/
barebox> tftp barebox.bin /dev/


Pengutronix e.K.                              | Juergen Beisert             |
Linux Solutions for Science and Industry      | Phone: +49-8766-939 228     |
Vertretung Sued/Muenchen, Germany             | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686              |  |

More information about the barebox mailing list