より新しい、2016年12月時点の Raspberry Pi 3/FreeBSD(ARM64) はこちら
以下の記述は古い情報です。現在 RaspberryPi 3 対応は current ソースツリーにマージされています。 歴史的資料(?)として残しています |
---|
Raspberry Pi 3で FreeBSD(ARM64) をお試しする
Raspberry Pi 3 がやっとこさ買えたので、FreeBSDが動くか遊んでみました。
Rasbperry Pi 3 でFreeBSDは動くのか?
現時点で(2016年4月)まだ正式な対応はなく、「なんとか動かせたぜ」という人たちがソースやらイメージを公開しています。
まだ十分使える段階ではないのですが、FreeBSD(ARM64)が動くRaspberryPi3が見たいという欲望が抑えきれない人は参考にしてください。CPUには32bitモードもあるのですが、以下紹介するイメージはいずれも ARM64 バイナリとなっています。
いずれもHDMI出力がまだできないので、USBシリアル接続を用意してください。
USBシリアル接続
こんな感じのケーブル
というかUSBシリアル変換チップ
千石電商:https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-4HJ7
を、RaspberryPI のGPIO の右の5V(出力じゃなくてRaspberryPi3側に給電されるので、USB給電しなくても起動します 1)/GND/GPIO14(UART0_TXD)/GPIO15(UART0_RXD) を接続してください。
ホストのFreeBSD からは「cu -l /dev/cuaU0 -s 115200」とかすれば、RaspberryPiがシリアルコンソールで操作できるようになります。
##その1
動かした andrew さんのTweet
https://twitter.com/zxombie/status/706526055373414400
https://github.com/zxombie/freebsd/tree/arm64-rpi3
でRaspberry Pi 3用に変更したFreeBSDソースとビルドスクリプトを公開しています。
で、実際にビルドしたイメージが以下にありますので、お手軽に試せます。
https://people.freebsd.org/~andrew/arm64/rpi3-20160306.img.xz
ダウンロードして xz展開してddでmicroSD書き込むだけです。
ただ、wifi はおろか、有線LANも、もちろん GPIO も動きません。SMPも非対応です。
「RaspberryPi で FreeBSD(ARM64)が起動した」という充実感が得られます。
##その2
FreeBSD-current MLで「俺もイメージ作ったぜ」という人がいました。
FreeBSDからforkした姉妹プロジェクト「HardenedBSD」をベースとしたそうです。こちらは有線LANが使えるので、なんとか使いどころがありそうです。
上記メールにもありますが、イメージの場所はこちら
https://hardenedbsd.org/~shawn/rpi3/2016-04-04/rpi3.img.xz
こちらも xz 展開してddでmicroSDに書き込みます。
起動させると途中までは順調なのですが、
random: unblocking device.
と出たところで止まってしまいます。「Ctrl+C」で rc スクリプトが停止し、Ctrl+Dでマルチユーザーモードに入れます。
loginプロンプトが出たら、rootでパスワード無しでログインできます。
ue0 もifconfigで出てきて、ネットワーク接続もできました。
32bitでは?
32bit として、RaspberryPi2のcurrentのsnapshotイメージで動くか試したのですが、そのままでは動きませんでした。64bit で動くことよりも RaspberryPi2 レベルで色々動くほうが個人的には嬉しいので、そちらでも進展があるか期待(人任せ)。
-
GPIO端子側から給電出来ることは非公式の仕様で、ヒューズが入ってないので注意が必要です(USB経由ならリセッタブルヒューズ入ってるのでちょっとした失敗で回路が焼き切れたりしなくて安心です)。また、RaspberryPi3 は大容量の電源が必要なので、デバイスを多く動かしたり、CPU負荷が高くなると、この給電では足りなくなります。本格的に動かす場合には2.5A電源で給電が必要になので、別電源が要ります。今回は起動までで、ろくなデバイスも動かないので、この給電でも一応動きます。 ↩