storing barebox to flash /dev/nand0

Belisko Marek marek.belisko at gmail.com
Fri Sep 10 06:46:49 EDT 2010


On Fri, Sep 10, 2010 at 12:30 PM, Juergen Beisert <jbe at pengutronix.de> wrote:
> Marek,
>
> Belisko Marek wrote:
>> On Fri, Sep 10, 2010 at 11:27 AM, Juergen Beisert <jbe at pengutronix.de>
> wrote:
>> > 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");
>> > [...]
>>
>> OK add vital partitions but after that ls -la /dev shows:
>> [...]
>
> Not sure if this is all right (all show the barebox partition):
>
>> crw-------     262144 self_raw
>
> Okay, 256 kiB
>
>> crw-------          0 self0
>
> Hmm, 0?
>
>> crw-------     262144 nand0.barebox
>
> Okay, 256 kiB
>
>> crw-------          0 nand0.barebox.bb
>
> Again, 0?
>
> For the environment it looks different:
>
>> crw-------     131072 env_raw
>> crw-------     131072 env0
>> crw-------     131072 nand0.bareboxenv
>> crw-------     131072 nand0.bareboxenv.bb
>
> All are 128 kiB.
OK maybee there is mix from mtd_parts in env config with vital partitions.
I keep just vital partitions in code but result is the same:
cr-------- 4294967295 zero
crw-------       2973 defaultenv
crw------- 4294967295 mem
crw-------  268435456 nand0
cr--------    8388608 nand_oob0
crw-------          0 ram0
crw-------         32 phy0
crw-------     262144 self_raw
crw-------          0 self0
crw-------     131072 env_raw
crw-------     131072 env0

self0 should be bb for self_raw where to store barebox. But why it has size 0?
Don't understand? Am I doing something wrong? For env it works fine.

>
> 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/  |
>

marek

-- 
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer

Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
icq: 290551086
web: http://open-nandra.com



More information about the barebox mailing list