While in no way first on this I got myself a Raspberry Pi 2 the other day and of course wanted to run FreeBSD on it, it only took a couple of attempts to get it up and running.
First of all it seems as if the power adapters I had used with the old Pi’s were not giving out the amperage that the Pi 2 required. Second I’m not sure if I just did not wait long enough after booting, but it seemed to hang during boot so I rewrote the image a couple of times.
Now it gladly boots repeatedly and runs fine. Even completely headless which apparently has not been the case that long with FreeBSD on the Pi 2.
Booting and bootstrapping pkg is the only things I have done with it so far.
A couple of notes, I wrote a 10.2-STABLE image for the original Raspberry Pi on the card and got the rainbow screen so that seems to be a good indicator of issues with the image or SD card. Also, FreeBSD turns the power diode off during boot, so using that to gauge if it booted properly in headless while trying out various images was not that good an indicator..
henrik@rpi2:~ % dmesg
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2015 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 r291495: Tue Dec 1 09:13:20 UTC 2015
root@releng2.nyi.freebsd.org:/usr/obj/arm.armv6/usr/src/sys/RPI2 arm
FreeBSD clang version 3.7.0 (tags/RELEASE_370/final 246257) 20150906
VT: init without driver.
sema_sysinit
CPU: Cortex A7 rev 5 (Cortex-A core)
Supported features: ARM_ISA THUMB2 JAZELLE THUMBEE ARMv4 Security_Ext
WB disabled EABT branch prediction enabled
LoUU:2 LoC:3 LoUIS:2
Cache level 1:
32KB/64B 4-way data cache WB Read-Alloc Write-Alloc
32KB/32B 2-way instruction cache Read-Alloc
Cache level 2:
512KB/64B 8-way unified cache WB Read-Alloc Write-Alloc
real memory = 989851648 (943 MB)
avail memory = 958476288 (914 MB)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
random: entropy device external interface
kbd0 at kbdmux0
ofwbus0:
simplebus0:
bcm28360:
generic_timer0:
Timecounter "ARM MPCore Timecounter" frequency 19200000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 19200000 Hz quality 1000
intc0:
bcmwd0:
gpio0:
gpio0: read-only pins: 46,48-53.
gpio0: reserved pins: 48-53.
gpiobus0:
gpioled0:
gpioled1:
gpioc0:
iichb0:
iicbus0:
iic0:
iichb1:
iicbus1:
iic1:
spi0:
spibus0:
bcm_dma0:
mbox0:
sdhci_bcm0:
mmc0:
uart0:
uart0: console (115200,n,8,1)
vchiq0:
vchiq: local ver 8 (min 3), remote ver 8.
pcm0:
bcm283x_dwcotg0:
usbus0 on bcm283x_dwcotg0
cpulist0:
cpu0:
bcm2835_cpufreq0:
cpu1:
cpu2:
cpu3:
fb0:
fbd0 on fb0
VT: initialize with new VT driver "fb".
fb0: 656x416(656x416@0,0) 24bpp
fb0: fbswap: 1, pitch 1968, base 0x3daac000, screen_size 818688
cryptosoft0:
Timecounters tick every 10.000 msec
IPsec: Initialized Security Association Processing.
usbus0: 480Mbps High Speed USB v2.0
ugen0.1:
uhub0:
mmcsd0: 16GB
bcm2835_cpufreq0: ARM 600MHz, Core 250MHz, SDRAM 400MHz, Turbo OFF
Release APs
Trying to mount root from ufs:/dev/ufs/rootfs [rw]...
warning: no time-of-day clock registered, system time will not be set accurately
uhub0: 1 port with 1 removable, self powered
ugen0.2:
uhub1:
uhub1: MTT enabled
uhub1: 5 ports with 4 removable, self powered
ugen0.3:
smsc0:
smsc0: chip 0xec00, rev. 0002
miibus0:
ukphy0:
ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ue0:
ue0: Ethernet address: b8:27:eb:99:c2:60
random: unblocking device.
smsc0: chip 0xec00, rev. 0002
ue0: link state changed to DOWN
ue0: link state changed to UP
henrik@rpi2:~ %
henrik@rpi2:~ % uname -a
FreeBSD rpi2 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r291495: Tue Dec 1 09:13:20 UTC 2015 root@releng2.nyi.freebsd.org:/usr/obj/arm.armv6/usr/src/sys/RPI2 arm
henrik@rpi2:~ %