Version 9 (modified by 13 years ago) ( diff ) | ,
---|
Introduction
- Device : http://routerboard.com/RB493G
- Mission : Install FreeBSD on it to run it as home router.
- Reason : a) Energy consumption vs Performance: Low powered high specs device. b) Getting FreeBSD to run on MIPS based devices. c) Work with large amount of Ethernet ports.
Tech
- AR7161 MIPS 24k (mips32r2) 680MHz PCI, GMII/RGMII/MII (GigE), UART, USB 2.0, PCM, I2S
References
- http://wiki.freebsd.org/FreeBSD/mips
- http://loos.no-ip.org/routerboard/
- http://lists.freebsd.org/pipermail/freebsd-mips/2011-January/001371.html
Status
- 30/01/2012 - Board is not booting yet.
- 30/01/2012 - Building world/and kernel.
- 31/01/2012 - Make sure to set the Boot Options to DHCP
/root/build-mips.csh
Helper script I use to build
brahm# cat /root/build-mips.csh setenv SRCROOT /usr/src-head setenv TARGET mips setenv TARGET_ARCH mipseb setenv TARGET_CPUTYPE mips32 setenv KERNCONF AR71XX_BASE setenv MAKEOBJDIRPREFIX /usr/obj/mips set NFSROOT=/nfsroot/mipseb set TFTPBOOT=/tftpboot/ar71xx set MAKEFLAGS=(-DWITHOUT_CDDL \ -DWITHOUT_GAMES \ -DWITHOUT_DOCS \ -DWITHOUT_KERBEROS \ -DWITHOUT_ACPI \ -DWITHOUT_KERBEROS \ -DWITHOUT_RESCUE \ -DWITHOUT_MAN \ -DWITHOUT_PROFILE \ -DWITHOUT_BSNMP \ -DWITHOUT_NIS \ -DWITHOUT_IPX \ -DWITHOUT_ATM) cd ${SRCROOT} #make ${MAKEFLAGS} kernel-toolchain #make ${MAKEFLAGS} buildworld make ${MAKEFLAGS} buildkernel make ${MAKEFLAGS} DESTDIR=${TFTPBOOT} installkernel #make DESTDIR=${NFSROOT} ${MAKEFLAGS} installworld #make DESTDIR=${NFSROOT} ${MAKEFLAGS} distrib-dirs #make DESTDIR=${NFSROOT} ${MAKEFLAGS} distribution
your choice: p - boot protocol Choose which boot protocol to use: 1 - bootp protocol * 2 - dhcp protocol your choice: 2 - dhcp protocol
RouterBOOT booter 2.29 RouterBoard 493G CPU frequency: 680 MHz Memory size: 256 MB Press any key within 2 seconds to enter setup. RouterBOOT-2.29
Board Info: Board type: 493G Serial number: 25E001744DD7 Firmware version: 2.29 CPU frequency: 680 MHz Memory size: 256 MB Build time: 2010-12-09 15:21:33 eth1 MAC address: 00:0C:42:A9:15:60 eth2 MAC address: 00:0C:42:A9:15:61 eth3 MAC address: 00:0C:42:A9:15:62 eth4 MAC address: 00:0C:42:A9:15:63 eth5 MAC address: 00:0C:42:A9:15:64 eth6 MAC address: 00:0C:42:A9:15:65 eth7 MAC address: 00:0C:42:A9:15:66 eth8 MAC address: 00:0C:42:A9:15:67 eth9 MAC address: 00:0C:42:A9:15:68
RouterBOOT booter 2.29 RouterBoard 493G CPU frequency: 680 MHz Memory size: 256 MB Press any key within 2 seconds to enter setup.. trying dhcp protocol... OK resolved mac address 00:16:0A:24:DA:5F Gateway: 192.168.10.1 transfer started .......*....*......*.....*.......*.....*.......*. transfer ok, time=2.75s setting up elf image... OK jumping to kernel code CPU platform: Atheros AR7161 rev 2 CPU Frequency=680 MHz CPU DDR Frequency=340 MHz CPU AHB Frequency=170 MHz platform frequency: 680000000 arguments: a0 = 00000008 a1 = a0871c00 a2 = 00000000 a3 = 00000000 Cmd line: console=ttyS0,115200 gpio=4031 HZ=340000000 mem=256M kmac=00:0C:42:A9:15:60 board=493G boot=1 mlc=2 Environment: envp is invalid Cache info: picache_stride = 4096 picache_loopcount = 16 pdcache_stride = 4096 pdcache_loopcount = 8 cpu0: MIPS Technologies processor v116.147 MMU: Standard TLB, 16 entries L1 i-cache: 4 ways of 512 sets, 32 bytes per line L1 d-cache: 4 ways of 256 sets, 32 bytes per line Config1=0x9ee3519e<PerfCount,WatchRegs,MIPS16,EJTAG> Config3=0x20 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 10.0-CURRENT #0 r230787: Tue Jan 31 07:55:06 CET 2012 root@brahm.vanderzwet.net:/usr/obj/mips/mips.mipseb/usr/src-head/sys/AR71XX_BASE mips WARNING: WITNESS option enabled, expect reduced performance. MEMGUARD DEBUGGING ALLOCATOR INITIALIZED: MEMGUARD map base: 0xc0400000 MEMGUARD map limit: 0xc1800000 MEMGUARD map size: 20480 KBytes real memory = 33554432 (32768K bytes) avail memory = 25202688 (24MB) random device not loaded; using insecure entropy nexus0: <MIPS32 root nexus> clock0: <Generic MIPS32 ticker> on nexus0 Timecounter "MIPS32" frequency 340000000 Hz quality 800 Event timer "MIPS32" frequency 340000000 Hz quality 800 apb0 at irq 4 on nexus0 uart0: <16550 or compatible> on apb0 uart0: console (115200,n,8,1) gpio0: <Atheros AR71XX GPIO driver> on apb0 gpio0: [GIANT-LOCKED] gpio0: gpio pinmask=0x0 gpioc0: <GPIO controller> on gpio0 gpiobus0: <GPIO bus> on gpio0 ehci0: <AR71XX Integrated USB 2.0 controller> at mem 0x1b000000-0x1bffffff irq 1 on nexus0 usbus0: set host controller mode usbus0: EHCI version 1.0 usbus0: set host controller mode usbus0: <AR71XX Integrated USB 2.0 controller> on ehci0 pcib0 at irq 0 on nexus0 pci0: <PCI bus> on pcib0 pci0: <old, non-VGA display device> at device 0.0 (no driver attached) arge0: <Atheros AR71xx built-in ethernet interface> at mem 0x19000000-0x19000fff irq 2 on nexus0 arge0: No PHY specified, using mask 16 miibus0: <MII bus> on arge0 ukphy0: <Generic IEEE 802.3u media interface> PHY 4 on miibus0 ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto arge0: Ethernet address: 00:0c:42:a9:15:60 arge1: <Atheros AR71xx built-in ethernet interface> at mem 0x1a000000-0x1a000fff irq 3 on nexus0 arge1: No PHY specified, using mask 15 arge1: Ethernet address: 00:0c:42:a9:15:61 spi0: <AR71XX SPI> at mem 0x1f000000-0x1f00000f on nexus0 spibus0: <spibus bus> on spi0 mx25l0: <M25Pxx Flash Family> at cs 0 on spibus0 Unknown SPI flash device. Vendor: 00, device id: 0000 device_attach: mx25l0 attach returned 6 ar71xx_wdog0: <Atheros AR71XX watchdog timer> on nexus0 Timecounters tick every 1.000 msec usbus0: 480Mbps High Speed USB v2.0 WARNING: WITNESS option enabled, expect reduced performance. Root mount waiting for: usbus0 ugen0.1: <Atheros> at usbus0 uhub0: <Atheros EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0 Root mount waiting for: usbus0 uhub0: 2 ports with 2 removable, self powered Loader variables: Manual root filesystem specification: <fstype>:<device> [options] Mount <device> using filesystem <fstype> and with the specified (optional) option list. eg. ufs:/dev/da0s1a zfs:tank cd9660:/dev/acd0 ro (which is equivalent to: mount -t cd9660 -o ro /dev/acd0 /) ? List valid disk boot devices . Yield 1 second (for background tasks) <empty line> Abort manual input mountroot>
Note:
See TracWiki
for help on using the wiki.