Welcome,
Guest
. Please
login
or
register
.
May 20, 2013, 11:40:32 PM
The Plug Computer Forum
|
Linux Stuff
|
General Linux questions
|
uImage won't start
Pages: [
1
]
« previous
next »
Print
Author
Topic: uImage won't start (Read 1865 times)
wstupar
Newbie
Karma: 0
Posts: 33
uImage won't start
«
on:
July 16, 2009, 12:31:23 PM »
I am compiling the kernel distributed by Marvell and trying to load it onto the Sheeva Plug from a USB memory stick. The plug is loading the kernel, but it goes into never-never land. Can you suggest a possible problem location?
Here is the tail of "make uImage":
Image Name: Linux-2.6.22.18
Created: Thu Jul 16 10:35:40 2009
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2106700 Bytes = 2057.32 kB = 2.01 MB
Load Address: 0x00008000
Entry Point: 0x00008000
Image arch/arm/boot/uImage is ready
Here is how it hangs:
(Re)start USB...
USB: scanning bus for devices... 2 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
reading uImage
...
2106764 bytes read
## Booting image at 08000000 ...
Image Name: Linux-2.6.22.18
Created: 2009-07-16 17:35:40 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2106700 Bytes = 2 MB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Here is the boot environment:
Marvell>> echo $(bootcmd)
run bootcmd_usb; run bootcmd_nand
Marvell>> echo $(bootcmd_usb)
setenv bootargs $(bootargs_usb); usb start; fatload usb 0:1 0x0008000 uImage; bootm 0x8000000; reset
Marvell>> echo $(bootargs_usb)
console=ttyS0,115200 root=/dev/sda2 rootdelay=20 mtdparts=nand_mtd:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw
Logged
Rabeeh Khoury
Administrator
Full Member
Karma: 5
Posts: 218
Re: uImage won't start
«
Reply #1 on:
July 17, 2009, 12:12:03 PM »
you are loading the kernel into one address, and bootm into different ?
Code:
fatload usb 0:1 0x0008000 uImage; bootm 0x8000000;
I suggest to load into 0x00800000 (address 8MB) and then bootm from the same address.
Logged
wstupar
Newbie
Karma: 0
Posts: 33
Re: uImage won't start
«
Reply #2 on:
July 18, 2009, 09:36:55 AM »
OK, we have to load and start at the same address. I think the kernel was built to load at 0x8000, so I changed the bootcmd as follows:
Marvell>> setenv bootcmd_usb 'setenv bootargs $(bootargs_usb); usb start; fatload usb 0:1 0x8000 uImage; bootm 0x8000; reset'
Marvell>> saveenv
Now I get the following--it appears that the uImage is bad at location 0x800c:
(Re)start USB...
USB: scanning bus for devices... 2 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
reading uImage
...
2106764 bytes read
## Booting image at 00008000 ...
Image Name: Linux-2.6.22.18
Created: 2009-07-16 17:35:40 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2106700 Bytes = 2 MB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
XIP Kernel Image ... OK
Starting kernel ...
undefined instruction
pc : [<0000800c>] lr : [<006453f8>]
sp : 005fe514 ip : 00000004 fp : 00000002
r10: 006540b0 r9 : 005ff1f0 r8 : 005fffcc
r7 : 00000000 r6 : 00000000 r5 : 00000154 r4 : 00000000
r3 : 00008000 r2 : 00000100 r1 : 00000831 r0 : 00000000
Flags: Nzcv IRQs off FIQs off Mode SVC_32
Resetting CPU ...
Logged
ianjb
Jr. Member
Karma: 0
Posts: 65
Re: uImage won't start
«
Reply #3 on:
July 18, 2009, 12:17:08 PM »
As Rabeeh said, you need to be at 0x00800000 (address 8MB) and then bootm from that same address.
Logged
wstupar
Newbie
Karma: 0
Posts: 33
Re: uImage won't start
«
Reply #4 on:
July 18, 2009, 04:04:11 PM »
I did try 0x800000 for load address and entry point, but the kernel still did not start. When I build uImage it says this:
Image Name: Linux-2.6.22.18
Created: Sat Jul 18 16:02:57 2009
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2106700 Bytes = 2057.32 kB = 2.01 MB
Load Address: 0x00008000
Entry Point: 0x00008000
Image arch/arm/boot/uImage is ready
I think it is saying that the image was built for loading at 0x8000 and entry point of 0x8000. Is this not correct? Should I modify the make to build for 0x800000?
Logged
wstupar
Newbie
Karma: 0
Posts: 33
Re: uImage won't start
«
Reply #5 on:
July 23, 2009, 06:06:24 PM »
I am now able to boot uImage as distributed. The load and start address of 0x800000 is OK. The distributed uImage is 2595208 bytes long. When I compile the uImage per SheevaPlug dev kit document "Procedure to Configure and Build the Linux kernel with 4.2.7 LSP", I get a uImage that is 2033276 bytes long. It hangs.
Wes
Logged
Pages: [
1
]
Print
« previous
next »
Jump to:
Please select a destination:
-----------------------------
General Category
-----------------------------
=> General Discussion
=> Application ideas and development Q/A
=> Success stories
=> Marvell PlugIN - Free Your Imagination
-----------------------------
Hardware and U-Boot firmware
-----------------------------
=> Hardware
=> U-Boot stuff
-----------------------------
Linux Stuff
-----------------------------
=> Android for SheevaPlug is Available!
=> General Linux questions
=> Kernel
=> Linux distributions
Loading...