Helping with ARM support + recommended ARM hardware

Started by minimike, March 16, 2016, 07:24:07 PM

Previous topic - Next topic
FWIW, I've completed (a), ports build works, but now needs to avoid building any unwanted ports and see if some have problems in arm.


Hi Franco,

I have a Raspberry Pi 2 and Banana Pi 1 lying around (upgraded to Intel NUC)? Is there any opnsense test images available for those?

Thank you,
Regards,
Bobby Thomas.

Hi Bobby,

Only the RPI B works on FreeBSD 10.3, so 16.7. I will put up packages and instructions on how to install one of those next week. But there won't be frequent updates... this is going to be an experimental item as the RPI B is rather slow. But its fun to see it working. :)

The RPI2 can be possible with FreeBSD 11, but the roadmap for 17.1 hasn't been decided on, although it could be a likely candidate for adoption of FreeBSD 11 and its enhanced ARM support. We'll see over the course of the next month or two.


Cheers,
Franco

Hi Franco,

Sorry for the late reply. Thank you for your prompt response, I am eagerly waiting for 17.1 build. I believe freebsd also supports banana pi from 11.0 so that means we can use the same build for both RPi2 and Banana Pi (since BPi is better I wish I could see a build for that)?

Thank you,
Regards,
Bobby Thomas.

Once FreeBSD 12-CURRENT supports the RPI3, and OPNsense solidifies its ARM support, I'll try doing a build for ARM64.

Hi Bobby,

The way we will publicly test ARM will likely be without images so that one starts with a working FreeBSD image and then just installs OPNsense on top. That way we can make sure that all the ARMv6 devices that work with FreeBSD can be supported.

There is a caveat in the kernel build, which we'll have to see whether it's compatible between the RPi, PRi2 and BPi, but we'll get to see / solve this. :)


Cheers,
Franco

Hi Franco,

Thanks for your time. I will try to install opnsense over the freebsd build on my rpi2 and bpi. I will update the results here.

Thank you,
Regards,
Bobby Thomas




Hi echo6,

We're going to try the RPI2 on top of our full 17.1 code early next year. RPI3 is a possibility afterwards.

We're still not sure whether we should add support for a single platform or simply help people build software for their ARM devices.

https://twitter.com/g0mb0/status/792612100011065344


Cheers,
Franco

I'm helping FreeBSD a bit with the RPI3 support. In order to support the RPI3, FreeBSD first needs a working clang 3.9.0 with lld on it. I'm in the process of researching why building FreeBSD/aarch64 with clang 3.9.0 and lld breaks boot1.efi, loader.efi, and the kernel. The process behind the research is slow, especially given only a single core being enabled on the RPI3. Diane Bruce is researching enabling all four cores.

There's likely a locking issue in the aarch64-specific code in FreeBSD as the thread cache in jemalloc has to be disabled via malloc.conf in order to successfully compile and install ports-mgmt/pkg natively on the device itself. There's also an improper linking issue. Some applications, like pkg, get mislinked. I've sent out a few emails on the relevant FreeBSD mailing lists under Ed Maste's direction. I'm hoping we can get the clang 3.9.0/lld issues resolved soon.

So, it'll likely be a while before FreeBSD on the RPI3 is actually functional beyond the utilities provided in base. Naturally, it'll take downstream projects like OPNsense to follow in support.

Note that you won't get the best throughput on the Raspberry Pi devices as they're not really built for network performance. They use a USB-backed NIC. I would think something more like the Odroid-C2 would perform better. But I'm not a performance engineer, so take that with a grain of salt.

So, for now, stick with 32-bit ARM devices as 64-bit ARM support is still very much a work-in-progress.

Support for Raspi! Great! Will have a look soon... Going to try out some USB-RJ45 adapters I recently bought for a raspberry-Wireshark machine I'm planning currently.

Fun!
kind regards
chemlud
____
"The price of reliability is the pursuit of the utmost simplicity."
C.A.R. Hoare

felix eichhorns premium katzenfutter mit der extraportion energie

A router is not a switch - A router is not a switch - A router is not a switch - A rou....

Hi again!

Did this here:

https://forum.opnsense.org/index.php?PHPSESSID=904p9h0bq3h7vttcejijdn4n30&topic=3793.msg13161#msg13161

Very cool! First sense on raspi feeling!

Notes:

- FreeBSD has ssh enabled out of the box, but no root-login, log in as freebsd/freebsd and do a 'su'.

- Could not get the serial console (115200?) get running on the standard pins of raspi. PS: Error messages appear on serial, but not the usual menu?!? (smsc0: warning MII is busy etc)

- Used a cheap USB-RJ45 as WAN interface, get's an IP and internet is ready to go! CPU loves to "100%" feeling at the Dashboard... :-D

This is absolutely cool!

Keep on! Is there any way to make that work on a Raspi 2 at that time with FreeBSD 11 and the dev version of 17.1?
kind regards
chemlud
____
"The price of reliability is the pursuit of the utmost simplicity."
C.A.R. Hoare

felix eichhorns premium katzenfutter mit der extraportion energie

A router is not a switch - A router is not a switch - A router is not a switch - A rou....