Please enable javascript, or click here to visit my ecommerce web site powered by Shopify.
Jump to: navigation, search

Rock/FreeBSD

Status

Ganbold, a FreeBSD developer, now get FreeBSD booting on rockchip platform. Ganbold told us only basic stuffs, gpio, dwc usb host mode are working. But this is just a start :) If you are interested, ping ganbold at #radxa irc channel on freenode for more details.

How to boot FreeBSD

The instructions are at FreeBSD ARM wiki

https://wiki.freebsd.org/FreeBSD/arm/Radxa%20Rock

you can flash FreeBSD kernel image into kernel partition. but if another kernel is flashed in boot partition (as kernel+ramdisk image made by mkbootimg), kernel will be loaded from boot partition. to avoid this, you have to flash dummy ramdisk image (generated by rkcrc -k) into boot partition. (dummy image will be loaded as ramdisk, but it will not be used by FreeBSD kernel)

if you tried dual-boot, misc partition may have a command to boot from recovery partition. in this case, you may need to flash dummy image into recovery partition, or you may need to erase misc partition.

if you are using Radxa Rock lite (and Engineering Sample with 1GB RAM), you have to use rk3188-radxa-lite.dts.

dmesg

KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2014 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 11.0-CURRENT #0: Wed May 28 15:59:10 UTC 2014
    root@beaglebone:/usr/src/sys/arm/compile/RADXA arm
FreeBSD clang version 3.4 (tags/RELEASE_34/final 197956) 20140216
CPU: Cortex A9-r3 rev 0 (Cortex-A core)
 Supported features: ARM_ISA THUMB2 JAZELLE THUMBEE ARMv4 Security_Ext
 WB disabled EABT branch prediction enabled
LoUU:2 LoC:1 LoUIS:2 
Cache level 1: 
 32KB/32B 4-way data cache WB Read-Alloc Write-Alloc
 32KB/32B 4-way instruction cache Read-Alloc
real memory  = 2147483648 (2048 MB)
avail memory = 2095329280 (1998 MB)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
random: <Software, Yarrow> initialized
ofwbus0: <Open Firmware Device Tree>
simplebus0: <Flattened device tree simple bus> on ofwbus0
gic0: <ARM Generic Interrupt Controller> mem 0x1013d000-0x1013dfff,0x1013c100-0x1013c1ff on simplebus0
gic0: pn 0x390, arch 0x1, rev 0x2, implementer 0x43b sc->nirqs 160
rk30_pmu0: <RK30XX PMU> mem 0x20004000-0x200040ff on simplebus0
rk30_grf0: <RK30XX General Register File> mem 0x20008000-0x20009fff on simplebus0
mp_tmr0: <ARM MPCore Timers> mem 0x1013c200-0x1013c2ff,0x1013c600-0x1013c61f irq 27,29 on simplebus0
Timecounter "MPCore" frequency 148500000 Hz quality 800
Event timer "MPCore" frequency 148500000 Hz quality 1000
rk30_wd0: <Rockchip RK30XX Watchdog> mem 0x2004c000-0x2004c0ff on simplebus0
gpio0: <Rockchip RK30XX GPIO controller> mem 0x2000a000-0x2000a0ff irq 86 on simplebus0
gpioc0: <GPIO controller> on gpio0
gpiobus0: <GPIO bus> on gpio0
gpio1: <Rockchip RK30XX GPIO controller> mem 0x2003c000-0x2003c0ff irq 87 on simplebus0
device_attach: gpio1 attach returned 6
gpio1: <Rockchip RK30XX GPIO controller> mem 0x2003e000-0x2003e0ff irq 88 on simplebus0
device_attach: gpio1 attach returned 6
gpio1: <Rockchip RK30XX GPIO controller> mem 0x20080000-0x200800ff irq 89 on simplebus0
device_attach: gpio1 attach returned 6
dwcotg0: <DWC OTG 2.0 integrated USB controller> mem 0x10180000-0x101bffff irq 48 on simplebus0
usbus0 on dwcotg0
dwcotg1: <DWC OTG 2.0 integrated USB controller> mem 0x101c0000-0x101fffff irq 49 on simplebus0
usbus1 on dwcotg1
uart0: <16650 or compatible> mem 0x20064000-0x200643ff irq 68 on simplebus0
uart0: console (115200,n,8,1)
Timecounters tick every 10.000 msec
usbus0: 480Mbps High Speed USB v2.0
usbus1: 480Mbps High Speed USB v2.0
ugen1.1: <DWCOTG> at usbus1
uhub0: <DWCOTG OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
ugen0.1: <DWCOTG> at usbus0
uhub1: <DWCOTG OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
random: unblocking device.
Release APs
Root mount waiting for: usbus1 usbus0
uhub0: 1 port with 1 removable, self powered
uhub1: 1 port with 1 removable, self powered
ugen1.2: <vendor 0x05e3> at usbus1
uhub2: <vendor 0x05e3 USB2.0 Hub, class 9/0, rev 2.00/85.36, addr 2> on usbus1
Root mount waiting for: usbus1
uhub2: 4 ports with 4 removable, self powered
Root mount waiting for: usbus1
ugen1.3: <Realtek> at usbus1
usbd_set_config_index: could not read device status: USB_ERR_SHORT_XFER
Root mount waiting for: usbus1
ugen1.4: <BUFFALO> at usbus1
umass0: <MSC Bulk-Only Transfer> on usbus1
umass0:  SCSI over Bulk-Only; quirks = 0x4100
umass0:0:0: Attached to scbudsa00
 at umass-sim0 bus 0 scbus0 target 0 lun 0
da0: <WDC WD16 00BEVS-22RST0 > Fixed Direct Access SCSI-2 device 
da0: Serial Number 00001504B59E
da0: 40.000MB/s transfers
da0: 152377MB (312069552 512 byte sectors: 255H 63S/T 19425C)
da0: quirks=0x2<NO_6_BYTE>
Root mount waiting for: usbus1
ugen1.5: <vendor 0x0b95> at usbus1
axe0: <vendor 0x0b95 product 0x7720, rev 2.00/0.01, addr 5> on usbus1
Trying to mount root from ufs:/dev/da0s2 []...
warning: no time-of-day clock registered, system time will not be set accurately
miibus0: <MII bus> on axe0
ukphy0: <Generic IEEE 802.3u media interface> PHY 16 on miibus0
ukphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ue0: <USB Ethernet> on axe0
ue0: Ethernet address: **:**:**:**:**:**
Spurious interrupt detected [0x000003ff]