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@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 ([email protected]) (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
[email protected]
http://lists.armedslack.org/mailman/listinfo/armedslack

_______________________________________________
ARMedslack mailing list
[email protected]
http://lists.armedslack.org/mailman/listinfo/armedslack

Reply via email to