[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