mruby入りFreeBSD/mipsをBastilleBSDのZRouterでビルドしてみたので手順を書いておきます。
FreeBSD/mipsは13-RELEASEでgccからclangに変更され、現在(2021年6月)のところ正常に動かなくなっています。直るまでは12-STABLEを使っていようと思います。
12は12でビルドするのが安全と思われ、12でjailを作ってみます。
% sudo bastille bootstrap 12.2-RELEASE
% sudo bastille create zrouter12 12.2-RELEASE 192.168.10.53
% sudo bastille cmd zrouter12 portsnap fetch
% sudo bastille cmd zrouter12 portsnap extract
% sudo bastille cmd zrouter12 mkdir /usr/ports/distfiles
% sudo bastille cmd zrouter12 chmod a+rw /usr/ports/distfiles
% sudo bastille pkg zrouter12 install dialog4ports ruby rubygem-rake bison
jailに入ってビルドします。
> git clone -b releng/12.2 --depth 1 https://git.freebsd.org/src.git src
> mkdir obj
> git clone -b yamori813_modify https://github.com/ZRouter/ZRouter.git
> cd ZRouter
> ./menu.sh
これでmrubyを追加して、ビルドするとエラーになります。
make[2]: "/usr/ports/Mk/bsd.port.mk" line 1201: UNAME_r (13.0-RELEASE-p1) and OSVERSION (1202000) do not agree on major version number.
環境変数でOSVERSIONを1300000にセットして再度実行したところ正常にビルドできました。
ZRouterのports(もどき)は依存の解決ができません。mrbgemsでライブラリを使っていてそのライブラリをビルドする時に必要なコマンド(たとえばgmakeなど)は事前にインストールしてください。
mrbgemsを追加する場合は環境変数のMRUBY_CONFIGを指定してからビルドを実行します。ports/lang/mruby/file/zrouter.rbをコピーして編集してください。
mruby on YABMとでmruby二刀流です。
後日追記:FreeBSD 12のpkgが消されてしまい、13でしかビルドできなくなりました。13のpkgもじきに消されると思われ、なんらか対策を考える必要があります。(2025/04)
必要なpkgをportsからビルドして12.2Rでビルド環境を作ってみました。(2025/04)