196e1d75bSHeiko SchocherSHA1 usage: 296e1d75bSHeiko Schocher----------- 396e1d75bSHeiko Schocher 496e1d75bSHeiko SchocherIn the U-Boot Image for the pcs440ep board is a SHA1 checksum integrated. 596e1d75bSHeiko SchocherThis SHA1 sum is used, to check, if the U-Boot Image in Flash is not 696e1d75bSHeiko Schochercorrupted. 796e1d75bSHeiko Schocher 896e1d75bSHeiko SchocherThe following command is available: 996e1d75bSHeiko Schocher 1096e1d75bSHeiko Schocher=> help sha1 1196e1d75bSHeiko Schochersha1 address len [addr] calculate the SHA1 sum [save at addr] 1296e1d75bSHeiko Schocher -p calculate the SHA1 sum from the U-Boot image in flash and print 1396e1d75bSHeiko Schocher -c check the U-Boot image in flash 1496e1d75bSHeiko Schocher 1596e1d75bSHeiko Schocher"sha1 -p" 1696e1d75bSHeiko Schocher calculates and prints the SHA1 sum, from the Image stored in Flash 1796e1d75bSHeiko Schocher 1896e1d75bSHeiko Schocher"sha1 -c" 1996e1d75bSHeiko Schocher check, if the SHA1 sum from the Image stored in Flash is correct 2096e1d75bSHeiko Schocher 2196e1d75bSHeiko Schocher 2296e1d75bSHeiko SchocherIt is possible to calculate a SHA1 checksum from a memoryrange with: 2396e1d75bSHeiko Schocher 2496e1d75bSHeiko Schocher"sha1 address len" 2596e1d75bSHeiko Schocher 2696e1d75bSHeiko SchocherIf you want to store a new Image in Flash for the pcs440ep board, 2796e1d75bSHeiko Schocherwhich has no SHA1 sum, you can do the following: 2896e1d75bSHeiko Schocher 2996e1d75bSHeiko Schochera) cp the new Image on a position in RAM (here 0x300000) 3096e1d75bSHeiko Schocher (for this example we use the Image from Flash, stored at 0xfffa0000 and 3196e1d75bSHeiko Schocher 0x60000 Bytes long) 3296e1d75bSHeiko Schocher 3396e1d75bSHeiko Schocher"cp.b fffa0000 300000 60000" 3496e1d75bSHeiko Schocher 3596e1d75bSHeiko Schocherb) Initialize the SHA1 sum in the Image with 0x00 3696e1d75bSHeiko Schocher The SHA1 sum is stored in Flash at: 376d0f6bcfSJean-Christophe PLAGNIOL-VILLARD CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN + SHA1_SUM_POS 3896e1d75bSHeiko Schocher for the pcs440ep Flash: 0xfffa0000 + 0x60000 + -0x20 3996e1d75bSHeiko Schocher = 0xffffffe0 4096e1d75bSHeiko Schocher for the example in RAM: 0x300000 + 0x60000 + -0x20 4196e1d75bSHeiko Schocher = 0x35ffe0 4296e1d75bSHeiko Schocher 4396e1d75bSHeiko Schocher note: a SHA1 checksum is 20 bytes long. 4496e1d75bSHeiko Schocher 4596e1d75bSHeiko Schocher"mw.b 35ffe0 0 14" 4696e1d75bSHeiko Schocher 4796e1d75bSHeiko Schocherc) now calculate the SHA1 sum from the memoryrange and write 4896e1d75bSHeiko Schocher the calculated checksum at the right place: 4996e1d75bSHeiko Schocher 5096e1d75bSHeiko Schocher"sha1 300000 60000 35ffe0" 5196e1d75bSHeiko Schocher 5296e1d75bSHeiko SchocherNow you have a U-Boot-Image for the pcs440ep board with the correct SHA1 sum. 5396e1d75bSHeiko Schocher 54*6de80f21SSimon GlassIf you do a "buildman -k pcs440ep" or a "make all" to get the U-Boot image, 55*6de80f21SSimon Glasswhich will be found in ../current/ipam390/ - the correct SHA1 sum will be 56*6de80f21SSimon Glassautomagically included in the U-Boot image. 5796e1d75bSHeiko Schocher 5896e1d75bSHeiko SchocherHeiko Schocher, 11 Jul 2007 59