aboutsummaryrefslogtreecommitdiffstats
path: root/doc/README.sha1
blob: f6cca40d50663f86ea91067982c16e26def2aa3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
SHA1 usage:
-----------

In the U-Boot Image for the pcs440ep board is a SHA1 checksum integrated.
This SHA1 sum is used, to check, if the U-Boot Image in Flash is not
corrupted.

The following command is available:

=> help sha1
sha1 address len [addr]  calculate the SHA1 sum [save at addr]
     -p calculate the SHA1 sum from the U-Boot image in flash and print
     -c check the U-Boot image in flash

"sha1 -p"
	calculates and prints the SHA1 sum, from the Image stored in Flash

"sha1 -c"
	check, if the SHA1 sum from the Image stored in Flash is correct


It is possible to calculate a SHA1 checksum from a memoryrange with:

"sha1 address len"

If you want to store a new Image in Flash for the pcs440ep board,
which has no SHA1 sum, you can do the following:

a) cp the new Image on a position in RAM (here 0x300000)
   (for this example we use the Image from Flash, stored at 0xfffa0000 and
    0x60000 Bytes long)

"cp.b fffa0000 300000 60000"

b) Initialize the SHA1 sum in the Image with 0x00
   The SHA1 sum is stored in Flash at:
			   CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN + SHA1_SUM_POS
   for the pcs440ep Flash:	 0xfffa0000 +	      0x60000 +        -0x20
			    = 0xffffffe0
   for the example in RAM:	   0x300000 +	      0x60000 +        -0x20
			    = 0x35ffe0

   note: a SHA1 checksum is 20 bytes long.

"mw.b 35ffe0 0 14"

c) now calculate the SHA1 sum from the memoryrange and write
   the calculated checksum at the right place:

"sha1 300000 60000 35ffe0"

Now you have a U-Boot-Image for the pcs440ep board with the correct SHA1 sum.

If you do a "./MAKEALL pcs440ep" or a "make all" to get the U-Boot image,
the correct SHA1 sum will be automagically included in the U-Boot image.

Heiko Schocher, 11 Jul 2007