先日、LGA775 の D-G41AGB3、CPUが Pentium E5400 のマシンに FreeBSD13.2 をインストールし、ソースビルドで 13.3 へアップグレードしました。
今回は、その FreeBSD 13.3 マシンに Linuxエミュレーション機能を組み込もうとした話。
Linuxエミュレーションは Boinc を動かすために以前から継続して使っていて、FreeBSD10.x頃に設定したのが最後。あとは、アップグレード、アップグレードで、特に新規設定することなく使ってきました。
13.3のサーバーに設定しようと、FreeBSD10.2時代に書いたLinuxエミュレーションメモを見て作業を始めたところ、記述通りに進まない箇所が見つかったので、改訂。
以下は、過去のメモを訂正する形で書き直したもの。
OSにLinux エミュレーションを認識させる
- /etc/rc.conf に 「linux_enable=”YES”」を追加
/etc/sysctl.conf に「compat.linux.osrelease=2.6.18」を追加あってもいい気がするけど、現時点でのバージョン数字がわからない
Linux エミュレーションを起動
/etc/rc.d/abi start
サービス名 abi が無くなっていて、現在は linux に代わってました。
また、rc.d ディレクトリー下ファイルを直接叩くのじゃなく、service コマンドでスタートさせる方がよさそうなので、(結果は同じなのですが)書式を変えました。
service linux start
Linux ベースパッケージをインストール
pkg install linux_base-c6
pkg install linux_base-c7
Linuxのベースパッケージが、Linux core6 も存在しているものの core7 がインストール可能になっていたので、linux_base-c7 をインストール。
この後で、Linuxバイナリーをインストールすれば動作可能です。
Linux サービスは、再起動後、rc.conf の linux_enable で毎回自動スタートします。
私の場合、これで Boinc クライアントが自動起動し、Linux向けタスクを実行できるようになります。