Can I run FreeBSD on Raspberry Pi 3?

I also have a Raspberry Pi 1 B+ has issues booting FreeBSD: It ends up in a "mountroot" prompt.


4 Answers 4


The fine folks at RaspBSD provide an image for the Pi 3.

You can download it at RaspBSD on the RaspberryPi.


At the moment there is no out-of-the-box FreeBSD build for Raspberry Pi 3.

But they are on it (see freebsd-arm mailing list).

For your RPi 1: Try one of the recent 11.0-RC2 or 12.0-CURRENT images from https://www.freebsd.org/where.html.

They shall boot fine.


It is being little late to answer this question. But, I am answering this for someone who is or will be going to search for the same question in or after 2018, then this will help.

I have installed FreeBSD 12.0-current on my Raspberry Pi 3 with 16GB SD-CARD.

I am using USB-TTL converter to access serial console and then via minicom.

I think sshd starts at boot but you need to setup wireless or wired connection.

Either you can use LAN cable to share internet from your PC to Raspberry Pi 3 or you can also use the simple method is just plug the wifi adapter and at the time of writing this answer I haven't checked the default built-in Broadcom wifi support.

I had even asked the question regarding with built-in wireless in 2017. Below is the response from FreeBSD community in 2017.

[prev in list] [next in list] [prev in thread] [next in thread]

List: freebsd-arm Subject: Re: Support for Raspberry Pi 3 wifi broadcom driver in FreeBSD From: Ilya Bakulin Date: 2017-06-20 9:36:17 Message-ID: 9d29575ccb57d1543ec78705bfd001b4 () bakulin ! de [Download message RAW]

Hi Neeraj,

no, wireless chip of RPi3 is not supported in FreeBSD. The support depends on the new SD/SDIO stack integration. Once it is integrated, someone has to write a driver for the chip. No ETAs on both tasks.

On 2017-06-16 06:04, Neeraj Pal wrote:

Hello all,

I want to know about wireless driver support for Raspberry Pi 3.

Is there any support for Raspberry Pi 3 wireless Broadcom (brcmfmac) driver? Because i feels difficulty to set-up wireless in Raspberry Pi 3 (installed FreeBSD).

*Details :[root@rpi3 /usr/home/raspberry]# *uname -a FreeBSD rpi3 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r318898M: Thu May 25 15:07:15 MDT 2017 [email protected]:/usr/home/brd/rpi3/crochet/work/obj/arm64.aarch64/usr/src/sys/GENERIC arm64

[email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-arm To unsubscribe, send any mail to "[email protected]"

-- Mit freundlichen Grüßen, Ilya Bakulin _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-arm To unsubscribe, send any mail to "[email protected]" [prev in list] [next in list] [prev in thread] [next in thread]

Well, I am using Panda Wireless PAU07 wireless adapter.

And, by default login credentials are user:password is freebsd:freebsd and root:root.

freebsd@generic:~ % uname -a
FreeBSD generic 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r335317: Mon Jun 18 17:37:04 UTC 2018     [email protected]:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC  arm64
freebsd@generic:~ % 

Here, dmesg:

freebsd@generic:~ % dmesg
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2018 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 12.0-CURRENT #0 r335317: Mon Jun 18 17:37:04 UTC 2018
    [email protected]:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm64
FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on LLVM 6.0.0)
WARNING: WITNESS option enabled, expect reduced performance.
VT: init without driver.
KLD file umodem.ko is missing dependencies
KLD file if_run.ko is missing dependencies
Starting CPU 1 (1)
Starting CPU 2 (2)
Starting CPU 3 (3)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
random: unblocking device.
random: entropy device external interface
MAP 8000000 mode 2 pages 8
MAP 39f36000 mode 2 pages 1
MAP 3b3aa000 mode 2 pages 1
MAP 3f100000 mode 1 pages 1
kbd0 at kbdmux0
ofwbus0: <Open Firmware Device Tree>
simplebus0: <Flattened device tree simple bus> on ofwbus0
ofw_clkbus0: <OFW clocks bus> on ofwbus0
clk_fixed0: <Fixed clock> on ofw_clkbus0
clk_fixed1: <Fixed clock> on ofw_clkbus0
regfix0: <Fixed Regulator> on ofwbus0
regfix1: <Fixed Regulator> on ofwbus0
psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
local_intc0: <BCM2836 Interrupt Controller> mem 0x40000000-0x400000ff on simplebus0
intc0: <BCM2835 Interrupt Controller> mem 0x7e00b200-0x7e00b3ff irq 20 on simplebus0
gpio0: <BCM2708/2835 GPIO controller> mem 0x7e200000-0x7e2000b3 irq 22,23 on simplebus0
gpiobus0: <OFW GPIO bus> on gpio0
generic_timer0: <ARMv7 Generic Timer> irq 0,1,2,3 on ofwbus0
Timecounter "ARM MPCore Timecounter" frequency 19200000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 19200000 Hz quality 1000
bcm_dma0: <BCM2835 DMA Controller> mem 0x7e007000-0x7e007eff irq 4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 on simplebus0
bcmwd0: <BCM2708/2835 Watchdog> mem 0x7e100000-0x7e100027 on simplebus0
bcmrng0: <Broadcom BCM2835 RNG> mem 0x7e104000-0x7e10400f on simplebus0
mbox0: <BCM2835 VideoCore Mailbox> mem 0x7e00b880-0x7e00b8bf irq 21 on simplebus0
gpioc0: <GPIO controller> on gpio0
uart0: <PrimeCell UART (PL011)> mem 0x7e201000-0x7e201fff irq 24 on simplebus0
uart0: console (115200,n,8,1)
spi0: <BCM2708/2835 SPI controller> mem 0x7e204000-0x7e204fff irq 26 on simplebus0
spibus0: <OFW SPI bus> on spi0
spibus0: <unknown card> at cs 0 mode 0
spibus0: <unknown card> at cs 1 mode 0
iichb0: <BCM2708/2835 BSC controller> mem 0x7e804000-0x7e804fff irq 37 on simplebus0
bcm283x_dwcotg0: <DWC OTG 2.0 integrated USB controller (bcm283x)> mem 0x7e980000-0x7e98ffff,0x7e006000-0x7e006fff irq 43,44 on simplebus0
usbus0 on bcm283x_dwcotg0
sdhci_bcm0: <Broadcom 2708 SDHCI controller> mem 0x7e300000-0x7e3000ff irq 46 on simplebus0
mmc0: <MMC/SD bus> on sdhci_bcm0
fb0: <BCM2835 VT framebuffer driver> on simplebus0
fbd0 on fb0
VT: initialize with new VT driver "fb".
fb0: 656x416(656x416@0,0) 24bpp
fb0: fbswap: 1, pitch 1968, base 0x3eb33000, screen_size 818688
pmu0: <Performance Monitoring Unit> irq 50 on simplebus0
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
cpu1: <Open Firmware CPU> on cpulist0
cpu2: <Open Firmware CPU> on cpulist0
cpu3: <Open Firmware CPU> on cpulist0
gpioled0: <GPIO LEDs> on ofwbus0
gpioled0: <led0> failed to map pin
gpioled0: <led1> failed to map pin
cryptosoft0: <software crypto>
Timecounters tick every 1.000 msec
usbus0: 480Mbps High Speed USB v2.0
iicbus0: <OFW I2C bus> on iichb0
iic0: <I2C generic I/O> on iicbus0
ugen0.1: <DWCOTG OTG Root HUB> at usbus0
uhub0: <DWCOTG OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
mmcsd0: 16GB <SDHC USD00 0.2 SN 3AC34AE0 MFG 02/2016 by 156 SO> at mmc0 50.0MHz/4bit/65535-block
Release APs...done
CPU  0: ARM Cortex-A53 r0p4 affinity:  0
 Instruction Set Attributes 0 = <Trying to mount root from ufs:/dev/ufs/rootfs [rw]...
 Instruction Set Attributes 1 = <>
         Processor Features 0 = <AdvSIMD,Float,EL3 32,EL2 32,EL1 32,EL0 32>
         Processor Features 1 = <0>
      Memory Model Features 0 = <4k Granule,64k Granule,MixedEndian,S/NS Mem,16bit ASID,1TB PA>
      Memory Model Features 1 = <>
      Memory Model Features 2 = <32b CCIDX,48b VA>
             Debug Features 0 = <2 CTX Breakpoints,4 Watchpoints,6 Breakpoints,PMUv3,Debug v8>
             Debug Features 1 = <0>
         Auxiliary Features 0 = <0>
         Auxiliary Features 1 = <0>
CPU  1: ARM Cortex-A53 r0p4 affinity:  1
CPU  2: ARM Cortex-A53 r0p4 affinity:  2
CPU  3: ARM Cortex-A53 r0p4 affinity:  3
WARNING: WITNESS option enabled, expect reduced performance.
Warning: no time-of-day clock registered, system time will not be set accurately
uhub0: 1 port with 1 removable, self powered
ugen0.2: <vendor 0x0424 product 0x9514> at usbus0
uhub1 on uhub0
uhub1: <vendor 0x0424 product 0x9514, class 9/0, rev 2.00/2.00, addr 2> on usbus0
uhub1: MTT enabled
uhub1: 5 ports with 4 removable, self powered
ugen0.3: <vendor 0x0424 product 0xec00> at usbus0
smsc0 on uhub1
smsc0: <vendor 0x0424 product 0xec00, rev 2.00/2.00, addr 3> on usbus0
smsc0: chip 0xec00, rev. 0002
miibus0: <MII bus> on smsc0
smscphy0: <SMC LAN8700 10/100 interface> PHY 1 on miibus0
smscphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ue0: <USB Ethernet> on smsc0
ue0: Ethernet address: b8:27:eb:b5:5b:d2
ugen0.4: <Ralink 802.11 n WLAN> at usbus0
lo0: link state changed to UP
smsc0: chip 0xec00, rev. 0002
ue0: link state changed to DOWN
run0 on uhub1
run0: <1.0> on usbus0
run0: MAC/BBP RT5592 (rev 0x0222), RF RT5592 (MIMO 2T2R), address 9c:ef:d5:fe:18:45
ieee80211_load_module: load the wlan_amrr module by hand for now.
wlan0: Ethernet address: 9c:ef:d5:fe:18:45
run0: firmware RT3071 ver. 0.33 loaded
wlan0: link state changed to UP
freebsd@generic:~ % 

And, I am not sure about Raspberry Pi 1 because I don't have that. But, I think currently all supports.


Take a look at the last answer to this question: FreeBSD - easiest way to install on my RPi? it is pretty easy these days, I have it running on all of the "big" boards (version 1 through 3) in my collection, I suspect that it would run on a Zero as well, but I don't have one to try.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.