mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-27 20:38:52 +09:00
58 lines
1.7 KiB
Plaintext
58 lines
1.7 KiB
Plaintext
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
|