[U-Boot] [PATCH v4] imls: Add support to list images in NAND device
Scott Wood
scottwood at freescale.com
Wed Feb 20 19:12:23 CET 2013
On 02/19/2013 09:37:23 PM, Vipin Kumar wrote:
> On 2/20/2013 6:45 AM, Scott Wood wrote:
>> On 12/17/2012 02:32:48 AM, Vipin Kumar wrote:
>>> +#if defined(CONFIG_CMD_IMLS_NAND)
>>> +static int nand_imls_legacyimage(nand_info_t *nand, int nand_dev,
>>> loff_t off,
>>> + size_t len)
>>> +{
>>> + void *imgdata;
>>> + int ret;
>>> +
>>> + imgdata = malloc(len);
>>> + if (!imgdata) {
>>> + printf("May be a Legacy Image at NAND device %d offset
>>> %08llX:\n",
>>> + nand_dev, off);
>>> + printf(" Low memory(cannot allocate memory for
>>> image)\n");
>>> + return -ENOMEM;
>>> + }
>>
>> So, it looks like any reasonably-sized kernel image is going to hit
>> this out-of-memory condition given how unreasonably small U-Boot
>> malloc
>> heaps generally are.
>>
>
> Yes, that's right. And it is a pity
I think I'll apply this anyway, as it is still helpful, but a future
enhancement could be to do a streaming read of the image to verify the
CRC.
>> As a side note, running this showed U-Boot itself as "may be a legacy
>> image"... it seems that for some reason all the ppc arches start with
>> the uImage header, but otherwise aren't valid uImages.
>
> This "may be a legacy image" print is when we have successfully
> copied and validated the 64 byte mkimage header and are not able to
> allocate the memory from heap for the image data. What it means is
> that although the whole image might be a good "Legacy image" but we
> can not guarantee because we have not yet validated the dcrc.
>
> Thats why this print "May be a legacy image"
Sure, that comment was meant as "hmm, powerpc is doing something weird"
rather than anything wrong with this patch.
-Scott
More information about the U-Boot
mailing list