public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] boot linux from memory
@ 2006-01-25  1:08 Xuezhang Dong
  2006-01-25 10:19 ` Andreas Schweigstill
  0 siblings, 1 reply; 3+ messages in thread
From: Xuezhang Dong @ 2006-01-25  1:08 UTC (permalink / raw)
  To: u-boot

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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot-Users] boot linux from memory
  2006-01-25  1:08 [U-Boot-Users] boot linux from memory Xuezhang Dong
@ 2006-01-25 10:19 ` Andreas Schweigstill
  0 siblings, 0 replies; 3+ messages in thread
From: Andreas Schweigstill @ 2006-01-25 10:19 UTC (permalink / raw)
  To: u-boot

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


-- 
Dipl.-Phys. Andreas Schweigstill
Schweigstill IT | Embedded Systems
Schauenburgerstra?e 116, D-24118 Kiel, Germany
Phone: (+49) 431 5606-435, Fax: (+49) 431 5606-436
Mobile: (+49) 171 6921973, Web: http://www.schweigstill.de/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot-Users] boot linux from memory
@ 2006-01-25 18:15 Xuezhang Dong
  0 siblings, 0 replies; 3+ messages in thread
From: Xuezhang Dong @ 2006-01-25 18:15 UTC (permalink / raw)
  To: u-boot

Later on, I moved the image to NOR Flash, and it is OK to boot the image now. 

But I still confused by the compression.
>    Image Type:   ARM Linux Kernel Image (uncompressed)
Does this means the kernel is uncompressed?

Also, in case I want to load an image to memory and run directly, I must use the XIP kernel build in Linux?
I can understand that bootm will recognize the uImage format and load the content to another memory by strip off the header, but in case I want to run it directly, what happened to the 40 bytes header in the uImage format? Is this XIP related again?

Sorry for so many questions, I think I misunderstanding something about booting sequence, thanks in advance for any help.

Regards.
Xuezhang.

-----Original Message-----
From: u-boot-users-admin@lists.sourceforge.net [mailto:u-boot-users-admin at lists.sourceforge.net] On Behalf Of Andreas Schweigstill
Sent: Wednesday, January 25, 2006 2:19 AM
To: u-boot-users at lists.sourceforge.net
Subject: Re: [U-Boot-Users] boot linux from memory

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


--
Dipl.-Phys. Andreas Schweigstill
Schweigstill IT | Embedded Systems
Schauenburgerstra?e 116, D-24118 Kiel, Germany
Phone: (+49) 431 5606-435, Fax: (+49) 431 5606-436
Mobile: (+49) 171 6921973, Web: http://www.schweigstill.de/


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-01-25 18:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-01-25  1:08 [U-Boot-Users] boot linux from memory Xuezhang Dong
2006-01-25 10:19 ` Andreas Schweigstill
  -- strict thread matches above, loose matches on Subject: below --
2006-01-25 18:15 Xuezhang Dong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox