[ARMedslack] DreamPlug hang

Dave Dowell dowelld at netscape.net
Sun Aug 21 16:47:55 UTC 2011


Hi Innes,

You need to go back over the Kirkwood install instructions, specifically 
the bit about setting up the uboot environment after completing the install.

Your Dreamplug seems to be using a combined image (kernel+initrd rolled 
into one file), hence uboot is only set to load one file from sda.
ARMedslack uses seperate kernel and initrd images, so uboot needs to be 
setup to load both images before calling the kernel to boot.

Work through section 5.0 of the Kirkwood install instuctions. 
Specifically this bit.

setenv bootcmd_slk 'usb start;ext2load usb 0:1 0x01100000 /uinitrd-kirkwood;ext2load usb 0:1 0x00800000 /uImage-kirkwood;bootm 0x00800000 0x01100000'


The first ext2load command of that line loads the initrd.
The second ext2load command of that line loads the kernel.
The bootm command uses the load addresses of both of the loaded files.

Thanks
Dave

On 21/08/2011 16:12, Innes Read wrote:
> Hi,
>
> Newbie alert!  This is my first post and first steps with the Kirkwood 
> ARM stuff so please go easy on me.
>
> I've just obtained a Dreamplug device, basically a slightly upgraded 
> Guruplug.  Following the Armedslack install instructions I get a 
> solidly reproducible hang on initial kernel boot.  For grins I saw 
> someone on the list had posted a 2.6.38.7 kernel and I installed the 
> uImage for that onto a memory card and booted... with exactly the same 
> result.  My uneducated guess is that there is some module that is 
> locking the system up (wrong/missing) and/or I've forgotten something 
> really important!
>
> I'm happy to provide additional data and try suggestions out, in fact 
> it would be a great learning experience on how the initial kernel 
> stuff works.  I've pasted a failing boot below, and following that is 
> a working one using the kernel supplied with the device.  Here's the 
> failing boot from the U-Boot prompt.  The uImage file is on a FAT16 
> partition, /dev/sdb1, and the uinitrd is the same place and also 
> copied to the second ext2 partition, /dev/sdb2 (or in RAM if doing TFTP):
>
> run bootcmd_sdb
>
> (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... 2 Storage Device(s) found
> reading uImage
>
> 2024580 bytes read
> ## Booting kernel from Legacy Image at 06400000 ...
>    Image Name:   Linux-2.6.38.7-kirkwood
>    Created:      2011-05-26   7:29:53 UTC
>    Image Type:   ARM Linux Kernel Image (uncompressed)
>    Data Size:    2024516 Bytes = 1.9 MiB
>    Load Address: 00008000
>    Entry Point:  00008000
>    Verifying Checksum ... OK
>    Loading Kernel Image ... OK
> OK
>
> Starting kernel ...
>
> Uncompressing Linux... done, booting the kernel.
> [    0.000000] Linux version 2.6.38.7-kirkwood (root at slackware) (gcc 
> version 4.5.2 (GCC) ) #1 PREEMPT Thu May 26 08:29:19 BST 2011
> [    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), 
> cr=00053977
> [    0.000000] CPU: VIVT data cache, VIVT instruction cache
> [    0.000000] Machine: Marvell GuruPlug Reference Board
> [    0.000000] Memory policy: ECC disabled, Data cache writeback
> [    0.000000] Built 1 zonelists in Zone order, mobility grouping on. 
> Total pages: 130048
> [    0.000000] Kernel command line: console=ttyS0,115200 
> root=/dev/sdb2 panic=10 rootwait
> [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
> [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 
> 262144 bytes)
> [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 
> bytes)
> [    0.000000] Memory: 512MB = 512MB total
> [    0.000000] Memory: 515308k/515308k available, 8980k reserved, 0K 
> highmem
> [    0.000000] Virtual kernel memory layout:
> [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
> [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
> [    0.000000]     DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
> [    0.000000]     vmalloc : 0xe0800000 - 0xfe800000   ( 480 MB)
> [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
> [    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
> [    0.000000]       .init : 0xc0008000 - 0xc0029000   ( 132 kB)
> [    0.000000]       .text : 0xc0029000 - 0xc03ce968   (3735 kB)
> [    0.000000]       .data : 0xc03d0000 - 0xc03f7af8   ( 159 kB)
> [    0.000000] Preemptable hierarchical RCU implementation.
> [    0.000000]     RCU-based detection of stalled CPUs is disabled.
> [    0.000000]     Verbose stalled-CPUs detection is disabled.
> [    0.000000] NR_IRQS:114
> [    0.000000] sched_clock: 32 bits at 200MHz, resolution 5ns, wraps 
> every 21474ms
> [    0.000000] Console: colour dummy device 80x30
> [    3.656806] Calibrating delay loop... 1192.75 BogoMIPS (lpj=5963776)
> [    3.896687] pid_max: default: 32768 minimum: 301
> [    3.896820] Security Framework initialized
> [    3.896892] Mount-cache hash table entries: 512
> [    3.897193] Initializing cgroup subsys ns
> [    3.897205] ns_cgroup deprecated: consider using the 
> 'clone_children' flag without the ns_cgroup.
> [    3.897218] Initializing cgroup subsys cpuacct
> [    3.897233] Initializing cgroup subsys devices
> [    3.897242] Initializing cgroup subsys freezer
> [    3.897251] Initializing cgroup subsys net_cls
> [    3.897280] CPU: Testing write buffer coherency: ok
> [    3.899729] print_constraints: dummy:
> [    3.899900] NET: Registered protocol family 16
> [    3.901086] Kirkwood: MV88F6281-A1, TCLK=200000000.
> [    3.901099] Feroceon L2: Cache support initialised.
> [    3.910270] bio: create slab <bio-0> at 0
> [    3.911024] vgaarb: loaded
> [    3.912520] Switching to clocksource orion_clocksource
> [    3.916683] Switched to NOHz mode on CPU #0
> [    3.931135] NET: Registered protocol family 2
> [    3.931348] IP route cache hash table entries: 4096 (order: 2, 
> 16384 bytes)
> [    3.932062] TCP established hash table entries: 16384 (order: 5, 
> 131072 bytes)
> [    3.932415] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
> [    3.933112] TCP: Hash tables configured (established 16384 bind 16384)
> [    3.933125] TCP reno registered
> [    3.933138] UDP hash table entries: 256 (order: 0, 4096 bytes)
> [    3.933161] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
> [    3.933454] NET: Registered protocol family 1
> [    3.934652] audit: initializing netlink socket (disabled)
> [    3.934688] type=2000 audit(0.270:1): initialized
> [    3.993557] VFS: Disk quotas dquot_6.5.2
> [    3.993672] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
> [    3.993781] JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red 
> Hat, Inc.
> [    3.994168] msgmni has been set to 1006
> [    3.995000] Block layer SCSI generic (bsg) driver version 0.4 
> loaded (major 253)
> [    3.995015] io scheduler noop registered
> [    3.995024] io scheduler deadline registered
> [    3.995084] io scheduler cfq registered (default)
> [    4.170023] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
> [    4.191940] serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 
> 16550A
> [    4.565649] console [ttyS0] enabled
> [    4.577548] brd: module loaded
>
>
> The system locks up absolutely solid at this point, every time, 
> whether I boot with the 2.6.38.7 kernel as above or if I boot, via 
> TFTP, the install kernel from Slackware 13.37.  For comparison, here's 
> the boot from the stock kernel that comes with the Dreamplug:
>
> U-Boot 2011.06-02334-g8f495d9-dirty (Mar 28 2011 - 05:21:06)
> Marvell-DreamPlug
>
> SoC:   Kirkwood 88F6281_A0
> DRAM:  512 MiB
> SF: Detected MX25L1606 with page size 256, total 1 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
>
> baudrate=115200
> x_bootcmd_ethernet=ping 192.168.2.1
> x_bootcmd_usb=usb start
> x_bootcmd_kernel=fatload usb 0 0x6400000 uImage
> x_bootargs=console=ttyS0,115200
> x_bootargs_root=root=/dev/sda2 rootdelay=10
> ethact=egiga0
> ethaddr=F0:AD:4E:00:7B:4B
> eth1addr=F0:AD:4E:00:7B:4C
> ipaddr=192.168.1.14
> serverip=192.168.1.13
> arcNumber=2659
> mainlineLinux=yes
> bootdelay=10
> bootcmd_sdb=setenv bootargs console=ttyS0,115200 root=/dev/sdb2 
> panic=10 rootwait; usb start; run boot_sdb;
> boot_sdb=fatload usb 1 0x6400000 uImage; bootm 0x6400000;
> bootcmd_sda=${bootcmd_eth}; ${x_bootcmd_usb}; ${x_bootcmd_kernel}; 
> setenv bootargs ${x_bootargs} ${x_bootargs_root}; bootm 0x6400000;
> bootcmd_eth=setenv ethact egiga0; ${x_bootcmd_ethernet}; setenv ethact 
> egiga1; ${x_bootcmd_ethernet}
> clear_kernel_in_mem=echo Purging kernel in memory; mw 0x6400000 0x0 
> 0x300000
> bootcmd=run clear_kernel_in_mem; run bootcmd_sdb; run bootcmd_sda
> stdin=serial
> stdout=serial
> stderr=serial
>
> Environment size: 940/4092 bytes
> Marvell>> run bootcmd_sda
>
> (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... 2 Storage Device(s) found
> reading uImage
>
> 2712400 bytes read
> ## Booting kernel from Legacy Image at 06400000 ...
>    Image Name:   Linux-2.6.33.6
>    Created:      2011-02-08   8:18:48 UTC
>    Image Type:   ARM Linux Kernel Image (uncompressed)
>    Data Size:    2712336 Bytes = 2.6 MiB
>    Load Address: 00008000
>    Entry Point:  00008000
>    Verifying Checksum ... OK
>    Loading Kernel Image ... OK
> OK
>
> Starting kernel ...
>
> Uncompressing Linux... done, booting the kernel.
> Linux version 2.6.33.6 (root at localhost.localdomain) (gcc version 
> 4.2.1) #1 PREEMPT Tue Feb 8 03:18:41 EST 2011
> CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
> CPU: VIVT data cache, VIVT instruction cache
> Machine: Marvell GuruPlug Reference Board
> Memory policy: ECC disabled, Data cache writeback
> Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 
> 130048
> Kernel command line: console=ttyS0,115200 root=/dev/sda2 rootdelay=10
> PID hash table entries: 2048 (order: 1, 8192 bytes)
> Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
> Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
> Memory: 256MB 256MB = 512MB total
> Memory: 513408KB available (4832K code, 862K data, 140K init, 0K highmem)
> SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> Hierarchical RCU implementation.
> NR_IRQS:114
> Console: colour dummy device 80x30
> Calibrating delay loop... 1192.75 BogoMIPS (lpj=5963776)
> Mount-cache hash table entries: 512
> CPU: Testing write buffer coherency: ok
> NET: Registered protocol family 16
> Kirkwood: MV88F6281-A1, TCLK=200000000.
> Feroceon L2: Cache support initialised.
> bio: create slab <bio-0> at 0
> vgaarb: loaded
> SCSI subsystem initialized
> usbcore: registered new interface driver usbfs
> usbcore: registered new interface driver hub
> usbcore: registered new device driver usb
> cfg80211: Using static regulatory domain info
> cfg80211: Regulatory domain: 00
>     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
>     (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2000 mBm)
>     (2457000 KHz - 2482000 KHz @ 20000 KHz), (600 mBi, 2000 mBm)
>     (2474000 KHz - 2494000 KHz @ 20000 KHz), (600 mBi, 2000 mBm)
>     (5170000 KHz - 5250000 KHz @ 40000 KHz), (600 mBi, 2000 mBm)
>     (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 2000 mBm)
> cfg80211: Calling CRDA to update world regulatory domain
> Switching to clocksource orion_clocksource
> NET: Registered protocol family 2
> IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
> TCP established hash table entries: 16384 (order: 5, 131072 bytes)
> TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
> TCP: Hash tables configured (established 16384 bind 16384)
> TCP reno registered
> UDP hash table entries: 256 (order: 0, 4096 bytes)
> UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
> NET: Registered protocol family 1
> RPC: Registered udp transport module.
> RPC: Registered tcp transport module.
> RPC: Registered tcp NFSv4.1 backchannel transport module.
> JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
> JFS: nTxBlock = 4012, nTxLock = 32102
> msgmni has been set to 1003
> alg: No test for stdrng (krng)
> io scheduler noop registered
> io scheduler deadline registered
> io scheduler cfq registered (default)
> Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
> serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
> console [ttyS0] enabled
> brd: module loaded
> loop: module loaded
> No NAND device found.
> MV-643xx 10/100/1000 ethernet driver version 1.4
> mv643xx_eth smi: probed
> net eth0: port 0 with MAC address f0:ad:4e:00:7b:4b
> net eth1: port 0 with MAC address f0:ad:4e:00:7b:4c
> ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> orion-ehci orion-ehci.0: Marvell Orion EHCI
> orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
> orion-ehci orion-ehci.0: irq 19, io mem 0xf1050000
> orion-ehci orion-ehci.0: USB 2.0 started, EHCI 1.00
> hub 1-0:1.0: USB hub found
> hub 1-0:1.0: 1 port detected
> Initializing USB Mass Storage driver...
> usbcore: registered new interface driver usb-storage
> USB Mass Storage support registered.
> usbcore: registered new interface driver ums-datafab
> usbcore: registered new interface driver ums-freecom
> usbcore: registered new interface driver ums-jumpshot
> usbcore: registered new interface driver ums-sddr09
> usbcore: registered new interface driver ums-sddr55
> mice: PS/2 mouse device common for all mice
> rtc-mv rtc-mv: rtc core: registered rtc-mv as rtc0
> i2c /dev entries driver
> cpuidle: using governor ladder
> cpuidle: using governor menu
> sdhci: Secure Digital Host Controller Interface driver
> sdhci: Copyright(c) Pierre Ossman
> mmc0: mvsdio driver initialized, lacking card detect (fall back to 
> polling)
> Registered led device: guruplug:red:health
> Registered led device: guruplug:green:health
> Registered led device: guruplug:red:wmode
> Registered led device: guruplug:green:wmode
> mv_xor_shared mv_xor_shared.0: Marvell shared XOR driver
> mv_xor_shared mv_xor_shared.1: Marvell shared XOR driver
> mv_xor mv_xor.0: Marvell XOR: ( xor cpy )
> mmc0: new high speed SDIO card at address 0001
> mv_xor mv_xor.1: Marvell XOR: ( xor fill cpy )
> mv_xor mv_xor.2: Marvell XOR: ( xor cpy )
> mv_xor mv_xor.3: Marvell XOR: ( xor fill cpy )
> usbcore: registered new interface driver hiddev
> usbcore: registered new interface driver usbhid
> usbhid: USB HID core driver
> oprofile: using timer interrupt.
> TCP cubic registered
> NET: Registered protocol family 17
> lib80211: common routines for IEEE802.11 drivers
> rtc-mv rtc-mv: setting system clock to 2011-08-21 14:12:27 UTC 
> (1313935947)
> Waiting 10sec before mounting root device...
> usb 1-1: new high speed USB device using orion-ehci and address 2
> hub 1-1:1.0: USB hub found
> hub 1-1:1.0: 4 ports detected
> usb 1-1.1: new high speed USB device using orion-ehci and address 3
> scsi0 : usb-storage 1-1.1:1.0
> usb 1-1.4: new full speed USB device using orion-ehci and address 4
> input: C-Media USB Headphone Set   as 
> /devices/platform/orion-ehci.0/usb1/1-1/1-1.4/1-1.4:1.3/input/input0
> generic-usb 0003:0D8C:000C.0001: input: USB HID v1.00 Device [C-Media 
> USB Headphone Set  ] on usb-orion-ehci.0-1.4/input3
> scsi 0:0:0:0: Direct-Access     Generic  STORAGE DEVICE   9910 PQ: 0 
> ANSI: 0
> sd 0:0:0:0: Attached scsi generic sg0 type 0
> scsi 0:0:0:1: Direct-Access     Generic  STORAGE DEVICE   9910 PQ: 0 
> ANSI: 0
> sd 0:0:0:0: [sda] 3842048 512-byte logical blocks: (1.96 GB/1.83 GiB)
> sd 0:0:0:1: Attached scsi generic sg1 type 0
> sd 0:0:0:0: [sda] Write Protect is off
> sd 0:0:0:0: [sda] Assuming drive cache: write through
> sd 0:0:0:1: [sdb] 16121856 512-byte logical blocks: (8.25 GB/7.68 GiB)
> sd 0:0:0:1: [sdb] Write Protect is off
> sd 0:0:0:1: [sdb] Assuming drive cache: write through
> sd 0:0:0:0: [sda] Assuming drive cache: write through
>  sda: sda1 sda2
> sda: p2 size 3653412 exceeds device capacity, limited to end of disk
> sd 0:0:0:1: [sdb] Assuming drive cache: write through
>  sdb:
> sd 0:0:0:0: [sda] Assuming drive cache: write through
> sd 0:0:0:0: [sda] Attached SCSI removable disk
>  sdb1 sdb2
> sd 0:0:0:1: [sdb] Assuming drive cache: write through
> sd 0:0:0:1: [sdb] Attached SCSI removable disk
> EXT3-fs (sda2): warning: maximal mount count reached, running e2fsck 
> is recommended
> kjournald starting.  Commit interval 5 seconds
> EXT3-fs (sda2): using internal journal
> EXT3-fs (sda2): mounted filesystem with writeback data mode
> VFS: Mounted root (ext3 filesystem) on device 8:2.
> Freeing init memory: 140K
>  * Filesystem type 'fusectl' is not supported. Skipping 
> mount.
>  * Setting preliminary keymap...       
> [ OK ]
>  * Starting kernel event manager...       
> [ OK ]
>  * Loading hardware drivers...        Bluetooth: Core ver 2.15
> NET: Registered protocol family 31
> Bluetooth: HCI device and connection manager initialized
> Bluetooth: HCI socket layer initialized
> sata_mv sata_mv.0: version 1.28
> sata_mv sata_mv.0: slots 32 ports 1
> scsi1 : sata_mv
> libertas_sdio: Libertas SDIO driver
> ata1: SATA max UDMA/133 irq 21
> libertas_sdio: Copyright Pierre Ossman
> libertas_sdio mmc0:0001:1: firmware: requesting sd8688_helper.bin
> ata1: SATA link down (SStatus 0 SControl F300)
> libertas: can't load helper firmware
> libertas: failed to load helper firmware
> libertas_sdio: probe of mmc0:0001:1 failed with error -2
> Bluetooth: vendor=0x2df, device=0x9105, class=255, fn=2
> btmrvl_sdio mmc0:0001:2: firmware: requesting sd8688_helper.bin
> btmrvl_sdio_download_helper: request_firmware(helper) failed, error 
> code = -2
> btmrvl_sdio_download_fw: Failed to download helper!
> btmrvl_sdio_probe: Downloading firmware failed!
> eth1: link up, 100 Mb/s, full duplex, flow control disabled
> uap_probe: vendor=0x02DF device=0x9104 class=0 function=1
> uap_sdio mmc0:0001:1: firmware: requesting mrvl/helper_sd.bin
> uap_sdio mmc0:0001:1: firmware: requesting mrvl/sd8688_ap.bin
> UAP FW is active
> usbcore: registered new interface driver snd-usb-audio
> kjournald starting.  Commit interval 5 seconds
> EXT3-fs (sdb2): using internal journal
> EXT3-fs (sdb2): mounted filesystem with writeback data mode
> NET: Registered protocol family 10
> ADDRCONF(NETDEV_UP): eth0: link is not ready
>
> [ OK ]
>  * Loading kernel modules...         * Loading manual drivers... 
>      
> [ OK ]
>  * Setting kernel variables (/etc/sysctl.conf)...       
> [ OK ]
>  * Setting kernel variables 
> (/etc/sysctl.d/10-console-messages.conf)...       
> [ OK ]
>  * Setting kernel variables 
> (/etc/sysctl.d/10-network-security.conf)...       
> [ OK ]
>  * Activating swap...       
> [ OK ]
>  * Starting early crypto disks...       
> [ OK ]
>  * Starting remaining crypto disks...       
> [ OK ]
>  * Checking file systems...        fsck 1.41.4 (27-Jan-2009)
>
> [ OK ]
>  * Mounting local filesystems...       
> [ OK ]
>  * Activating swapfile swap...       
> [ OK ]
>  * Configuring network interfaces...       
> [ OK ]
>  * Setting up console font and keymap...       
> [ OK ]
>  * Starting system log daemon...       
> [ OK ]
>  * Starting kernel log daemon...       
> [ OK ]
>
>  * Starting system message bus dbus       Ubuntu 9.04 DreamPlug ttyS0
>
> Cheers,  Innes.
> _______________________________________________
> ARMedslack mailing list
> ARMedslack at lists.armedslack.org
> http://lists.armedslack.org/mailman/listinfo/armedslack



More information about the ARMedslack mailing list