úterý 22. března 2016

Raspberry Pi 1 Model B on FreeBSD


Na seznámení se s Raspberry mám doma již delší dobu půjčený model Raspberry Pi 1 Model B. Seznamování bylo hlavně s fungováním NOOBS, pomocí kterého jsem si instaloval Raspbian a pak ještě OpenELEC. Nakonec jsem se rozhodl testovat na tomto postarším kousku mé oblíbené FreeBSD, které by též mohlo být přítomno v NOOBS pro snadné instalování.

Podpora HW FreeBSD je u RPi 1 dostatešná. Nefunguje jen kamera a SMP. Vzhledem k jednomu jádru CPU se není žemu divit. RPi 2 je již plně funkční.

Existuje projekt raspbsd.org, který si klade za cíl vytvářet image pro aktuální vyvýjené FreeBSD 11 CURRENT. K dispozici jsou image pro RPi 1 A a B tak i pro RB 2. Image pro RPi 3 se objeví asi časem. Bude záležet na tom, zda existuje požadovaný driver pro WiFi.

Od jisté doby se v adresáři FTP objevují image pro RB-B a další mini arm-armv6 počítače stejného ražení.
Osobně nestíhám sledovat jaké další HW variace vznikají.

Instalace oficiální FreeBSD image je velmi jednoduchá a je popsána zde. Stáhl jsem si strom portů a nechal ve screenu zkompilovat Apache 2.4.18 a PHP 7.0.4. Jednojádrový armv6 se patřičně zapojitl, ale zvládl to naprosto v pohodě. Jak jinak u mě, rpi-b mám doma monitorované Zabbixem skrze Zabbix proxy v pfSense, takže sleduji na grafech jak dlouho se CPU trápilo.

pkg info | grep php
mod_php70-7.0.4                PHP Scripting Language
php70-7.0.4                    PHP Scripting Language


file /usr/local/bin/php
/usr/local/bin/php: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 10.2, not stripped


Jsem si vědom, že Raspbian nebo Pidora jsou nejpoužívanější OS pro RPi, ale je tu i možnost nasadit FreeBSD a využít jeho kvalit.

Pořídil jsem si RPi, kde mám aktuálně Rasbian a UniFi Controller instalován jako zip. Plánuji přeinstalovat na FreeBSD s využitím portu unifi4. Nejbolestnější bude kompilace jdk, ale s tím si RPi 2 nebo 3 hravě poradi.

Mé plány jsou zatím uledu :-(

===>   unifi4-4.8.14 depends on package: mongodb>0 - not found
===>  mongodb-2.6.7 is only for i386 amd64, while you are running armv6
(reason: "not yet ported to anything other than i386 and amd64").
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/databases/mongodb
*** Error code 1