• Home
  • Help
  • Search
  • Login
  • Register
Pages: [1]
Author Topic: Kernels  (Read 2176 times)
wstupar
Newbie
*

Karma: 0
Posts: 33


View Profile
« on: July 24, 2009, 10:36:55 AM »

I have three uImages for the Sheeva Plug, one boots up OK, the other two load but hang:

1. uImage from installer, 2,595,208 bytes long, works OK.

2. uImage.sheeva.20090319, 2,106,760 bytes long, hangs.

3. uImage compiled according to the SheevaPlug dev kit document "Procedure to Configure and Build the Linux kernel with 4.2.7 LSP". It is 2,033,276 bytes long, hangs.

These are all trying to be booted from a USB memory stick using the same boot environment. What could be wrong with the kernels that hang?

Here is the boot console for kernel 2.

Code:
(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
...

2106760 bytes read
## Booting image at 00800000 ...
   Image Name:   Linux-2.6.22.18
   Created:      2009-03-19   9:18:16 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2106696 Bytes =  2 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.


Wes
Logged

restamp
Global Moderator
Sr. Member
*****

Karma: 4
Posts: 273


View Profile
« Reply #1 on: July 24, 2009, 10:46:57 AM »

You've transferred the modules associated with these "bad" kernels to /lib/modules, right?
Logged

rc3
Newbie
*

Karma: 0
Posts: 36


View Profile
« Reply #2 on: July 24, 2009, 10:47:29 AM »

What's your printenv output before auto boot?
Logged

wstupar
Newbie
*

Karma: 0
Posts: 33


View Profile
« Reply #3 on: July 24, 2009, 07:54:56 PM »

Hi restamp,

OK, I give up. Where do I get the modules that go with the kernel? I copied the /lib/modules from the Installer set into my USB /dev/sda2/lib/modules and tried again. The kernel still hung.

Wes
Logged

restamp
Global Moderator
Sr. Member
*****

Karma: 4
Posts: 273


View Profile
« Reply #4 on: July 24, 2009, 09:02:28 PM »

It appears the first image -- the one that boots -- is likely from the alpha-6 load.  I suspect you loaded alpha-6 at some point, right?  If so, the root filesystem is also probably from the alpha-6 load as well, and thus compatible with the first kernel.

Where are the other two kernels from?

There are some changes to the root FS necessary that are necessary for another build of the kernel to work, although I don't know if it would hang the kernel not to have them present.  There are also certain Uboot variables that need to be tweaked to accomodate certain kernels.

It's impossible to say what the root cause is from the information we have in this thread.  I think rc3 probably has the best approach:  Break out of the Uboot into the Marvell>> prompt and enter "printenv".  Then post the results here, along with the lineage of the two kernels that hang.
Logged

wstupar
Newbie
*

Karma: 0
Posts: 33


View Profile
« Reply #5 on: July 25, 2009, 01:13:58 PM »

Here are the boot environs:

Marvell>> printenv
baudrate=115200
loads_echo=0
ipaddr=10.4.50.165
serverip=10.4.50.5
rootpath=/mnt/ARM_FS/
netmask=255.255.255.0
console=console=ttyS0,115200 mtdparts=nand_mtd:0xc0000@0(uboot)ro,0x1ff00000@0x100000(root)
CASset=min
MALLOC_len=1
ethprime=egiga0
bootargs_end=:::DB88FXX81:eth0:none
image_name=uImage
standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000;
ethmtu=1500
mvPhoneConfig=mv_phone_config=dev0:fxs,dev1:fxs
mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500
usb0Mode=host
yuk_ethaddr=00:00:00:EE:51:81
nandEcc=1bit
netretry=no
rcvrip=169.254.100.100
loadaddr=0x02000000
autoload=no
ethact=egiga0
bootargs_root=ubi.mtd=1 root=ubi0:rootfs rootfstype=ubifs
mtdpartitions=mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs)
ethaddr=00:62:81:a0:00:00
real_bootcmd=setenv bootargs $(bootargs_console) $(mtdpartitions) $(bootargs_root); nand read.e 0x00800000 0x00100000 0x00400000; bootm 0x00800000
bootargs_console=console=ttyS0,115200
recover1=setenv mainlineLinux yes; setenv arcNumber 2097; setenv bootcmd run recover2; saveenv; reset
recover2=run recover3; setenv bootcmd $(real_bootcmd); saveenv; setenv bootargs $(bootargs_console) $(mtdpartitions); bootm 0x00800000 0x01100000
recover3=run recover4; nand erase clean 0x00100000 0x00400000; nand write.e 0x00800000 0x00100000 0x00400000
recover4=usb start; fatload usb 0 0x00800000 uImage; fatload usb 0 0x01100000 initrd
arcNumber=2097
bootargs=console=ttyS0,115200 mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) ubi.mtd=1 root=ubi0:rootfs rootfstype=ubifs
bootargs_usb=console=ttyS0,115200 root=/dev/sda2 rootdelay=20 mtdparts=nand_mtd:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw
bootcmd_nand=setenv bootargs $(bootargs_nand); nand read.e 0x800000 0x100000 0x400000; bootm 0x800000
bootcmd_usb=setenv bootargs $(bootargs_usb); usb start; fatload usb 0:1 0x800000 uImage; bootm 0x800000; reset
bootargs_nand=console=ttyS0,115200 mtdparts=nand_flash:0x400000@0x100000(uImage) ro,0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock2 rootfstype=jffs2
bootcmd=run bootcmd_usb
stdin=serial
stdout=serial
stderr=serial
mainlineLinux=yes
enaMonExt=no
enaCpuStream=no
enaWrAllo=no
pexMode=RC
disL2Cache=no
setL2CacheWT=yes
disL2Prefetch=yes
enaICPref=yes
enaDCPref=yes
sata_dma_mode=yes
netbsd_en=no
vxworks_en=no
bootdelay=3
disaMvPnp=no
enaAutoRecovery=yes

Environment size: 2492/131068 bytes

Here is uImage #2:
         __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
 _   _     ____              _
| | | |   | __ )  ___   ___ | |_
| | | |___|  _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
 \___/    |____/ \___/ \___/ \__|
 ** MARVELL BOARD: SHEEVA PLUG LE

U-Boot 1.1.4 (May 13 2009 - 13:10:52) Marvell version: 3.4.16

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CF100

Soc: 88F6281 A0 (DDR2)
CPU running @ 1200Mhz L2 running @ 400Mhz
SysClock = 400Mhz , TClock = 200Mhz

DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
DRAM CS[0] base 0x00000000   size 256MB
DRAM CS[1] base 0x10000000   size 256MB
DRAM Total size 512MB  16bit width
Flash:  0 kB
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:512 MB

CPU : Marvell Feroceon (Rev 1)

Streaming disabled
Write allocate disabled


USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0
(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
...

2106760 bytes read
## Booting image at 00800000 ...
   Image Name:   Linux-2.6.22.18
   Created:      2009-03-19   9:18:16 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2106696 Bytes =  2 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

And here is from kernel #3:

         __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
 _   _     ____              _
| | | |   | __ )  ___   ___ | |_
| | | |___|  _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
 \___/    |____/ \___/ \___/ \__|
 ** MARVELL BOARD: SHEEVA PLUG LE

U-Boot 1.1.4 (May 13 2009 - 13:10:52) Marvell version: 3.4.16

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CF100

Soc: 88F6281 A0 (DDR2)
CPU running @ 1200Mhz L2 running @ 400Mhz
SysClock = 400Mhz , TClock = 200Mhz

DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
DRAM CS[0] base 0x00000000   size 256MB
DRAM CS[1] base 0x10000000   size 256MB
DRAM Total size 512MB  16bit width
Flash:  0 kB
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:512 MB

CPU : Marvell Feroceon (Rev 1)

Streaming disabled
Write allocate disabled


USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0
(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
...

2033340 bytes read
## Booting image at 00800000 ...
   Image Name:   Linux-2.6.22.18
   Created:      2009-07-23  20:49:05 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2033276 Bytes =  1.9 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

Wes
Logged

restamp
Global Moderator
Sr. Member
*****

Karma: 4
Posts: 273


View Profile
« Reply #6 on: July 25, 2009, 08:27:26 PM »

It looks like the environment is basically from the alpha-6 load, with some additional modifications and additions thrown in afterwards.

You still haven't told us where the unbootable kernels come from, but I'm guessing #2 is one of the original kernels from Mavell.  It may be necessary to set some different parameters for those, and I don't know what effect specifying arcNumber and mailineLinux will have on it.

FWIW, I've had good luck with the 2.6.30* kernels with the alpha-6 load's Uboot parameters.  If you deviate much from that, I'm afraid I'm not going to be of much help.
Logged

wstupar
Newbie
*

Karma: 0
Posts: 33


View Profile
« Reply #7 on: July 26, 2009, 08:53:13 AM »

So I go to ftp.kernel.org and get linux-2.6.30.3.tar.bz2 and linux-2.6.30.3.tar.bz2.sign. Do I expand this and rename the directory to linux-feroceon_4_2_7_KW? Can I then apply the Marvell LSP patch (linux-feroceon_4_2_7_KW.zip? And the big endian patch (0001_gw_BE-fix.patch)? What other patches are necessary to compile a kernel for the Sheeva Plug?
Logged

Pages: [1]
Print
Jump to: