storing barebox to flash /dev/nand0

Juergen Beisert jbe at pengutronix.de
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 10.146.1.21 ('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/nand0.barebox.bb
barebox> tftp barebox.bin /dev/nand0.barebox.bb

jbe

-- 
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              | http://www.pengutronix.de/  |



More information about the barebox mailing list