Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
FreeBSD/ARM on Raspberry Pi (freebsd.org)
46 points by sasvari on Jan 21, 2014 | hide | past | favorite | 27 comments


I wish the FreeBSD hardware pages gave a description of what is supported. The OpenBSD hardware pages really do stand out in this regard.

Compare OpenBSD's BeagleBone[1] Black vs FreeBSD's BeagleBone Black[2]

From the OpenBSD page I can see at a glance that the Ethernet is supported, but USB is not available. I would like to port FreeBSD's USB implementation across if it works, but how do I know if it is worth pursuing without doing an install.

[1]http://www.openbsd.org/armv7.html

[2]https://wiki.freebsd.org/FreeBSD/arm/BeagleBoneBlack


That being said, I don’t think we are going to get OpenBSD on the rpi any time soon.

http://marc.info/?l=openbsd-misc&m=132788027403910&w=2


It is a real shame, but OpenBSD as a project care a lot about having free access to all the available code[1]. It makes a lot of sense to me to want access to all of the code for something as core as the boot process.

Of course the project saying they won't support the hardware doesn't mean you cannot start the port yourself. That is how ports to palm devices came about[2]

[1]http://www.openbsd.org/lyrics.html#39

[2]http://www.openbsd.org/palm.html


That’s true, especially with FreeBSD and NetBSD both having ports.


I just got a BeagleBone Black and am playing with it. I was comparing with RPi and it won given its processor (later ARM version), onboard storage, and most of all the number of buses and connections supported. Not sure what I'll do with it yet though.

I have been fascinated by its two PRU units. There are 200MHz 32bit realtime micrcontrollers that execute a simple set of assembly instructions. They can run mostly independent of the main CPU and kernel.


> I just got a BeagleBone Black and am playing with it. I was comparing with RPi

Sliding off-topic... Is the hwRNG in the BBB accessibel in user-space yet? Last time I looked it wasn't but there seemed to be people working on it.

I have a use in mind where the better CPU power of the BBB would be a benefit (and the better video support and so forth of the rPi would be meaningless) but only if the RNG is easily accessible (the Pi's is exposed as /dev/hwrng once a simple module is loaded) and pumps out bits at a good rate (~550kbit/sec is what I got when I timed the Pi which is far more than I need but I don't want too slow a rate obviously).


Good question, I have no idea. Did a quick search and found this:

http://beagleboard.org/project/CryptoCape/

And from there additional info about the hwrng lead me here:

http://processors.wiki.ti.com/index.php/Cryptography_Users_G...

It looks like it is just a module compile away.

Not sure about the rate of /dev/hwrng though.


Post your question to the "Embedded" section of the FreeBSD forums; someone there can likely answer whatever you want to know about RPi support in FreeBSD.

http://forums.freebsd.org/viewforum.php?f=11


If you are interested in creating a FreeBSD image for the Raspberry Pi, take a look at crochet [1] which is a script that pretty much automates the steps outlined in the wiki. In addition, it can also be used to create images for Beaglebone and other ARM (and MIPS I believe) platforms

[1] https://github.com/kientzle/crochet-freebsd


It's amazing how many "full operating systems" want to support something as weak as Raspberry Pi, and how many things can be done with it. I can't wait for Raspberry Pi to come to a more powerful architecture like ARMv8 (at relatively the same price-point) and see what comes out of that.


Raspberry Pi is weak only by very modern standards, Linux and the BSDs were first implemented on much weaker hardware. And NetBSD famously runs on a toaster.

The embedded world has seen a massive performance boost in the last decade, the raspberry pi would've looked like a supercomputer in the 90s...

My point is that while the raspberry is not very powerful by today's standards it still has all the features of a modern "desktop" system: an MMU, SIMD, USB, graphic acceleration to cite a few. The line between embedded and desktop architectures is getting blurrier by the year.


I agree with your general point, but while the Raspberry Pi has some SIMD instructions, they are pretty useless in practice. They are integer-only, only work on 32-bit registers (so you can only work on two 16-bit or four 8-bit values) and they are implemented serially on one lane (each clock, the CPU does the work on one of the values) instead of the parallel way SIMD is generally done.


Actually I was thinking about ARM NEON, I thought the broadcom SoC in the pi supported it but I was mistaken.

So yeah, you can scratch the SIMD part of my original comment.


Yes, my criticism of the RPi is that it is too powerful... You might as well just use a desktop PC. For learning purposes, something like a FIGnition is much better.

https://sites.google.com/site/libby8dev/fignition


Learning what? How to program the kind of machine that's already been obsolete for 10 years?

I know a couple of people with RPis who are using them as "home server"-type devices. Those are useful, and more power certainly doesn't hurt. Whereas the people I know who bought them with some idea that they would "start hardware hacking" or some such sit there gathering dust.


Learning how hardware actually works. I learnt on the BBC Micro, a 32k machine running at 2Mhz, powerful enough to run interesting things, simple enough that you could understand exactly how it worked, the memory map, how IO actually happened, etc. A serial port is great for this; USB or Ethernet, not so much.


Yes, for learning, simple can be better. Years ago as a teen my understanding of the basics of assembly and machine language and how CPUs worked finally "clicked" when I was playing with a very simple software simulation of a 4-bit microprocessor. I think it was called "picoprocessor" or something close to that. While useless as a practical architecture, the concepts I learned in that simplified environment were then easy to apply to real-world systems.


> Learning what? How to program the kind of machine that's already been obsolete for 10 years?

The RPi really is a very powerful platform. It's not a desktop computer. There are real-world devices that run things far more complex on far slower hardware.


You might be interested in the ODROID : http://www.hardkernel.com/main/main.php

It sports a Cortex A-9 and a Mali 400 GPU.


I am not convinced that a more powerful architecture is as interesting as a less constrained architecture. I'd rather have and independent USB and Ethernet port, a better analog sound output and a VGA port. A better motherboard might hold more value for hobbyist. Not sure if it can be done in the same price range though.


For $40, or whatever it costs now, it's pretty damn powerful. The beauty of the rPi seems to be its a nice middle ground between a media-capable mini-PC and a I/O port laden project boards like the Arduino or Beaglebone Black.


I run Arch Linux for ARM on my Pis (headless via WiFi and ssh). What benefit might I get from using FreeBSD? I'm genuinely curious as I'm not very familiar with BSD/Unix (although I am comfortable with Linux)


Neat, but I don't understand why? No one's compiling binaries for it, it's already slow, etc. What's the reason why anyone who was interested in using an RPi would want to use FreeBSD on it?


Well thats my next project


Just beware that there are very few binary ports packages out there.

NetBSD CURRENT also supports rpi, but it too has the problem of very few pkgsrc binary packages.


Not so fast, here you have many fresh packages for NetBSD rpi http://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/arm/6.0_201...


I am halfway into migrating my build process over to pkgng (I got quite a surprise when CvSup stopped working, I'm just old fashioned I guess), so I might be happy to buy an extra RPi just to populate a pkg server for folks to use.

At least I have a project goal now beyond just playing - thank you




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: