[U-Boot] Getting "Unable to save the rest of sector (196608)" when I turn on Redundant env with CFG_ENV_ADDR_REDUND

Brian Hutchinson b.hutchman at gmail.com
Thu Apr 8 02:51:43 CEST 2010


Sorry for top post.  This is the third message of the thread being
re-sent in plain text.  I'll also add that the test case below also
hangs on trying to bootm a kernel in flash just as it did in the nfs
boot case of the shown below.

On Wed, Apr 7, 2010 at 5:07 PM, Brian Hutchinson <b.hutchman at gmail.com> wrote:
>> #if CFG_ENV_SECT_SIZE > CFG_ENV_SIZE
>>        up_data = (end_addr_new + 1 - ((long)flash_addr_new + CFG_ENV_SIZE));
>>        debug ("Data to save 0x%x\n", up_data);
>>        if (up_data) {
>>                if ((saved_data = malloc(up_data)) == NULL) {
>>                        printf("Unable to save the rest of sector (%ld)\n",
>>                                up_data);
>>                        goto Done;
>>                }
>>                memcpy(saved_data,
>>                        (void *)((long)flash_addr_new + CFG_ENV_SIZE), up_data);
>>                debug ("Data (start 0x%x, len 0x%x) saved at 0x%x\n",
>>                           (long)flash_addr_new + CFG_ENV_SIZE,
>>                                up_data, saved_data);
>>        }
>> #endif
>
> I guess I don't understand at all why flash_addr_new + CFG_ENV_SIZE is
> getting saved off when I want my redundant environment to start at
> flash_addr_new.
>
> So, I went back to the other test case I'm trying where my
> CFG_ENV_SIZE is equal to flash sector size (256k in my case) which
> makes the redundant environment work but when I try to NFS boot my
> board I get:
>
> => run fixed_nfs
> Ethernet PHY auto-negotiation complete
> Ethernet link: is up
> Ethernet link: Full-duplex mode
> Ethernet link: 100 Mbit/s
> Using pc20x_emac device
> TFTP from server 192.168.0.2; our IP address is 192.168.0.5
> Filename 'uImage-cpe20x'.
> Load address: 0x200000
> Loading: #################################################################
>         #################################################################
>         #################################################################
>         #################################################################
>         #################################################################
>         ########
> done
> Bytes transferred = 1700872 (19f408 hex)
> ## Booting image at 00200000 ...
>   Image Name:   Linux-2.6.28-picochip-3.2.0
>   Created:      2010-04-05  19:24:18 UTC
>   Image Type:   ARM Linux Kernel Image (uncompressed)
>   Data Size:    1700808 Bytes =  1.6 MB
>   Load Address: 00008000
>   Entry Point:  00008000
>   Verifying Checksum ... OK
>
> And then everything hangs.  Should I play with moving around TEXT_BASE
> (0x05000000), linker files?  I'm kind of stumped at the moment. :(
>
> Regards,
>
> Brian
>


More information about the U-Boot mailing list