• Home
  • Help
  • Search
  • Login
  • Register
Pages: [1]
Author Topic: Wrong kernel version? Boot kernel from USB Stick fails. (GP S+)  (Read 2572 times)
mabe42
Newbie
*

Karma: 0
Posts: 11


View Profile
« on: June 17, 2010, 04:28:18 AM »

Hi there,

I followed more or less the instructions from the thread about booting the Guruplug S+ from SD-Card http://plugcomputer.org/plugforum/index.php?topic=1642.0.
I prepared a 100MB partition (fat) on the stick which holds all the uimage* files which I downloaded from the plugcomputer.org site. The second partition holds an ext3-partition with the rootfs.
Booting from the kernel from nand and the rootfs from the stick works:
Code:
U-Boot 2009.11-rc1-00602-g28a9c08-dirty (Feb 09 2010 - 18:15:21)
Marvell-Plug2L

SoC:   Kirkwood 88F6281_A0
DRAM:  512 MB
NAND:  512 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0, egiga1
88E1121 Initialized on egiga0
88E1121 Initialized on egiga1
Hit any key to stop autoboot:  0
Marvell>> printenv
bootcmd=setenv ethact egiga0; ${x_bootcmd_ethernet}; setenv ethact egiga1; ${x_bootcmd_ethernet}; ${x_bootcmd_usb}; ${x_boot;
bootdelay=3
baudrate=115200
x_bootcmd_ethernet=ping 192.168.2.1
x_bootcmd_usb=usb start
x_bootcmd_kernel=nand read.e 0x6400000 0x100000 0x400000
x_bootargs=console=ttyS0,115200
x_bootargs_root=ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs
ethact=egiga0
ethaddr=00:50:43:01:8A:D2
eth1addr=00:50:43:01:8A:D3
stdin=serial
stdout=serial
stderr=serial

Environment size: 549/131068 bytes
Marvell>> setenv ethact egiga0; ${x_bootcmd_ethernet}; setenv ethact egiga1; ${x_bootcmd_ethernet};                 
No link on egiga0
*** ERROR: `ipaddr' not set
ping failed; host 192.168.2.1 is not alive
*** ERROR: `ipaddr' not set
ping failed; host 192.168.2.1 is not alive
Marvell>> usb start
(Re)start USB...
USB:   Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 4 USB Device(s) found
       scanning bus for storage devices... Device NOT ready
   Request Sense returned 02 3A 00
2 Storage Device(s) found
Marvell>> nand read.e 0x6400000 0x100000 0x400000

NAND read: device 0 offset 0x100000, size 0x400000
 4194304 bytes read: OK
Marvell>> setenv bootargs console=ttyS0,115200 root=0822 rootdelay=10
Marvell>> bootm 0x6400000
## Booting kernel from Legacy Image at 06400000 ...
   Image Name:   Linux-2.6.32-00007-g56678ec
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2789756 Bytes =  2.7 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux...
Linux version 2.6.32-00007-g56678ec (root@msi-linux-build.marvell.com) (gcc version 4.1.2 20070925 (Red Hat 4.1.2-33.fa1)) #0
However, booting both kernel and rootfs from the stick does not work:
Code:
U-Boot 2009.11-rc1-00602-g28a9c08-dirty (Feb 09 2010 - 18:15:21)
Marvell-Plug2L

SoC:   Kirkwood 88F6281_A0
DRAM:  512 MB
NAND:  512 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0, egiga1
88E1121 Initialized on egiga0
88E1121 Initialized on egiga1
Hit any key to stop autoboot:  0
Marvell>> setenv ethact egiga0; ${x_bootcmd_ethernet}; setenv ethact egiga1; ${x_bootcmd_ethernet};
No link on egiga0
*** ERROR: `ipaddr' not set
ping failed; host 192.168.2.1 is not alive
*** ERROR: `ipaddr' not set
ping failed; host 192.168.2.1 is not alive
Marvell>> usb start
(Re)start USB...
USB:   Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 4 USB Device(s) found
       scanning bus for storage devices... Device NOT ready
   Request Sense returned 02 3A 00
2 Storage Device(s) found
Marvell>> setenv bootargs console=ttyS0,115200 root=0822 rootdelay=10
Marvell>> fatload usb 1:1 0x6400000 uimage-guruplug
reading uimage-guruplug
...

2688588 bytes read
Marvell>> bootm 0x6400000
## Booting kernel from Legacy Image at 06400000 ...
   Image Name:   Linux-2.6.33.2-00003-g4b82fc0
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2688524 Bytes =  2.6 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
As you can see, the kernel versions are different. I don't know if this is the problem, but I would like to test it with the same kernel that I have on the plug. Is there a way to copy the kernel from nand to a regular filesystem? I played around a bit and tried to mount mtd* or mtdblock* but I did not succeed.
Any ideas? I would like to keep the current (shipped) u-boot and kernel, simply because I don't want to change several things at a time.

Regards,

Matthias.
« Last Edit: June 17, 2010, 04:31:52 AM by mabe42 » Logged

big_ignoramus
Newbie
*

Karma: 1
Posts: 29


View Profile
« Reply #1 on: June 17, 2010, 07:56:51 AM »

There's a known issue with the factory installed u-boot and having it boot a non-factory installed kernel.

See: http://plugcomputer.org/plugforum/index.php?topic=1722.0

If you follow the instructions there and recompile your kernel, you should be ok.
Logged

mabe42
Newbie
*

Karma: 0
Posts: 11


View Profile
« Reply #2 on: June 17, 2010, 11:56:40 PM »

Thanks for pointing to this thread. I wasn't aware that this does not only apply to custom kernels but also to any other kernel, even the one from this site. So, I will start compiling my own kernel and try it with that or replace u-boot.

BTW, is there a way of making a backup of the factory-installed kernel?

Regards,

Matthias.
Logged

Pages: [1]
Print
Jump to: