From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dale Dunlea Date: Mon, 30 May 2005 11:20:50 +0100 Subject: [U-Boot-Users] iminfo - Bad Header Checksum In-Reply-To: <20050530080419.C251BC1512@atlas.denx.de> References: <20050530080419.C251BC1512@atlas.denx.de> Message-ID: <429AE902.2000209@commergy.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de >Please don't describe what you did, but instead post the EXACT >commands you used. > > > Once more with feeling then: In the following, test.img is the uImage of the Linux kernel as created by "make uImage" U-Boot 1.0.1(eval-20040206-0-pre4) (Jun 18 2004 - 20:17:00) Motorola PowerPC ProcessorID=00000000 Rev. PVR=80200020 Board: Motorola MPC8540ADS Board CPU: 660 MHz CCB: 264 MHz DDR: 132 MHz LBC: 66 MHz L1 D-cache 32KB, L1 I-cache 32KB enabled. I2C: ready DRAM: DDR module detected, total size:256MB. 256 MB FLASH: 8 MB L2 cache enabled: 256KB In: serial Out: serial Err: serial Net: MOTO ETHERNET Hit any key to stop autoboot: 3 Metrowerks=> setenv serverip 10.82.190.3 Metrowerks=> tftpboot 0 test.img Enet starting in Full Duplex Enet starting in 1000BT TFTP from server 10.82.190.3; our IP address is 10.82.190.238 Filename 'test.img'. Load address: 0x0 Loading: *packetHandler changed. ################################################################# ################################################################# done Bytes transferred = 662475 (a1bcb hex) // Image has been transferred over TFTP. Metrowerks=> imi ## Checking Image at 00000000 ... Bad Header Checksum // Image passes magic number, but fails header checksum Metrowerks=> md 0 00000000: 27051956 32cf8de9 429679c4 000a1b8b '..V2...B.y..... 00000010: 00000000 00000000 fbc58b91 05070201 ................ 00000020: 4c696e75 782d322e 342e3235 00000000 Linux-2.4.25.... 00000030: 00000000 00000000 00000000 00000000 ................ 00000040: 1f8b0808 c4799642 0203766d 6c696e75 .....y.B..vmlinu 00000050: 7800e45a 7b705455 9aff6e3f 4847b2da x..Z{pTU..n?HG.. 00000060: 03371848 0889526e 82198c2b d4deee0e .7.H..Rn...+.... 00000070: cd0d32b5 8d61a65a 2aa133cc ba760cd6 ..2..a.Z*.3..v.. 00000080: 90c1a965 30ccded1 db7d6f27 714a843f ...e0....}o'qJ.? 00000090: 3ae96417 356ae3a3 4b468b8d 33503ef0 :.d.5j..KF..3P>. 000000a0: 7179e8ca e254b53a e06311c3 80250833 qy...T.:.c...%.3 000000b0: 1305c6f0 cadddf77 bb034978 84dd2a2d .......w..Ix..*- 000000c0: 7793aad4 bde73be7 7ce77bfc bec7b949 w.....;.|.{....I 000000d0: 9888c2d9 5f552b54 d4c7af57 d4d76e54 ...._U+T...W..nT 000000e0: d4bdb728 ea699fe2 033d40a5 0d2a510a ...(.i...=@..*Q. 000000f0: 6b2ad542 7baa8a0c ac2fe953 a7d8530b k*.B{..../.S..S. // Magic number 27051956 can be seen, and checksum of 32cf8de9 is located at offset 4 Metrowerks=> mw 4 0 Metrowerks=> crc32 0 40 CRC32 for 00000000 ... 0000003f ==> 32cf8de9 // Checksum returned by above command matches the checksum that had been stored. Metrowerks=> cp ff800000 0 100000 // Copy pre-existing kernel image from flash Metrowerks=> imi 0 ## Checking Image at 00000000 ... Image Name: Linux-2.4.25-mpc8540eval-20040322 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 921746 Bytes = 900.1 kB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK // This image verifies ok - examine header structure Metrowerks=> md 0 00000000: 27051956 2ae32b83 40d31f5f 000e1092 '..V*.+. at .._.... 00000010: 00000000 00000000 4f26d374 05070201 ........O&.t.... 00000020: 4c696e75 782d322e 342e3235 2d6d7063 Linux-2.4.25-mpc 00000030: 38353430 6576616c 2d323030 34303332 8540eval-2004032 00000040: 32000000 00000000 00000000 1f8b0808 2............... 00000050: 5e1fd340 0203766d 6c696e75 7800d45a ^.. at ..vmlinux..Z 00000060: 7b741455 9affaad3 0d792995 a2814042 {t.U.....y)... at B 00000070: a8c48809 844ca361 a8ee8450 019c2948 .....L.a...P..)H 00000080: 764e1313 8880330d 09ca233b 1b21ccd6 vN....3...#;.!.. 00000090: e0edaaea a49c05e4 9ced24cd 1c0ea006 ..........$..... 000000a0: 85121975 5189c328 380dcb22 cacc1e60 ...uQ..(8.."...` 000000b0: 80519ce3 468505c4 3d071086 4c107bbf .Q..F...=...L.{. 000000c0: af3b0d51 303acf03 7fdcf3fb eefb77bf .;.Q0:........w. 000000d0: d7bdd589 0f00989e a1b2a7ee 52d9aed1 ............R... 000000e0: 2afbc37d 2abb52ac 1663bb02 e060fb6d *..}*.R..c...`.m 000000f0: 16eb04ab eac4ff7c c1ce255b 55a78c2c .......|..%[U.., Metrowerks=> mw 4 0 Metrowerks=> crc32 0 40 CRC32 for 00000000 ... 0000003f ==> e28791ee // Recalculated CRC doesn't match old working CRC Metrowerks=> mw 4 e28791ee Metrowerks=> md 0 00000000: 27051956 e28791ee 40d31f5f 000e1092 '..V.... at .._.... 00000010: 00000000 00000000 4f26d374 05070201 ........O&.t.... 00000020: 4c696e75 782d322e 342e3235 2d6d7063 Linux-2.4.25-mpc 00000030: 38353430 6576616c 2d323030 34303332 8540eval-2004032 00000040: 32000000 00000000 00000000 1f8b0808 2............... 00000050: 5e1fd340 0203766d 6c696e75 7800d45a ^.. at ..vmlinux..Z 00000060: 7b741455 9affaad3 0d792995 a2814042 {t.U.....y)... at B 00000070: a8c48809 844ca361 a8ee8450 019c2948 .....L.a...P..)H 00000080: 764e1313 8880330d 09ca233b 1b21ccd6 vN....3...#;.!.. 00000090: e0edaaea a49c05e4 9ced24cd 1c0ea006 ..........$..... 000000a0: 85121975 5189c328 380dcb22 cacc1e60 ...uQ..(8.."...` 000000b0: 80519ce3 468505c4 3d071086 4c107bbf .Q..F...=...L.{. 000000c0: af3b0d51 303acf03 7fdcf3fb eefb77bf .;.Q0:........w. 000000d0: d7bdd589 0f00989e a1b2a7ee 52d9aed1 ............R... 000000e0: 2afbc37d 2abb52ac 1663bb02 e060fb6d *..}*.R..c...`.m 000000f0: 16eb04ab eac4ff7c c1ce255b 55a78c2c .......|..%[U.., Metrowerks=> imi ## Checking Image at 00000000 ... Bad Header Checksum // Recalculated checksum differs I hope this clarifies matters. Regards, Dale Dunlea