Sinn von Guruplug und Konsorten

MuffiXXL

Well-Known Member
Hi,

ich habe da immer wieder Diskussionen bezüglich der Sinnhaftigkeit von Hardware wie dem Guruplug oder auch dem neuen Dreamplug, da mir da nicht wirklich ein sinnvolles Einsatzgebiet für einfallen will. Daher mal die Frage in die Runde ob ihr in Sowas Sinn seht und wenn ja, für welchen Zweck.

Falls jemand die Kisten nicht kennt: Es handelt sich um kleine ARM SOC Systeme mit typischerweise 512MB DDR(2)-Ram, 2x Gigabit und ein paar Gigabyte Flash.
 
USB2.0 NAS? PPPoE Client und IPv(4|6) Router? DNS Caching Resolver? Firewall? 24/7 Box für zuhause?
 
USB2.0 NAS? PPPoE Client und IPv(4|6) Router? DNS Caching Resolver? Firewall? 24/7 Box für zuhause?

also für ne NAS sind die Teile sehr unbrauchbar. Wenn sie USB 3.0 hätten, dann eher. Noch besser SATA oder eSATA.

Der wichtigste Einsatzzweck von den Teilen: Nerd-Spielzeug.
 
also für ne NAS sind die Teile sehr unbrauchbar. Wenn sie USB 3.0 hätten, dann eher. Noch besser SATA oder eSATA.

Hat doch eSATA...

Ansonsten natürlich ideal als Firewall, da es mit 2 RJ45 Buchsen kommt. Sogar Gbit.

Mich würde hingegen interessieren ob die Soundkarte brauchbar ist. Dann würde ich mir überlegen diverse Räume in der Wohnung mit sowas auszustatten und ein paar Aktivboxen dranzuhängen. Musik ist sowieso auf dem Homeserver, musicpd mit Web-frontend und schon kann man von jedem Gerät mit Browser die Beschallung der ganzen Wohnung koordinieren!
 
Für nen Router/Firewall halte ich es für eher ungeeignet. Da färt man irgendwie mit einer WRAP oder Soekris besser, denn 2 GBit Ports für sowas ist ja absoluter Overkill und MiniPCI oder wlan hat die Kiste ja auch nicht, also idlet die bei sonem Einsatz sinnlos rum.
Als Himefileserver... naja, immer davon abhängig welchem Dteisystem man vertraut, aber wenn ich einen NAS Dieses Kalibers will, gibt es doch wieder besser geeignete Dedizierte Produkte die mir den gleichen Frickel-Spielraum lassen aber erstmal ohne Gefrickel sämtliche Funktionalität liefern.
Bleibt für mich als einziger Usecase die gemischte Nutzung übrig und da frage ich mich dann wieder, ob die Kiste dann nicht überfordert ist und wlan bleibt nach wie vor aussen vor, wozu man sich wieder ein weiteres Gerät hinstellen müsste, weswegen ich ja auch der Ansicht bin, dass ne Soekris/WRAP und was dediziertes als NAS irgendwie mehr Sinn ergeben.

Bleibt also noch Nerd-Spielzeug. Das leuchtet wiederum ein.
 
Natürlich ist es ein Nerdspielzeug und eine günstiges Entwicklungsboard fürs jeweilige SoC.
 
Ich benutze mehrere solcher Systeme unter anderem als

- Fileserver (sshfs) mit USB Platten - 25MB/s mit cryptodev
- SSH Gateway
- WLAN Bridge, UMTS gateway, WLAN AP
- Kalendar, Sync, Download, XMPP Bot etc Server

Der Stromverbrauch (~5W) und der geringe Preis, wenn man von den "echten" Sheeva/Guruplugs absieht, sind einfach die Totschlagargumente. -> Siehe Dockstar/iConnect
 
Welches OS benutzt du auf den Plugs? Hab hier noch eins stehen, dass ich eigentlich als Fileserver und zum streamen von Musik benutzen will. Würde natürlich am liebsten ein BSD darauf laufen lassen :)
 
Ich benutze Debian, FreeBSD ist mir momentan noch zu wackelig und zu langsam.

Die Dinger taugen auch toll als MPD Kistchen, wenn man eine USB soundkarte dranhängt.

@Crest: Weißt du zufällig, ob die cryptoengine vom kirkwood unter FreeBSD genutzt werden kann? - Das wäre der Hammer.
 
Nicht das ich wüsste. Gibt's da offene Doku zu?
Hat jemand von euch UFS cluster r/w mit virtuell getaggten Caches verfolgt? Gibt es da Fortschritte?
 
Ich benutze Debian, FreeBSD ist mir momentan noch zu wackelig und zu langsam.

Die Dinger taugen auch toll als MPD Kistchen, wenn man eine USB soundkarte dranhängt.

@Crest: Weißt du zufällig, ob die cryptoengine vom kirkwood unter FreeBSD genutzt werden kann? - Das wäre der Hammer.

Kannst du mir eine USB-Soundkarte empfehlen, die unter FreeBSD läuft? Ein MPD-Server wäre wirklich stark :D
 
Ich habe einfach einen noch in der Ecke liegende USB-Soundkarte genommen. All die billigen Dinger ohne besondere Features sollten funktionieren. Leider unterstützen manche nur eine Samplingrate. In diesem Fall muss die CPU das konvertieren. Auf x86ern merkst du das nicht. Mit ARMs kannst du wahrscheinlich merken. So oder so es funktioniert. Nimm ne alte Laptop platte. Installiere dir ein FreeBSD + MusicPD drauf und das Teil hat einen Nutzwert.
 
Ok, danke für den Hinweis.

Momentan komme ich bei der Installation nicht weiter. Hab eigentlich alles wie in der (Anleitung beschrieben gemacht, aber er findet beim booten kein root-fs.

Code:
        __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V / __/ | |
        |_|  |_|\__,_|_| \_/ \___|_|_|
 _   _     ____              _
| | | |   | __ )  ___   ___ | |_ 
| | | |___|  _ \ / _ \ / _ \| __| 
| |_| |___| |_) | (_) | (_) | |_ 
 \___/    |____/ \___/ \___/ \__| 
 ** MARVELL BOARD: SHEEVA PLUG LE 

U-Boot 1.1.4 (Jul 19 2009 - 16:03:28) Marvell version: 3.4.19

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

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
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:512 MB
Flash:  0 kB

CPU : Marvell Feroceon (Rev 1)

Streaming disabled 
Write allocate disabled


USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0 
SDHC found. Card desciption is:
Manufacturer:       0x27, OEM "PH"
Product name:       "SD04G", revision 2.0
Serial number:      2084570541
Manufacturing date: 12/2009
CRC:                0x00, b0 = 0
reading kernel.bin

3217780 bytes read
## Starting application at 0x00900000 ...
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2011 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.2-RELEASE-p2 #2: Wed Jun  1 12:05:37 UTC 2011
    nils@drm-pcbsd:/usr/obj/arm/usr/src/sys/SHEEVAPLUG-enhanced arm
CPU: Feroceon 88FR131 rev 1 (Marvell core)
  DC enabled IC enabled WB enabled EABT branch prediction enabled
  16KB/32B 4-way Instruction cache
  16KB/32B 4-way write-back-locking-C Data cache
real memory  = 536870912 (512 MB)
avail memory = 520138752 (496 MB)
SOC: Marvell 88F6281 rev A0, TClock 200MHz
mbus0: <Marvell Internal Bus (Mbus)> on motherboard
ic0: <Marvell Integrated Interrupt Controller> at mem 0xf1020200-0xf102023b on mbus0
timer0: <Marvell CPU Timer> at mem 0xf1020300-0xf102032f irq 1 on mbus0
timer0: [FILTER]
rtc0: <Marvell Integrated RTC> at mem 0xf1010300-0xf1010307 on mbus0
gpio0: <Marvell Integrated GPIO Controller> at mem 0xf1010100-0xf101011f irq 35,36,37,38,39,40,41 on mbus0
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
uart0: <16550 or compatible> at mem 0xf1012000-0xf101201f irq 33 on mbus0
uart0: [FILTER]
uart0: console (115740,n,8,1)
uart1: <16550 or compatible> at mem 0xf1012100-0xf101211f irq 34 on mbus0
uart1: [FILTER]
ehci0: <Marvell Integrated USB 2.0 controller> at mem 0xf1050000-0xf1050fff irq 48,19 on mbus0
ehci0: [FILTER]
ehci0: [ITHREAD]
usbus0: EHCI version 1.0
usbus0: set host controller mode
usbus0: <Marvell Integrated USB 2.0 controller> on ehci0
mge0: <Marvell Gigabit Ethernet controller> at mem 0xf1072000-0xf1073fff irq 12,13,14,11,46 on mbus0
mge0: Ethernet address: 00:50:43:01:4c:b6
miibus0: <MII bus> on mge0
e1000phy0: <Marvell 88E1116R Gigabit PHY> PHY 0 on miibus0
e1000phy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto
mge0: [ITHREAD]
mge0: [ITHREAD]
Timecounter "CPU Timer" frequency 200000000 Hz quality 1000
Timecounters tick every 1.000 msec
usbus0: 480Mbps High Speed USB v2.0
ugen0.1: <Marvell> at usbus0
uhub0: <Marvell EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
uhub0: 1 port with 1 removable, self powered
Trying to mount root from ufs:/dev/ufs/sheevaroot
ROOT MOUNT ERROR: 
If you have invalid mount options, reboot, and first try the following from
the loader prompt:

     set vfs.root.mountfrom.options=rw

and then remove invalid mount options from /etc/fstab.

Loader variables:
vfs.root.mountfrom=
vfs.root.mountfrom.options=

Manual root filesystem specification:
  <fstype>:<device>  Mount <device> using filesystem <fstype>
                       eg. ufs:/dev/da0s1a
                       eg. cd9660:/dev/acd0
                       This is equivalent to: mount -t cd9660 /dev/acd0 /

  ?                  List valid disk boot devices
  <empty line>       Abort manual input

mountroot>

Meine /etc/fstab sieht so aus:

Code:
# Device        Mountpoint      FStype  Options         Dump    Pass#
/dev/ufs/sheevaroot     /       ufs     rw,noclusterr,noclusterw        0       0

und meine Kernel-config:

Code:
#
# Custom kernel for Marvell SheevaPlug devices.
#
# $FreeBSD: src/sys/arm/conf/SHEEVAPLUG,v 1.1.2.3.4.1 2010/12/21 17:09:25 kensmith Exp $
#

ident           SHEEVAPLUG
include         "../mv/kirkwood/std.sheevaplug"

options         SOC_MV_KIRKWOOD
makeoptions     MODULES_OVERRIDE=""

#makeoptions    DEBUG=-g                #Build kernel with gdb(1) debug symbols
makeoptions     WERROR="-Werror"

options         SCHED_4BSD              #4BSD scheduler
options         INET                    #InterNETworking
options         INET6                   #IPv6 communications protocols
options         FFS                     #Berkeley Fast Filesystem
options         NFSCLIENT               #Network Filesystem Client
options         NFSLOCKD                #Network Lock Manager
options         NFS_ROOT                #NFS usable as /, requires NFSCLIENT
#options        BOOTP
#options        BOOTP_NFSROOT
#options        BOOTP_NFSV3
#options        BOOTP_WIRED_TO=mge0

options         GEOM_PART_BSD
options         GEOM_PART_GPT
options         GEOM_PART_MBR
options         GEOM_LABEL

options         SOFTUPDATES
options         MSDOSFS
options         PROCFS
options         PSEUDOFS

# Root fs on USB device
options         ROOTDEVNAME=\"ufs:/dev/ufs/sheevaroot\"

options         SYSVSHM                 #SYSV-style shared memory
options         SYSVMSG                 #SYSV-style message queues
options         SYSVSEM                 #SYSV-style semaphores
options         _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
options         MUTEX_NOINLINE
options         RWLOCK_NOINLINE
options         NO_FFS_SNAPSHOT
options         NO_SWAPPING

# Debugging
options         ALT_BREAK_TO_DEBUGGER
options         DDB
options         KDB

# Pseudo devices
device          random
device          pty
device          loop

# Serial ports
device          uart

# Networking
device          ether
device          mge                     # Marvell Gigabit Ethernet controller
device          mii
device          e1000phy
device          bpf
options         HZ=1000
options         DEVICE_POLLING
device          vlan

# USB
options         USB_DEBUG       # enable debug msgs
device          usb
device          ehci
device          umass
device          scbus
device          pass
device          da

#Swap space (Yes, just in case)
device          md                      # Memory "disks"

#USB audio
device          sound
device          snd_uaudio

Tja, jetzt weiß ich nicht weiter. Der Kernel wird beim booten gefunden, aber die zweite Partition scheinbar nicht. Was kann ich da tun?
 
Zuletzt bearbeitet:
Gib mal ein Fragezeichen ein. Das listet die gefunden Dateisysteme auf. Und poste die Liste hier.
 
Ah sorry, das hatte ich vergessen. Leider findet er keine Geräte:

Code:
mountroot> ?

List of GEOM managed disk devices:
  
Loader variables:
vfs.root.mountfrom=
vfs.root.mountfrom.options=

Manual root filesystem specification:
  <fstype>:<device>  Mount <device> using filesystem <fstype>
                       eg. ufs:/dev/da0s1a
                       eg. cd9660:/dev/acd0
                       This is equivalent to: mount -t cd9660 /dev/acd0 /

  ?                  List valid disk boot devices
  <empty line>       Abort manual input

mountroot>
 
Wo hast du denn deinen Kernel? Ich sehe kein da0 in deinem dmesg d.h. es wird kein USB Massstorage Device gefunden. Hast du deinen Kernel auf ner SD Cart? Soweit ich weiss unterstützt FreeBSD den SD Card Reader der Kirkwood SoCs (noch) nicht d.h. dein Rootfs muss auf nem UFS per USB oder NFS liegen.
 
Mein Kernel liegt auf der SD-Karte in einer FAT16-Partition. Wäre natürlich schade, wenn der Cardreader nicht unterstützt würde. Heißt das dann, dass ich die Karte auch nicht als Speicherplatz benutzen kann? Wäre natürlich ärgerlich, vor allem weil ich den einzigen USB-Steckplatz eigentlich für eine externe Soundkarte benutzen will.

Ich werd mal einen Stick freiräumen und dann weiter probieren. Vielen Dank schonmal für die Hilfe :)
 
Zurück
Oben