Raspberry PI 4 Model B + FreeBSD 13 BETA3 + ZFS

試してうまくいったのでメモとして残しておく。 後から手順にしているので、余計な手順や、抜けている手順があるかもしれない。(が、参考くらいにはなるはずと思っている) なお、初期設定ほかではこちらを参考にさせてもらった。 本稿執筆時点(2021/02/23)では、シリアルコンソールなしで、USB+HDMIディスプレイというごく普通の装備だけで動かせている。 FreeBSD on RaspberryPi 4 Model B 発動篇 必要なもの Raspberry PI 4 Model B+ (以下、RPI。なお、2Gモデルで実験している。) FreeBSD-13.0-BETA3-arm64-aarch64-RPI.img microSDカード (4GB以上) USBメモリ (4GB以上、ZFSを認識させるために使用) 適当な作業用FreeBSDマシン + USB-SDカードアダプタ 手順 適当な方法でイメージをSDカードに焼く。 # dd if=/tmp/FreeBSD-13.0-BETA3-arm64-aarch64-RPI.img of=/dev/da0 bs=65536 念の為、この時点でRPIが起動することを確かめておく。 SDカードを作業用PCに接続する。(以下、SDカードはda0になっているとする) 現在のUFS内データをバックアップする。 # mkdir /mnt/raspi # mount -t ufs /dev/da0s2a /mnt/raspi # cd /mnt/raspi # tar -cf /tmp/raspi-rootfs.tar . # cd […]

FreeBSDのバージョンを取得する

そんなものはfreebsd-versionコマンドで取れるのは分かってる。 でも、どうしてもコマンドを叩けない、叩きたくない、というときのためのメモ。 主にjailの管理用で、User Land側のバージョン取得が目的。

matrix(の実装であるsynapse)をFreeBSDで動かす

気がつけば2週間。 decentralizedなコミュニケーションツール “matrix” の実装である “synapse” をFreeBSDで動かした。 メモを見ながら書くので抜けている可能性大。

Pandora FMSで遊ぶ(1)

Zabbixもいい加減古い。 UIも古臭いから、なにか試そうと思って見つけたPandora FMSをFreeBSD環境に入れてみた。 今回はインストールの話だけ。

WITNESSとdouble fault

昨日散々悩まされた件、もしやと思ってWITNESSを切ったら起きなくなった。 これはWITNESSによる負荷やタイミングのずれが原因と見るべきか、それともWITNESSがバグっているのか……。 検証してみたいけど、今その元気は無い。

RedZone/memguardでカーネルデバッグ

モジュールをいじってたらkernel: Fatal double faultでpanicするようになってしまったので調査。 とはいってもdouble faultの原因リストなんて知らないので、ここはメモリ破壊系バグによる誤動作に賭けて調査開始。

バグレポート初め

正月という儀式を無視して年末からずっとunionfsを改造してたら、kern側のバグっぽいものを見つけたのでレポートした。 215705 – VOP_REMOVE call with invalid cn_nameptr 個人的にはバグだと確信してるけど、実はVOP_REMOVEのときはcn_nameptrは壊れててもいいとかあるのかな……ないよね……。

panic: ufs_direnter: compact2

この前から続けてunionfsをいじってたらpanicにやられた。 panicの中身からは分かりづらかったけど、VOP_CREATEに先んじてVOP_LOOKUPを呼んでいなかったことが問題らしい。 1ヶ月以上はまっていたので記録を残しておくことにした。 きっと誰の役にも立たないけど。

unionfsのバグを直そう

FreeBSDのunionfsがバグっててひどいという話。 元々、jailをunionfsを使って管理したいと思ってはじめたもの。Dockerがaufsを使っているのと同じイメージ。 同じようにハマる人はたくさんいるようで。