xref: /openbmc/u-boot/doc/README.sha1 (revision 87a62bce)
1SHA1 usage:
2-----------
3
4In the U-Boot Image for the pcs440ep board is a SHA1 checksum integrated.
5This SHA1 sum is used, to check, if the U-Boot Image in Flash is not
6corrupted.
7
8The following command is available:
9
10=> help sha1
11sha1 address len [addr]  calculate the SHA1 sum [save at addr]
12     -p calculate the SHA1 sum from the U-Boot image in flash and print
13     -c check the U-Boot image in flash
14
15"sha1 -p"
16	calculates and prints the SHA1 sum, from the Image stored in Flash
17
18"sha1 -c"
19	check, if the SHA1 sum from the Image stored in Flash is correct
20
21
22It is possible to calculate a SHA1 checksum from a memoryrange with:
23
24"sha1 address len"
25
26If you want to store a new Image in Flash for the pcs440ep board,
27which has no SHA1 sum, you can do the following:
28
29a) cp the new Image on a position in RAM (here 0x300000)
30   (for this example we use the Image from Flash, stored at 0xfffa0000 and
31    0x60000 Bytes long)
32
33"cp.b fffa0000 300000 60000"
34
35b) Initialize the SHA1 sum in the Image with 0x00
36   The SHA1 sum is stored in Flash at:
37			   CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN + SHA1_SUM_POS
38   for the pcs440ep Flash:	 0xfffa0000 +	      0x60000 +        -0x20
39			    = 0xffffffe0
40   for the example in RAM:	   0x300000 +	      0x60000 +        -0x20
41			    = 0x35ffe0
42
43   note: a SHA1 checksum is 20 bytes long.
44
45"mw.b 35ffe0 0 14"
46
47c) now calculate the SHA1 sum from the memoryrange and write
48   the calculated checksum at the right place:
49
50"sha1 300000 60000 35ffe0"
51
52Now you have a U-Boot-Image for the pcs440ep board with the correct SHA1 sum.
53
54If you do a "buildman -k pcs440ep" or a "make all" to get the U-Boot image,
55which will be found in ../current/ipam390/ - the correct SHA1 sum will be
56automagically included in the U-Boot image.
57
58Heiko Schocher, 11 Jul 2007
59