== Introduction == * Device : [http://www.globalscaletechnologies.com/t-dreamplugdetails.aspx#features Dreamplug] * Mission : Install FreeBSD on it to run it as home server. * Reason : a) Energy consumption vs Performance: Low powered high specs device. b) Getting FreeBSD to run on ARM based devices. == References == * http://www.plugcomputer.org/plugwiki/index.php/GuruPlug * http://wiki.freebsd.org/FreeBSDMarvell * http://cooltrainer.org/projects/freebsd-kirkwood/ * http://lists.freebsd.org/pipermail/freebsd-arm/2012-January/003245.html == Status == * 30/01/2012 - Board is not booting yet. # make buildworld TARGET=arm > Fails with: ERROR: tables.o uses FPA instructions, whereas IPXrouted does not # make buildworld TARGET=arm WITHOUT_IPX=1 # setenv DESTDIR /nfsroot/arm-8-le # mkdir -p $DESTDIR # make installworld TARGET_ARCH=arm WITHOUT_IPX=1 # make distrib-dirs TARGET_ARCH=arm WITHOUT_IPX=1 # make distribution TARGET_ARCH=arm WITHOUT_IPX=1 # screen /dev/ttyUSB0 115200 {{{ Marvell>> version U-Boot 2011.06-02334-g8f495d9-dirty (Mar 01 2011 - 06:57:05) Marvell-DreamPlug Marvell>> printenv bootcmd=setenv ethact egiga0; ${x_bootcmd_ethernet}; setenv ethact egiga1; ${x_bootcmd_ethernet}; ${x_bootcmd_usb}; ${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_bootargs_root}; bootm 0x6400000; bootdelay=3 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:74:14 eth1addr=F0:AD:4E:00:74:15 stdin=serial stdout=serial stderr=serial Environment size: 524/4092 bytes }}} {{{ Marvell>> dhcp 900000 BOOTP broadcast 1 DHCP client bound to address 192.168.10.100 Using egiga0 device TFTP from server 192.168.10.1; our IP address is 192.168.10.100 Filename '/mv5281/kernel.bin'. Load address: 0x900000 Loading: ################################################################# ################################################################# ################################################################# ######################## done Bytes transferred = 3214712 (310d78 hex) Marvell>> go 900000 ## Starting application at 0x00900000 ... dtbp = 0xc0bedd60 KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2012 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 9.0-RELEASE #0 r230587: Mon Jan 30 22:03:05 CET 2012 root@brahm.vanderzwet.net:/usr/obj/arm.arm/usr/src-releng-9.0/sys/SHEEVAPLUG 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 = 519999488 (495 MB) SOC: Marvell 88F6281 rev A1, TClock 200MHz simplebus0: on fdtbus0 ic0: mem 0xf1020200-0xf102023b on simplebus0 timer0: mem 0xf1020300-0xf102032f irq 1 on simplebus0 Event timer "CPUTimer0" frequency 200000000 Hz quality 1000 Timecounter "CPUTimer1" frequency 200000000 Hz quality 1000 gpio0: mem 0xf1010100-0xf101011f irq 35,36,37,38,39,40,41 on simplebus0 rtc0: mem 0xf1010300-0xf1010307 on simplebus0 mge0: mem 0xf1072000-0xf1073fff irq 12,13,14,11,46 on simplebus0 mge0: Ethernet address: f0:ad:4e:00:74:14 miibus0: on mge0 e1000phy0: PHY 0 on miibus0 e1000phy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto uart0: <16550 or compatible> mem 0xf1012000-0xf101201f irq 33 on simplebus0 uart0: console (1056,n,8,1) uart1: <16550 or compatible> mem 0xf1012100-0xf101211f irq 34 on simplebus0 ehci0: mem 0xf1050000-0xf1050fff irq 48,19 on simplebus0 usbus0: EHCI version 1.0 usbus0: stop timeout usbus0: set host controller mode }}} == Misc == === USB FTDI UART/JTAG Debugger === {{{ ugen2.6: at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen2.6.0: uftdi2: ugen2.6.1: uftdi3: bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0000 bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0008 idVendor = 0x9e88 idProduct = 0x9e8f bcdDevice = 0x0500 iManufacturer = 0x0001 iProduct = 0x0002 iSerialNumber = 0x0003 bNumConfigurations = 0x0001 }}} === Clear old world === # chflags -R 0 /nfsroot/arm-8-le/ # rm -fR /nfsroot/arm-8-le/*