[U-Boot-Users] boot linux from memory

I have u-boot work with memory only (my flash driver doesnot work yet), so I try to load linux to memory and give a try, but I find uImage have 40 bytes header, how I can boot linux by using u-boot command-line? Do I misunderstand something here?
Following is what I did: ================================================== BRCM5001 # loadb 06008000 BRCM5001 # md 06008000 06008000: 27051956 39440bb6 43d6c107 000a01a8 '..V9D..C....... 06008010: 06008000 06008000 73966e28 05020200 ........s.n(.... 06008020: 4c696e75 782d322e 362e3135 00000000 Linux-2.6.15.... 06008030: 00000000 00000000 00000000 00000000 ................ 06008040: e1a00000 e1a00000 e1a00000 e1a00000 ................ 06008050: e1a00000 e1a00000 e1a00000 e1a00000 ................ 06008060: ea000002 016f2818 00000000 000a01a8 .....o(......... 06008070: e1a07001 e3a08000 e10f2000 e3120003 ..p....... ..... 06008080: 1a000001 e3a00017 ef123456 e10f2000 ..........4V.. . 06008090: e38220c0 e121f002 ee110f10 e3800080 .. ..!.......... 060080a0: ee010f10 00000000 00000000 00000000 ................ 060080b0: 00000000 00000000 00000000 00000000 ................ 060080c0: e28f00c8 e890307e e0500001 0a00000a ......0~.P...... 060080d0: e0855000 e0866000 e08cc000 e0822000 ..P...`....... . 060080e0: e0833000 e08dd000 e5961000 e0811000 ..0............. 060080f0: e4861004 e156000c 3afffffa e3a00000 .....V..:....... ================================================== If I try to boot from 06008000, I got following: BRCM5001 # bootm 06008000 ## Booting image at 06008000 ... Image Name: Linux-2.6.15 Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 655784 Bytes = 640.4 kB
Load Address: 06008000 Entry Point: 06008000 Verifying Checksum ... OK XIP Kernel Image ... OK
Starting kernel ...
undefined instruction pc : [<06008004>] lr : [<06f8c324>]
sp : 06f3fb58 ip : 00000001 fp : 00000002
r10: 00000002 r9 : 06f3fcf4 r8 : 06f3ffdc
r7 : 06f9082c r6 : 06f8d744 r5 : 06f9082c r4 : 00000000
r3 : 06008000 r2 : 00000100 r1 : 000001c4 r0 : 00000000
Flags: nZCv IRQs off FIQs off Mode SVC_32as for 'help'
auto Resetting CPU ... ================================================== If I try to jump the header, I got following: BRCM5001 # go 06008040 ## Starting application at 0x06008040 ... Uncompressing Linux............................................. done, booting t he kernel.
Thanks for any advice.
Regards. Xuezhang.

Dear Xuezhang Dong!
Xuezhang Dong schrieb:
If I try to boot from 06008000, I got following: BRCM5001 # bootm 06008000 ## Booting image at 06008000 ... Image Name: Linux-2.6.15 Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 655784 Bytes = 640.4 kB
Load Address: 06008000 Entry Point: 06008000 Verifying Checksum ... OK XIP Kernel Image ... OK
The compressed image and the Linux kernel to be executed may not overlap. In your configuration both will be at address 0x06008000. After decompression memory can be reused, so usually the compressed image would be loaded to something like 0x06200000 or 0x06800000.
With best regards Andreas Schweiigstill
participants (2)
-
Andreas Schweigstill
-
Xuezhang Dong