[U-Boot-Users] mkimage
KokHow Teh
KokHow.Teh at marconi.com
Tue Jun 28 12:05:32 CEST 2005
Hi;
I am new to mkimage. I have an image with an entry at 0x00100004. I
`mkimage` it with the following details:
[teh at ShrekII tftpboot 75]$ mkimage -l uImage
Image Name: psos
Created: Tue Jun 28 17:53:24 2005
Image Type: PowerPC pSOS Kernel Image (uncompressed)
Data Size: 593268 Bytes = 579.36 kB = 0.57 MB
Load Address: 0x00100000
Entry Point: 0x00100004
[teh at ShrekII tftpboot 76]$
Then I `tftp` it into my target, examine the memory contents.
u-boot> tftp 100000 uImage
Using FCC2 ETHERNET device
TFTP from server 147.128.28.42; our IP address is 147.128.28.44
Filename 'uImage'.
Load address: 0x100000
Loading: #################################################################
###################################################
done
Bytes transferred = 593332 (90db4 hex)
u-boot> md 100000
00100000: 27051956 ba54f4c3 42c11e14 00090d74 '..V.T..B......t
00100010: 00100000 00100004 040da48f 0f070200 ................
00100020: 70736f73 00000000 00000000 00000000 psos............
00100030: 00000000 00000000 00000000 00000000 ................
00100040: 7c631b78 7c631b78 3c400019 3842b234 |c.x|c.x<@..8B.4
00100050: 3da0001a 39ad8d50 7c6000a6 5463045e =...9..P|`..Tc.^
00100070: 3c400019 3842b234 3da0001a 39ad8d50 <@..8B.4=...9..P
00100080: 4e800020 80430000 81a30004 4e800020 N.. .C......N..
00100090: 00100470 7d6802a6 91610004 44000002 ...p}h...a..D...
001000a0: 4e800020 28030000 40820008 48022c3c N.. (... at ...H.,<
001000b0: 7d6324aa 7d635b78 48022c30 38000001 }c$.}c[xH.,08...
001000c0: 4bffffe4 38000002 4bffffdc 60842000 K...8...K...`. .
001000d0: 38000003 48022c14 38000004 48022c0c 8...H.,.8...H.,.
001000e0: 38000005 48022c04 38000006 48022bfc 8...H.,.8...H.+.
001000f0: 38000007 48022bf4 38000008 48022bec 8...H.+.8...H.+.
u-boot> imi
## Checking Image at 00100000 ...
Image Name: psos
Image Type: PowerPC Unknown OS Kernel Image (uncompressed)
Data Size: 593268 Bytes = 579.4 kB
Load Address: 00100000
Entry Point: 00100004
Verifying Checksum ... OK
u-boot>
Content of my original executable image:
hello: file format elf32-powerpc
Disassembly of section .DAE_exp:
Disassembly of section .IAE_exp:
Disassembly of section .RST_exp:
Disassembly of section .text:
00100000 <_START-0x4>:
100000: 7c 63 1b 78 mr r3,r3
00100004 <_START>:
100004: 7c 63 1b 78 mr r3,r3
100008: 3c 40 00 19 lis r2,25
10000c: 38 42 b2 34 addi r2,r2,-19916
100010: 3d a0 00 1a lis r13,26
100014: 39 ad 8d 50 addi r13,r13,-29360
100018: 7c 60 00 a6 mfmsr r3
10001c: 54 63 04 5e rlwinm r3,r3,0,17,15
100020: 7c 60 01 24 mtmsr r3
100024: 48 00 64 3c b 106460 <HdwInit>
<snip>
It crashes when I `bootm 100000`. Here is my question. The original
ELF executable image has the entry point at 0x00100004. After `mkimage` and
having examined the content of the memory, I find out that the content
which were at the original entry point has been shifted to 0x00100040.
Would that be the cause of the crash? I assume that the "-e" option to
mkimage is the entry point of the original executable which is 0x00100004?
Any comment is appreciated.
Regards,
TEH
More information about the U-Boot
mailing list