New IT forum Follow us on Twitter
21 May 2012, 04:05:11 pm *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: EFIKA MX now in stock!
 
   Home   SHOP Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Boot from SD Card - Kernel hangs up  (Read 2236 times)
technolust
Newbie
*
Posts: 8


« on: 16 December 2009, 07:25:48 pm »

Hi everybody,

i received last week my new sheevaplug.
I want to install Debian on a SD Card and boot the sheevaplug from the SD Card.
I used the instructions on this page: http://www.cyrius.com/debian/kirkwood/sheevaplug/unpack.html

I have a 1 GB SD Card with that layout:

Disk mmcblk0: 1023 MB, 1023934464 bytes
32 heads, 63 sectors/track, 992 cylinders
Units = cylinders of 2016 * 512 = 1032192 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
mmcblk0p1   *           1         100      100768+  83  Linux
mmcblk0p2             101         700      604800   83  Linux
mmcblk0p3             701         992      294336   82  Linux swap / Solaris


When I boot from SD Card, this is the output:

Marvell>> run bootcmd
Error! cmd : 8, err : 0201
SD found. Card desciption is:
Manufacturer: 0x1c, OEM "SV"
Product name: "SDC ", revision 1.0
Serial number: 2164265954
Manufacturing date: 6/2005
CRC: 0x00, b0 = 0

4480111 bytes read

1820384 bytes read
## Booting image at 00400000 ...
Image Name: Debian kernel
Created: 2009-11-23 17:25:02 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1820320 Bytes = 1.7 MB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
OK
## Loading Ramdisk Image at 00800000 ...
Image Name: Debian ramdisk
Created: 2009-11-23 17:25:04 UTC
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 4480047 Bytes = 4.3 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.


Then the Sheevaplug hangs up, no further Output....

Here the environment variables:

Marvell>> printenv
baudrate=115200
loads_echo=0
rootpath=/mnt/ARM_FS/
netmask=255.255.0.0
console=a0000
e=ttyS0,115200
CASset=min
MALLOC_len=1
ethprime=egiga0
ethmtu=1500
usb0Mode=host
nandEcc=1bit
ethact=egiga0
serverip=10.10.0.2
ipaddr=10.10.0.1
cesvcid=ULULULULULULPPULULULULULDA
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;
mvPhoneConfig=mv_phone_config=dev0:fxs,dev1:fxs
mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500
yuk_ethaddr=00:00:00:EE:51:81
netretry=no
rcvrip=169.254.100.100
loadaddr=0x02000000
autoload=no
ethaddr=00:50:43:01:6A:95
run_diag=no
mainLineLinux=yes
arcNumber=2097
bootargs_console=console=ttyS0,115200
bootargs_root=root=/dev/mmcblk1p2
bootcmd=setenv bootargs $(bootargs_console) $(bootargs_root); run bootcmd_mmc; bootm 0x400000 0x0800000
bootargs=console=ttyS0,115200 root=/dev/mmcblk1p2
filesize=1BC6E0
bootcmd_mmc=mmcinit; ext2load mmc 0 0x0800000 /uInitrd; ext2load mmc 0 0x400000 /uImage
stdin=serial
stdout=serial
stderr=serial
nandEnvBase=a0000
mainlineLinux=no
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
pcieTune=no


I hope someone can help me...
Greetings
Michael
« Last Edit: 16 December 2009, 07:30:38 pm by technolust » Logged
NewIT_Marcus
Administrator
Hero Member
*****
Posts: 960


« Reply #1 on: 16 December 2009, 08:07:04 pm »

bootargs=console=ttyS0,115200 root=/dev/mmcblk1p2

Should be mmcblk0p2, I think.
Logged
technolust
Newbie
*
Posts: 8


« Reply #2 on: 17 December 2009, 06:47:24 pm »

Hi Marcus,

yes, this was the second Problem, thanks.
But the "hang up" comes from a wrong environment variable. I typed mainLineLinux instead of mainlineLinux.
Now the Sheevaplugs boots from SD Card.

But there is still another problem. At the end of the boot-process there is a fsck running
which results in the following error:

Checking file systems...fsck 1.41.3 (12-Oct-2008)
e2fsck 1.41.3 (12-Oct-2008)
fsck.ext2: No such file or directory while trying to open /dev/mmcblk1p1

The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>

fsck died with exit status 8
failed (code 8 ).
File system check failed. A log is being saved in /var/log/fsck/checkfs if that location is writable. Please repair the file system manually. failed!


I think I must change /dev/mmcblk1p1 in /dev/mmcblk0p1
and I think this is located in /etc/fstab
But I cannot mount the SD Card to change fstab.
I get the error
mount: /dev/mmcblk0 already mounted or /mnt busy

Logged
NewIT_Marcus
Administrator
Hero Member
*****
Posts: 960


« Reply #3 on: 17 December 2009, 07:27:31 pm »

You can boot from NAND, mount the SD card, and make the change required.

Check the environment variable settings that you need:

This thread shows the environment variables that we use for SD booting (not certain if they are the same settings you are using), but also highlights the differences between the settings required for SD booting and the original settings.

So change back to the original settings, boot from NAND, mount the SD card, make the change you require, power down, and revert the environment variables.

You should be able to configure for multi-booting (from SD card if it is present, else from NAND) using techniques mentioned in this thread.



Logged
technolust
Newbie
*
Posts: 8


« Reply #4 on: 18 December 2009, 05:29:29 pm »

Hi Marcus,

thanks for the hints.

I get yet another hint from the forum on plugcomputer.org, that works perfectly:

You can not mount the SD as whole, you need to use the partition. so at linux command prompt, type
Code:
fsck -p /dev/mmcblk0p1
[ -e /mnt ] || mkdir /mnt
mount /dev/mmcblk0p2 /mnt
sed -i 's/mmcblk1/mmcblk0/g' /mnt/etc/fstab
umount /mnt
reboot


Thanks & Greetings from snowy Stuttgart in Germany
Michael
Logged
NewIT_Marcus
Administrator
Hero Member
*****
Posts: 960


« Reply #5 on: 18 December 2009, 05:57:38 pm »

Glad you got it working again.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!