Failing to load Barebox Environment
Gaurav Singh
gausinghnsit at gmail.com
Wed Sep 29 06:03:27 EDT 2010
Just a question regarding the host generated environement file.
In common/environment.c - the host specific envfs_save function is setting
size = (unsigned long)data.writep;
Now there is no way of ensuring that the size is padded to Page size.
The script bareboxenv seems not to use the pad parameter to change the
size parameter of the ENVFS superblock.
Now I know that we can't issue read commands which are not multiples
of Page size. But this is exactly what we are doing in envfs_load:
size = ENVFS_32(super.size);
buf = xmalloc(size);
buf_free = buf;
ret = read(envfd, buf, size);
I think this explains why my read is failing !
Regards
Gaurav
On Wed, Sep 29, 2010 at 2:53 PM, Juergen Beisert <jbe at pengutronix.de> wrote:
> Juergen Beisert wrote:
>> Just a note:
>>
>> You configure:
>> > >> devfs_add_partition("nand0", 0x00000, 0x200000, PARTITION_FIXED,
>> > >> "self_raw"); dev_add_bb_dev("self_raw", "self0");
>> > >> devfs_add_partition("nand0", 0x200000, 0x200000, PARTITION_FIXED,
>> > >> "env_raw"); dev_add_bb_dev("env_raw", "env0");
>>
>> And then:
>> > EVB2065> addpart /dev/nand0 4M(barebox)ro,2M(kernel)ro,-(root)
>>
>> Both must match!
>>
>> Try instead:
>>
>> EVB2065> addpart /dev/nand0 256k(barebox)ro,256k(env),2M(kernel)ro,-(root)
>>
>> jbe
>
> Ups, sorry: 0x200000 != 256k (didn't count the '0' right...)
>
> EVB2065> addpart /dev/nand0 2M(barebox)ro,2M(env),2M(kernel)ro,-(root)
>
> 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