[U-Boot] U-Boot 2012.10 PXA270 - saveenv / Kernel issue

Hello everyone,
i have a problem with the latest stable U-Boot 2012.10 and a Toradex Colibri PXA270 V2.4a Board and a upating the kernel.
The problem apears when i erase the hole NOR Flash, copy the uboot and the uImage.
Here are my steps.
1. unprotect and erase the hole flash. 2. copy the latest u-boot.bin to flash 2.1 usb start 2.2 fatload usb 0:1 0xa0000000 u-boot.bin 2.3 protect off 0x0 0x3ffff 2.4 erase 0x0 0x3ffff 2.5 cp.b 0xa0000000 0x0 $filesize 3 reset to look the u-boot is installed 3.1 see that CRC is bad (normal behavier couse no defaults are written) 3.2 savenv and powercyle 4. all fine 5. copy kernel image to flash 5.1 usb start 5.2 fatload usb 0:1 0xa0000000 uimage-2.6.35.9-toradex-pxa270v22b 5.3 protect off 0xc0000 0x47ffff 5.4 erase 0xc0000 0x47ffff 5.5 cp.b 0xa0000000 0xc0000 $filesize 6. check the uImage 6.1 iminfo 0xC00000 - OK 7. hard reset (power cycle)
Now comes the part that i dosen't understand The U-Boot loader sayes again that the CRC is bad and using default values. I use "saveenv" again and make a powercycle. The CRC error is no more but the u-boot isnt able to boot the uImage. It sayes unkown Image format
Sory for the long description. I search the mailing but didnt found something.
The latest Toradex Bootloader is u-boot 1.3.3 there is the saveenv and Kernel update working. But the USB support isnt working.
Could anybody give me hint or maybe know the solution ?
Kind regards Andreas

On Sun, Nov 11, 2012 at 10:10 PM, Andreas Puls appu@gmx.net wrote:
Hello everyone,
i have a problem with the latest stable U-Boot 2012.10 and a Toradex Colibri PXA270 V2.4a Board and a upating the kernel.
The problem apears when i erase the hole NOR Flash, copy the uboot and the uImage.
Here are my steps.
- unprotect and erase the hole flash.
- copy the latest u-boot.bin to flash
2.1 usb start 2.2 fatload usb 0:1 0xa0000000 u-boot.bin 2.3 protect off 0x0 0x3ffff 2.4 erase 0x0 0x3ffff 2.5 cp.b 0xa0000000 0x0 $filesize 3 reset to look the u-boot is installed 3.1 see that CRC is bad (normal behavier couse no defaults are written) 3.2 savenv and powercyle 4. all fine 5. copy kernel image to flash 5.1 usb start 5.2 fatload usb 0:1 0xa0000000 uimage-2.6.35.9-toradex-pxa270v22b 5.3 protect off 0xc0000 0x47ffff 5.4 erase 0xc0000 0x47ffff 5.5 cp.b 0xa0000000 0xc0000 $filesize 6. check the uImage 6.1 iminfo 0xC00000 - OK 7. hard reset (power cycle)
Now comes the part that i dosen't understand The U-Boot loader sayes again that the CRC is bad and using default values. I use "saveenv" again and make a powercycle. The CRC error is no more but the u-boot isnt able to boot the uImage. It sayes unkown Image format
Sory for the long description. I search the mailing but didnt found something.
The latest Toradex Bootloader is u-boot 1.3.3 there is the saveenv and Kernel update working. But the USB support isnt working.
Could anybody give me hint or maybe know the solution ?
Hi Andreas,
Looks like env overlap kernel, check env address and size in flash
Regards Vasily
Kind regards Andreas
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

Dear All
On 2012.11/11, Vasily Khoruzhick wrote:
On Sun, Nov 11, 2012 at 10:10 PM, Andreas Puls appu@gmx.net wrote:
Hello everyone,
i have a problem with the latest stable U-Boot 2012.10 and a Toradex Colibri PXA270 V2.4a Board and a upating the kernel.
The problem apears when i erase the hole NOR Flash, copy the uboot and the uImage.
Here are my steps.
- unprotect and erase the hole flash.
- copy the latest u-boot.bin to flash
2.1 usb start 2.2 fatload usb 0:1 0xa0000000 u-boot.bin 2.3 protect off 0x0 0x3ffff 2.4 erase 0x0 0x3ffff 2.5 cp.b 0xa0000000 0x0 $filesize 3 reset to look the u-boot is installed 3.1 see that CRC is bad (normal behavier couse no defaults are written) 3.2 savenv and powercyle 4. all fine 5. copy kernel image to flash 5.1 usb start 5.2 fatload usb 0:1 0xa0000000 uimage-2.6.35.9-toradex-pxa270v22b 5.3 protect off 0xc0000 0x47ffff 5.4 erase 0xc0000 0x47ffff 5.5 cp.b 0xa0000000 0xc0000 $filesize 6. check the uImage 6.1 iminfo 0xC00000 - OK 7. hard reset (power cycle)
As an addition to Andreas' fine comment.
Are you using the stock configuration file from the latest u-boot?
Also verify your boot/bootm command. I will assume that you copy the kernel from flash to DRAM, if so please make sure you are reading from the correct flash offset and reading the correct kernel size.
Now comes the part that i dosen't understand The U-Boot loader sayes again that the CRC is bad and using default values. I use "saveenv" again and make a powercycle. The CRC error is no more but the u-boot isnt able to boot the uImage. It sayes unkown Image format
Sory for the long description. I search the mailing but didnt found something.
The latest Toradex Bootloader is u-boot 1.3.3 there is the saveenv and Kernel update working. But the USB support isnt working.
Could anybody give me hint or maybe know the solution ?
Hi Andreas,
Looks like env overlap kernel, check env address and size in flash
Regards Vasily
Kind regards Andreas
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

Hello Rommel,
Am 11.11.2012 23:35, schrieb Rommel G Custodio:
[...]
As an addition to Andreas' fine comment.
Are you using the stock configuration file from the latest u-boot?
Yes. Im using the stock configuriont from U-Boot 2012.10
Also verify your boot/bootm command.
My boot comand points to the load adress 0xC0000 whre i've copied the kernel.
I will assume that you copy the kernel from flash to DRAM, if so please make sure you are reading from the correct flash offset and reading the correct kernel size.
Now i must asked you a dumpd question: Is that fixed in the Kernel / uImage ?
Kind regards Andreas

Hello Rommel and Vasily,
i got it solved :) Thanks you both for the tips. I saw that the latest u-boot.bin is about 120kb bigger then the "old - working" u-boot.bin
Copied the uImage to next "higher sector" and its working fine.
The Toradex wiki said copy uImage to 0xC0000 I copied the uImage now to 0x100000 which is the next sector which showed up by flinfo
Changed the bootcmd to load the 0x100000 value. Booting works. Saveenv works.
All happy (only a small issue about the bogomips - will make a new post)
Kind regards and many thanks Andreas

Dear Andreas Puls,
Hello Rommel and Vasily,
i got it solved :) Thanks you both for the tips. I saw that the latest u-boot.bin is about 120kb bigger then the "old - working" u-boot.bin
Copied the uImage to next "higher sector" and its working fine.
The Toradex wiki said copy uImage to 0xC0000
This is valid for the ancient Toradex u-boot ...
I copied the uImage now to 0x100000 which is the next sector which showed up by flinfo
Yes, because the upstream u-boot uses redundant environment (aka. sector 0x80000 and 0xc0000 are both env sectors)
Changed the bootcmd to load the 0x100000 value. Booting works. Saveenv works.
All happy (only a small issue about the bogomips - will make a new post)
Kind regards and many thanks Andreas
Best regards, Marek Vasut

Hi Vasily,
Am 11.11.2012 21:58, schrieb Vasily Khoruzhick:
On Sun, Nov 11, 2012 at 10:10 PM, Andreas Puls appu@gmx.net wrote:
Hello everyone,
i have a problem with the latest stable U-Boot 2012.10 and a Toradex Colibri PXA270 V2.4a Board and a upating the kernel.
The problem apears when i erase the hole NOR Flash, copy the uboot and the uImage.
Here are my steps.
- unprotect and erase the hole flash.
- copy the latest u-boot.bin to flash
2.1 usb start 2.2 fatload usb 0:1 0xa0000000 u-boot.bin 2.3 protect off 0x0 0x3ffff 2.4 erase 0x0 0x3ffff 2.5 cp.b 0xa0000000 0x0 $filesize 3 reset to look the u-boot is installed 3.1 see that CRC is bad (normal behavier couse no defaults are written) 3.2 savenv and powercyle 4. all fine 5. copy kernel image to flash 5.1 usb start 5.2 fatload usb 0:1 0xa0000000 uimage-2.6.35.9-toradex-pxa270v22b 5.3 protect off 0xc0000 0x47ffff 5.4 erase 0xc0000 0x47ffff 5.5 cp.b 0xa0000000 0xc0000 $filesize 6. check the uImage 6.1 iminfo 0xC00000 - OK 7. hard reset (power cycle)
[...]
Hi Andreas,
Looks like env overlap kernel, check env address and size in flash
That was my first thought. But now i must say that im not relay family with this deep stuff. I can say that the uboot source files are untouched. Can you give me a hint ?
Regards Vasily
Thanks in advance Andreas

Dear Andreas Puls,
you have much better chance of getting a proper reply if you Cc custodian/maintainer (see MAINTAINERS) file.
Hello everyone,
i have a problem with the latest stable U-Boot 2012.10 and a Toradex Colibri PXA270 V2.4a Board and a upating the kernel.
The problem apears when i erase the hole NOR Flash, copy the uboot and the uImage.
Here are my steps.
- unprotect and erase the hole flash.
- copy the latest u-boot.bin to flash
2.1 usb start 2.2 fatload usb 0:1 0xa0000000 u-boot.bin 2.3 protect off 0x0 0x3ffff
You mean protect off 0 0x40000 ? (0x3ffff makes no sense)
2.4 erase 0x0 0x3ffff 2.5 cp.b 0xa0000000 0x0 $filesize 3 reset to look the u-boot is installed 3.1 see that CRC is bad (normal behavier couse no defaults are written) 3.2 savenv and powercyle 4. all fine 5. copy kernel image to flash 5.1 usb start 5.2 fatload usb 0:1 0xa0000000 uimage-2.6.35.9-toradex-pxa270v22b 5.3 protect off 0xc0000 0x47ffff 5.4 erase 0xc0000 0x47ffff 5.5 cp.b 0xa0000000 0xc0000 $filesize 6. check the uImage 6.1 iminfo 0xC00000 - OK 7. hard reset (power cycle)
Now comes the part that i dosen't understand The U-Boot loader sayes again that the CRC is bad and using default values.
Did you not overwrite the env? The env is at 0x40000 in the flash.
163 #define CONFIG_SYS_MONITOR_BASE 0x0 164 #define CONFIG_SYS_MONITOR_LEN 0x80000 165 166 #define CONFIG_ENV_ADDR \ 167 (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN) 168 #define CONFIG_ENV_SIZE 0x40000 169 #define CONFIG_ENV_SECT_SIZE 0x40000 170 #define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE) 171 #define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE)
I use "saveenv" again and make a powercycle. The CRC error is no more but the u-boot isnt able to boot the uImage. It sayes unkown Image format
Sory for the long description. I search the mailing but didnt found something.
The latest Toradex Bootloader is u-boot 1.3.3 there is the saveenv and Kernel update working. But the USB support isnt working.
Could anybody give me hint or maybe know the solution ?
Kind regards Andreas
Best regards, Marek Vasut

Dear Marek,
Betreff: Re: [U-Boot] U-Boot 2012.10 PXA270 - saveenv / Kernel issue
Dear Andreas Puls,
you have much better chance of getting a proper reply if you Cc custodian/maintainer (see MAINTAINERS) file.
Im sorry, will do it next time. Thnaks you for the hint.
[...]
- unprotect and erase the hole flash.
- copy the latest u-boot.bin to flash
2.1 usb start 2.2 fatload usb 0:1 0xa0000000 u-boot.bin 2.3 protect off 0x0 0x3ffff
You mean protect off 0 0x40000 ? (0x3ffff makes no sense)
When i try to use the 0x40000 address i got the following message: Error: end address not on sector boundary
and flinfo shows all sectors are RO
2.4 erase 0x0 0x3ffff 2.5 cp.b 0xa0000000 0x0 $filesize 3 reset to look the u-boot is installed 3.1 see that CRC is bad (normal behavier couse no defaults are written) 3.2 savenv and powercyle 4. all fine 5. copy kernel image to flash 5.1 usb start 5.2 fatload usb 0:1 0xa0000000 uimage-2.6.35.9-toradex-pxa270v22b 5.3 protect off 0xc0000 0x47ffff 5.4 erase 0xc0000 0x47ffff 5.5 cp.b 0xa0000000 0xc0000 $filesize 6. check the uImage 6.1 iminfo 0xC00000 - OK 7. hard reset (power cycle)
Now comes the part that i dosen't understand The U-Boot loader sayes again that the CRC is bad and using default
values.
Did you not overwrite the env? The env is at 0x40000 in the flash.
Yep i did. That was the problme which Vasily and Rommel are pointed out.
163 #define CONFIG_SYS_MONITOR_BASE 0x0 164 #define CONFIG_SYS_MONITOR_LEN 0x80000 165 166 #define CONFIG_ENV_ADDR \ 167 (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN) 168 #define CONFIG_ENV_SIZE 0x40000 169 #define CONFIG_ENV_SECT_SIZE 0x40000 170 #define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE) 171 #define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE)
Best regards, Marek Vasut
Kind regards Andreas
participants (4)
-
Andreas Puls
-
Marek Vasut
-
Rommel G Custodio
-
Vasily Khoruzhick