Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Marvell / Globalscale OpenRD-Ultimate (ARM5) - anyone using?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on Alternative Architectures
View previous topic :: View next topic  
Author Message
hazza
n00b
n00b


Joined: 30 Dec 2002
Posts: 68
Location: Burton on Trent

PostPosted: Fri May 28, 2010 9:00 pm    Post subject: Marvell / Globalscale OpenRD-Ultimate (ARM5) - anyone using? Reply with quote

Hello,

I've just taken delivery of one of Globalscale's OpenRD boxes and wish to move over to Gentoo as soon as possible - there's only so much Fedora you can handle before getting very angry with it :-)

From what I can tell, the system shares more than a little DNA with the SheevaPlug / GuruPlug devices and I'm just about to give the install for that a go (cheers armin76!). Obviously before I get completely bogged down in this, has anyone tried installing Gentoo on one of these? It supports booting from internal NAND flash and MicroSD card and, I'm hoping, from its internal SATA drive. although I can't find any reference to that yet.

For your viewing pleasure:

From uBoot:
Code:

         __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
 _   _     ____              _
| | | |   | __ )  ___   ___ | |_
| | | |___|  _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
 \___/    |____/ \___/ \___/ \__|
 ** MARVELL BOARD: OpenRD-Client LE

U-Boot 1.1.4 (Feb 23 2010 - 12:16:44) Marvell version: 3.4.16

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

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

Checking for BootROM Routine Errors

No. of BootROM routine retries: 8
NAND: Nand ECC error

Running POST...

        DDR2 data bus test                               PASSED

        DDR2 address bus test                            PASSED

        UART 1 internal loopback test on baudrate   9600 PASSED
        UART 1 internal loopback test on baudrate  19200 PASSED
        UART 1 internal loopback test on baudrate 115200 PASSED

        Device: 0, Size: 512 MB, Page Size: 2 KB, Block Size: 128 KB
        NAND detection test                              PASSED

        Bad Block: 1e0e0000
        NAND bad-block detection test                    PASSED

        RTC test                                         PASSED

6/6 tests PASSED
POST completed

CPU : Marvell Feroceon (Rev 1)

Streaming disabled
Write allocate disabled

Module 0 is AUDIO
Module 1 is RGMII

USB 0: host mode
PCI 0: PCI Express Root Complex Interface
PEX interface detected Link X1
Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0



From within Linux (fedora 8 as best as I can tell):
Code:

# uname -a
Linux OpenRD 2.6.22.18 #2 Wed Mar 3 03:39:49 EST 2010 armv5tejl armv5tejl armv5tejl GNU/Linux

# dmesg
Linux version 2.6.22.18 (root@localhost.localdomain) (gcc version 4.2.1) #2 Wed Mar 3 03:39:49 EST 2010
CPU: ARM926EJ-S [56251311] revision 1 (ARMv5TE), cr=00053177                                           
Machine: Feroceon-KW                                                                                   
Using UBoot passing parameters structure                                                               
Memory policy: ECC disabled, Data cache writeback                                                     
On node 0 totalpages: 131072                                                                           
  DMA zone: 1024 pages used for memmap                                                                 
  DMA zone: 0 pages reserved                                                                           
  DMA zone: 130048 pages, LIFO batch:31                                                               
  Normal zone: 0 pages used for memmap                                                                 
CPU0: D VIVT write-back cache                                                                         
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets                                   
CPU0: D cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets                                   
Built 1 zonelists.  Total pages: 130048                                                               
Kernel command line: console=ttyS0,115200 mtdparts=nand_mtd:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw ubi.mtd=1,2048 root=ubi0:rootfs rootfstype=ubifs
PID hash table entries: 2048 (order: 11, 8192 bytes)                                                                                                                 
Console: colour dummy device 80x30                                                                                                                                   
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)                                                                                                     
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)                                                                                                       
Memory: 256MB 256MB 0MB 0MB = 512MB total                                                                                                                           
Memory: 514816KB available (4376K code, 365K data, 140K init)                                                                                                       
Calibrating delay loop... 1199.30 BogoMIPS (lpj=5996544)                                                                                                             
Mount-cache hash table entries: 512                                                                                                                                 
CPU: Testing write buffer coherency: ok                                                                                                                             
NET: Registered protocol family 16                                                                                                                                   

CPU Interface
-------------
SDRAM_CS0 ....base 00000000, size 256MB
SDRAM_CS1 ....base 10000000, size 256MB
SDRAM_CS2 ....disable                   
SDRAM_CS3 ....disable                   
PEX0_MEM ....base e8000000, size 128MB 
PEX0_IO ....base f2000000, size   1MB   
INTER_REGS ....base f1000000, size   1MB
NFLASH_CS ....base fa000000, size   2MB 
SPI_CS ....base f4000000, size  16MB     
BOOT_ROM_CS ....no such                 
DEV_BOOTCS ....no such                   
CRYPT_ENG ....base f0000000, size   2MB 

  Marvell Development Board (LSP Version KW_LSP_4.2.7_patch2)-- OpenRD-Client  Soc: 88F6281 A0 LE

 Detected Tclk 200000000 and SysClk 400000000
MV Buttons Device Load                       
Marvell USB EHCI Host controller #0: c095d600
PEX0 interface detected Link X1               
PCI: bus0: Fast back to back transfers disabled
SCSI subsystem initialized                     
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub   
usbcore: registered new device driver usb     
Time: kw_clocksource clocksource has been installed.
NET: Registered protocol family 2                   
IP route cache hash table entries: 16384 (order: 4, 65536 bytes)
TCP established hash table entries: 65536 (order: 7, 524288 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)       
TCP: Hash tables configured (established 65536 bind 65536)       
TCP reno registered                                               
RTC registered                                                   
Use the XOR engines (acceleration) for enhancing the following functions:
  o RAID 5 Xor calculation                                               
  o kernel memcpy                                                       
  o kenrel memzero                                                       
Number of XOR engines to use: 4                                         
cesadev_init(c0011674)                                                   
mvCesaInit: sessions=640, queue=64, pSram=f0000000                       
Warning: TS unit is powered off.                                         
MV Buttons Driver Load                                                   
squashfs: version 3.3 (2007/10/31) Phillip Lougher                       
squashfs: LZMA suppport for slax.org by jro                             
NTFS driver 2.1.28 [Flags: R/W].                                         
JFFS2 version 2.2. (NAND) é 2001-2006 Red Hat, Inc.                   
io scheduler noop registered                                             
io scheduler anticipatory registered (default)                           
XGIfb: Options <NULL>                                                   
XGIfb: Relocate IO address: 1000 [00001030]                             
XGIfb: Enable PCI device                                                 
XGIfb: Video ROM usage disabled                                         
XGIfb: SR14=0 DramSzie 200000 ChannelNum 1                               
XGIfb: Framebuffer at 0xe8000000, mapped to 0xe0c00000, size 2048k       
XGIfb: MMIO at 0xec000000, mapped to 0xe0880000, size 256k               
XGIfb: XGIInitNew() ...12345678910111215171818118218319202122232425OK   
XGIfb: Memory heap starting at 4096K                                     
XGIfb: Using MMIO queue mode                                             
XGIfb: No or unknown bridge type detected                               
XGIfb: Default mode is 1024x768x16 (60Hz)                               
XGIfb: var->pixclock=25000, htotal=1280, vtotal=1592                     
XGIfb: Change mode to 1024x768x16-60Hz                                   
Console: switching to colour frame buffer device 128x48                 
XGIfb: Installed XGIFB_GET_INFO ioctl (80046ef8)                         
fb0:  frame buffer device, Version 0.8.01                               
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A           
serial8250.0: ttyS1 at MMIO 0xf1012100 (irq = 34) is a 16550A           
RAMDISK driver initialized: 20 RAM disks of 4096K size 4096 blocksize   
Loading Marvell Ethernet Driver:                                         
  o Cached descriptors in DRAM                                           
  o DRAM SW cache-coherency                                             
  o Single RX Queue support - ETH_DEF_RXQ=0                             
  o Single TX Queue support - ETH_DEF_TXQ=0                             
  o TCP segmentation offload enabled                                     
  o Receive checksum offload enabled                                     
  o Transmit checksum offload enabled                                   
  o Network Fast Processing (Routing) supported                         
  o Driver ERROR statistics enabled                                     
  o Driver INFO statistics enabled                                       
  o Proc tool API enabled                                               
  o Rx descripors: q0=128                                               
  o Tx descripors: q0=532                                               
  o Loading network interface(s):                                       
    o eth0, ifindex = 1, GbE port = 0                                   
    o eth1, ifindex = 2, GbE port = 1                                   

mvFpRuleDb (dfde0000): 16384 entries, 65536 bytes
Intel(R) PRO/1000 Network Driver - version 7.3.20-k2-NAPI
Copyright (c) 1999-2006 Intel Corporation.               
e100: Intel(R) PRO/100 Network Driver, 3.5.17-k4-NAPI   
e100: Copyright(c) 1999-2006 Intel Corporation           
Integrated Sata device found                             
scsi0 : Marvell SCSI to SATA adapter                     
scsi1 : Marvell SCSI to SATA adapter                     
NFTL driver: nftlcore.c $Revision: 1.98 $, nftlmount.c $Revision: 1.41 $
NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB 3,3V 8-bit)
Scanning device for bad blocks                                                   
Bad eraseblock 3847 at 0x1e0e0000                                                 
2 cmdlinepart partitions found on MTD device nand_mtd                             
Using command line partition definition                                           
Creating 2 MTD partitions on "nand_mtd":                                         
0x00100000-0x00500000 : "uImage"                                                 
0x00500000-0x20000000 : "rootfs"                                                 
UBI: attaching mtd1 to ubi0                                                       
UBI: physical eraseblock size:   131072 bytes (128 KiB)                           
UBI: logical eraseblock size:    126976 bytes                                     
UBI: smallest flash I/O unit:    2048                                             
UBI: sub-page size:              512                                             
UBI: VID header offset:          2048 (aligned 2048)                             
UBI: data offset:                4096                                             
UBI: attached mtd1 to ubi0                                                       
UBI: MTD device name:            "rootfs"                                         
UBI: MTD device size:            507 MiB                                         
UBI: number of good PEBs:        4055                                             
UBI: number of bad PEBs:         1                                               
UBI: max. allowed volumes:       128                                             
UBI: wear-leveling threshold:    4096                                             
UBI: number of internal volumes: 1                                               
UBI: number of user volumes:     1                                               
UBI: available PEBs:             0                                               
UBI: total number of reserved PEBs: 4055                                         
UBI: number of PEBs reserved for bad PEB handling: 40                             
UBI: max/mean erase counter: 1/0                                                 
UBI: background thread "ubi_bgt0d" started, PID 257                               
ehci_marvell ehci_marvell.70059: Marvell Orion EHCI                               
ehci_marvell ehci_marvell.70059: new USB bus registered, assigned bus number 1   
ehci_marvell ehci_marvell.70059: irq 19, io base 0xf1050100                       
ehci_marvell ehci_marvell.70059: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004   
usb usb1: configuration #1 chosen from 1 choice                                   
hub 1-0:1.0: USB hub found                                                       
hub 1-0:1.0: 1 port detected                                                     
ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver             
USB Universal Host Controller Interface driver v3.0                               
usb 1-1: new high speed USB device using ehci_marvell and address 2               
usb 1-1: configuration #1 chosen from 1 choice                                   
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 ehci_marvell and address 3             
usb 1-1.1: configuration #1 chosen from 1 choice                                 
hub 1-1.1:1.0: USB hub found                                                     
hub 1-1.1:1.0: 4 ports detected                                                   
usb 1-1.1.2: new low speed USB device using ehci_marvell and address 4           
usb 1-1.1.2: configuration #1 chosen from 1 choice                               
usbcore: registered new interface driver usblp                                   
drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver                 
Initializing USB Mass Storage driver...                                           
usbcore: registered new interface driver usb-storage                             
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
Linux telephony interface: v1.00
Marvell Telephony Driver:

Warning Tdm is Powered Off
md: linear personality registered for level -1
md: raid0 personality registered for level 0
md: raid1 personality registered for level 1
raid6: int32x1     98 MB/s
raid6: int32x2    114 MB/s
raid6: int32x4    123 MB/s
raid6: int32x8    111 MB/s
raid6: using algorithm int32x4 (123 MB/s)
md: raid6 personality registered for level 6
md: raid5 personality registered for level 5
md: raid4 personality registered for level 4
raid5: measuring checksumming speed
   arm4regs  :  1089.600 MB/sec
   8regs     :   758.400 MB/sec
   32regs    :   904.400 MB/sec
raid5: using function: arm4regs (1089.600 MB/sec)
device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: dm-devel@redhat.com
dm_crypt using the OCF package.
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mvsdmmc: irq =28 start f1090000
mvsdmmc: irq_detect=93
input: Microsoft Microsoft 3-Button Mouse with IntelliEye(TM) as /class/input/input0
input: USB HID v1.10 Mouse [Microsoft Microsoft 3-Button Mouse with IntelliEye(TM)] on usb-ehci_marvell.70059-1.1.2
usbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.14 (Thu May 31 09:03:25 2007 UTC).
ALSA device list:
  #0: Marvell mv88fx_snd ALSA driver
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
UBIFS: mounted UBI device 0, volume 0, name "rootfs"
UBIFS: file system size:   506507264 bytes (494636 KiB, 483 MiB, 3989 LEBs)
UBIFS: journal size:       9023488 bytes (8812 KiB, 8 MiB, 72 LEBs)
UBIFS: media format:       4 (latest is 4)
UBIFS: default compressor: zlib
UBIFS: reserved for root:  0 bytes (0 KiB)
VFS: Mounted root (ubifs filesystem).
Freeing init memory: 140K
eth0: started
eth1: started
usb 1-1.1.3: new low speed USB device using ehci_marvell and address 5
usb 1-1.1.3: configuration #1 chosen from 1 choice
input: Dell Dell USB Keyboard as /class/input/input1
input: USB HID v1.10 Keyboard [Dell Dell USB Keyboard] on usb-ehci_marvell.70059-1.1.3
yilin: XGIfb_check_var: pixclock = 25000 ,htotal=1280, vtotal=1592
 drate=40000, hrate=31250, refresh_rate=39<7>XGIfb: var->pixclock=25000, htotal=1280, vtotal=1592
XGIfb: Change mode to 1024x768x16-60Hz
eth0: stopped
eth1: stopped
eth0: link down
eth0: started
eth0: link up, full duplex, speed 1 Gbps
eth0: stopped
eth0: link down
eth0: started
eth0: link up, full duplex, speed 1 Gbps
eth1: started
usb 1-1.1.3: USB disconnect, address 5
usb 1-1.1.2: USB disconnect, address 4

# cat /proc/cpuinfo
Processor       : ARM926EJ-S rev 1 (v5l)
BogoMIPS        : 1199.30
Features        : swp half thumb fastmult edsp
CPU implementer : 0x56
CPU architecture: 5TE
CPU variant     : 0x2
CPU part        : 0x131
CPU revision    : 1
Cache type      : write-back
Cache clean     : cp15 c7 ops
Cache lockdown  : format C
Cache format    : Harvard
I size          : 16384
I assoc         : 4
I line length   : 32
I sets          : 128
D size          : 16384
D assoc         : 4
D line length   : 32
D sets          : 128

Hardware        : Feroceon-KW
Revision        : 0000
Serial          : 0000000000000000


Obviously I'm happy to play guineaping for any tests anyone wants to try :-)

Cheers,
Harry
Back to top
View user's profile Send private message
armin76
Developer
Developer


Joined: 24 Apr 2006
Posts: 173

PostPosted: Sun May 30, 2010 5:05 pm    Post subject: Reply with quote

There is an user on #gentoo-embedded @ irc.freenode.net that has an OpenRD-Client and has it working since a long time.

Should be pretty easy to install gentoo on it. If you want i can help you, i don't have an openrd but i did the installation doc on the sheevaplug, which should be pretty much the same.
Back to top
View user's profile Send private message
hazza
n00b
n00b


Joined: 30 Dec 2002
Posts: 68
Location: Burton on Trent

PostPosted: Sun May 30, 2010 9:24 pm    Post subject: Reply with quote

Hi Armin,

That's very generous of you - thanks :-)

I've managed to screw the bootloader up already: there are three versions of this platform - base, client and ultimate. I have the latter, and it appears it's slightly different to the base and client variants with regards to its ethernet handling.

Without upgrading, both the Debian and Gentoo boot images will load and see ethernet, but can't actually use it. On closer inspection, dmesg shows that the ethernet controller is reporting a 10MBit link... Fixing this involves upgrading uBoot - which I did - but unfortunately my varient requires a specific change in the BSP to shift the ethernet adaptors into the right place. The version I flashed doesn't have this change - i.e. it works for base and client, but not for ultimate.

I now have a box that will initialise, but can't see ethernet. The fix to this is to flash via OpenOCD, and a more knowledgable chap on the Plug Computer forums has very kindly built me a new uBoot image. I have yet to try it, but I hope this will sort all my woes :-)

I'll have a look on #gentoo-embedded next time I'm on IRC.

Cheers,
Harry
Back to top
View user's profile Send private message
hazza
n00b
n00b


Joined: 30 Dec 2002
Posts: 68
Location: Burton on Trent

PostPosted: Tue Jun 01, 2010 10:29 pm    Post subject: Reply with quote

Well, I'm gradually getting somewhere with this, but not quickly :-)

I now have a version of uBoot that will both initialise the ethernet controllers AND boot a recent Linux kernel, but and of the kernels I do boot will only behave when the system ID is set to OpenRD-Base... Using OpenRD-Ultimate, the network goes dead as soon as Linux boots. Problem with using the Base system ID is that you then loose one of your NICs (base only has one)

Regarding SATA, so far I have only managed to get this to work with the supplied Fedora 8 kernel: the telling lines are
Code:
Integrated Sata device found                             
scsi0 : Marvell SCSI to SATA adapter                     
scsi1 : Marvell SCSI to SATA adapter
These do not appear when booting Debian or Gentoo install kernels. It would appear that the way SATA is implimented in the Ultimate differs from both Base and Client, hence something is not being seen...

I'm currently installing onto a USB stick, but this isn't ideal. If anyone has any ideas as to what's causing this and / or how it can be fixed, do please let me know :-)

Cheers,
Harry
Back to top
View user's profile Send private message
hazza
n00b
n00b


Joined: 30 Dec 2002
Posts: 68
Location: Burton on Trent

PostPosted: Thu Jun 03, 2010 1:12 am    Post subject: Reply with quote

SORTED :D

A workable kernel that supports everything - including sound and framebuffer console - can be built using this walkthrough on the OpenRD group.

Unfortunately this still leaves Ethernet broken. The solution is to modify arch/arm/mach-kirkwood/openrd_client-setup.c so that the PHY addresses match what the board actually uses - the sources use 8 and 24 for OpenRD-Client, whereas OpenRD-Ultimate uses 0x0 and 0x1. They should read:

Code:
static struct mv643xx_eth_platform_data openrd_client_ge00_data = {
        .phy_addr       = MV643XX_ETH_PHY_ADDR(0),
};

static struct mv643xx_eth_platform_data openrd_client_ge01_data = {
        .phy_addr       = MV643XX_ETH_PHY_ADDR(1),
};


This now builds easily under crossdev and everything works, which means I now get:

Code:
armful ~ # dmesg |grep eth
MV-643xx 10/100/1000 ethernet driver version 1.4
mv643xx_eth smi: probed
net eth0: port 0 with MAC address 00:50:43:01:54:a4
net eth1: port 0 with MAC address 00:50:43:01:54:a5
ADDRCONF(NETDEV_UP): eth0: link is not ready
eth0: link up, 1000 Mb/s, full duplex, flow control disabled
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready


Woo! Yay! Quite pleased with that :D

Cheers,
Harry
Back to top
View user's profile Send private message
jlpoole
Apprentice
Apprentice


Joined: 01 Nov 2005
Posts: 224
Location: Napa, CA

PostPosted: Tue Aug 24, 2010 3:27 pm    Post subject: Reply with quote

I have both the SheevaPlug(two) and the Open RD Client. The former I'm delighted with and has proven to be a viable contender as a server running Gentoo. The latter has been a frustrating disappointment -- I simply have not had the time to overcome the obstacles that hit me when I tried installing Gentoo. It helped immensely on the the SheevaPlug to have the support and files provided in http://dev.gentoo.org/~armin76/arm/sheevaplug/install.xml

At some point I'll make the time to get Gentoo working on the Open RD Client. <sigh>
Back to top
View user's profile Send private message
hazza
n00b
n00b


Joined: 30 Dec 2002
Posts: 68
Location: Burton on Trent

PostPosted: Tue Aug 24, 2010 6:34 pm    Post subject: Reply with quote

Hello,

I was getting really irritated with it too, to be honest: it doesn't help that Marvell released OpenRD Ultimate without releasing the support code for it, and AFAIK ultimate support hasn't made it into upstream yet either. It does now have its own machine ID, but as it's not made it into mainline it's effectively useless - I still ended up using the ID for Client rather than Ultimate and then mashing the code a tad.

Having said that, now that it's working and I have a robust cross-compile environment working with OpenRD is superb - the system is a deal quicker than I thought it would be and it's doing things like monitoring house power usage (reads data from a CurrentCost device), cacti, NAS duties (using 5-drive eSATA enclosure with a SATA port multiplier) and Asterisk, all for less than 15 watts :D

The one problem I have at the moment is getting mISDN to behave - the Kernel component is working, however I've run into the current Gentoo problem that the in-portage versions of Asterisk, mISDN_user and chan_mISDN simply don't play nicely. This isn't an ARM-platform issue, but is equally broken on x86... The thread regarding this is here if anyone wants to feel a bit depressed...

Cheers,
Harry
Back to top
View user's profile Send private message
robm
n00b
n00b


Joined: 20 Jan 2003
Posts: 10
Location: Boston

PostPosted: Wed Aug 25, 2010 4:58 am    Post subject: Reply with quote

I've got an OpenRD-Ultimate box on order and wanted to do as much prep work as I could... I successfully got crossdev to build the cross compiler, but armv5tel-softfloat-linux-gnueabi-emerge system failed about a third of the way through. My progress is here: http://www.flipturn.org/OpenRD-Ultimate.html

Obviously I could just download a stage 3, but that defeats the purpose of gentoo. :) Maybe I'm being too ambitious? Do you do your emerge system on the ARM hardware itself?

I've read all the gentoo embedded stuff that I could and am trying to build a document from the total noob point of view, because I are one. :)
Back to top
View user's profile Send private message
hazza
n00b
n00b


Joined: 30 Dec 2002
Posts: 68
Location: Burton on Trent

PostPosted: Wed Aug 25, 2010 8:21 am    Post subject: Reply with quote

Hi Robm,

Seeing as I wasn't in a rush and had previously had bad experiences building entire machines under crossdev, I just compiled the kernel on my x86 box and let the ARM box build itself from a stage three. Not quite sure how using a stage three defeats the purpose of Gentoo as that's the recommended install method :lol:

Once the machine was autonomous (i.e. booting and running the initial stage three without any kind of life support) I did
Code:
# emerge -ev system && emerge -ev world
to ensure that the system had properly updated itself and was on the latest compiler, and it also acted as a very good soak test!

Arguably running a full-fat Gentoo system on a little ARM box is a bit counter-intuitive, but so far it has exceeded (by a long way) every expectation I had of it.

Cheers,
Harry
Back to top
View user's profile Send private message
robm
n00b
n00b


Joined: 20 Jan 2003
Posts: 10
Location: Boston

PostPosted: Wed Aug 25, 2010 3:49 pm    Post subject: Reply with quote

Thanks for the info, Harry. My "defeating the purpose" comment was intended to mean that it didn't feel like Gentoo to me by downloading the stage 3 on my amd64 machine if I could have instead built it using crossdev. :) But it sounds like a full arm environment cross compiled on amd64 isn't going to work, so I'll just have to wait till I get the OpenRD box.

I'm going to use the SATA interface and a 750GB disk for the root file system, so I'll probably run a full Gentoo system also. My requirements are NFS & Samba/CIFS for file sharing, cups to host my non-ethernet laser printer, sshd, subversion, and hopefully lighttpd but maybe apache. All for like 10W of power. I'm currently running my setup on an old laptop that draws 70W (and has a really noisy fan).

Good to hear that the system is working well for you. It makes me think that my requirements aren't out of bounds. :)

Rob
Back to top
View user's profile Send private message
hazza
n00b
n00b


Joined: 30 Dec 2002
Posts: 68
Location: Burton on Trent

PostPosted: Wed Aug 25, 2010 6:24 pm    Post subject: Reply with quote

Hi Rob,

I guess if you want to get a head start you could try the QEMU route, however I've never tried it myself...

My system has a 250GB internal 2.5" SATA drive as the primary boot / system drive (I didn't even bother trying to stuff the kernel or the root FS into the on-board flash given that this needs to be a working mini-server rather than an embedded device) and an external drive enclosure with a SATA port multiplier, allowing it to do software RAID.

Transfer rates aren't exactly record-breaking, but it'll shift a sustained 400MBit via either NFS or HTTP which is more than enough for backup tasks etc.

All of the software you've mentioned compiled on my box without complaint and save for reboots due to me pratting around with ISDN modules, it's been 100% rock solid: I think you'll like it :-)

Cheers,
Harry
Back to top
View user's profile Send private message
Curtm4n
n00b
n00b


Joined: 08 Nov 2004
Posts: 9

PostPosted: Mon Aug 30, 2010 2:21 pm    Post subject: Reply with quote

hazza wrote:
The fix to this is to flash via OpenOCD, and a more knowledgable chap on the Plug Computer forums has very kindly built me a new uBoot image. I have yet to try it, but I hope this will sort all my woes
...
I now have a version of uBoot that will both initialise the ethernet controllers AND boot a recent Linux kernel, but and of the kernels I do boot will only behave when the system ID is set to OpenRD-Base... Using OpenRD-Ultimate, the network goes dead as soon as Linux boots. Problem with using the Base system ID is that you then loose one of your NICs (base only has one)


Hello, I've also got an OpenRD Ultimate. Could you tell me more about the version of u-boot you are using now? Do you know which sources they are built from? I was going to try to build the u-boot-1.1.4_2010.5.5 sources from the Google groups OpenRD page ( http://code.google.com/p/openrd/downloads/detail?name=u-boot-1.1.4_2010.5.5.tar.bz2 ) when I found your thread here.

So far I have been building my Gentoo system in a chroot within the Fedora OS that shipped on the device. I followed the distcc crosscompile guide ( http://www.gentoo.org/doc/en/cross-compiling-distcc.xml ) to add the distcc-wrapper script on the OpenRD, and now emerging is very fast with the help of my x86 machines. :)


Unfortunately I haven't had any luck booting a newer kernel because of the machine id thing you talk about, so I'm stuck booting Fedora. I see this:

Code:
Uncompressing Linux... done, booting the kernel.

Error: unrecognized/unsupported machine ID (r1 = 0x0000020f).

Available machine support:

ID (hex)        NAME
00000b44        Marvell OpenRD Ultimate Board
00000939        Marvell OpenRD Client Board
00000915        Marvell OpenRD Base Board

Please check your kernel config and/or bootloader.


So I guess the u-boot that ships on the device doesn't pass the arcNumber variable properly to newer kernels? Because I can't get it to boot even if I tell it that my ID is a OpenRD Client or Base.


UPDATE: I went ahead and flashed the U-Boot from the forum post you linked to, and it worked like a charm! Hooray! Thank you very much.

Code:
Marvell>> tftpboot 0x2000000 /openrd-uImage-2.6.35.4-withultimate
Using egiga0 device
TFTP from server 192.168.1.12; our IP address is 192.168.1.9
Filename '/openrd-uImage-2.6.35.4-withultimate'.
Load address: 0x2000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #####################
done
Bytes transferred = 2769152 (2a4100 hex)
Marvell>> setenv bootargs console=ttyS0,115200 root=/dev/sda1 rw
Marvell>> bootm 0x2000000
## Booting image at 02000000 ...
   Image Name:   Linux-2.6.35.4
   Created:      2010-08-29   3:35:18 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2769088 Bytes =  2.6 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Linux version 2.6.35.4 (root@OpenRD) (gcc version 4.4.4 (Gentoo 4.4.4-r1 p1.1, pie-0.4.5) ) #2 PREEMPT Sat Aug 28 22:16:43 CDT 2010
CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Marvell OpenRD Ultimate 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/sda1 rw

...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on Alternative Architectures All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum