2019年5月8日水曜日

Raspberry Pi 3 Model B+の設定

 RaspberryPi B+にはFreeBSD12をいれるつもりだった。
 しかし、動かない。
 bootすらしない(後日、全然、動くことが判明した1)。
 あかんわー。Ubuntuもあったけど、ちょっとかったるそうだ。というわけで、先代と同じくRaspbianをインストールした。しまった。区別がつかない。せめてケースのカラーリングぐらい別にすべきだった。
 あたりまえのように動く。あたりまえだけど。
 それにしてもこの軽いOS、RaspberryPi以外でもけっこういいかもしれない。
 と、思ったらちゃんと「Raspberry Pi Desktop」というのがあった。

 インストール後、パッケージをコツコツといれていく。
 Debianのパッケージシステム。apt。
 Emacs、postgres——SBCLもあった。1.3.7-1。EmacsのライブラリはRaspbianのパッケージからではなく、Emacs自身のパッケージシステムから。
 SBCLの環境はFreeBSDと同様、quicklispからいれる。
 ちょっととした気の迷いでaptからASDFをいれたのだけど、何かうまく動かせず——というか、SBCLには1.5.1のときのようにASDFが同梱されてなかった——、削除してまず、quicklispをいれたらいっしょについてきた。あ、そうなんだ。
 「~/.sbclrc」に(require :asdf)を追加した以外はほぼ、FreeBSDのときと同じ。
 ところが、このSBCL、threadをサポートしてなくて「make-thread」で落ちる。
 くそおっ。
 SBCLのgithubからソースをもってきてビルドする。
 手順はほぼ、INSTALLというファイルに書いていた通り。ソースからビルドする場合はあらかじめ、CommonLispが必要だという。おもしろい。ところがINSTALLを読んでいたら不吉な一文が。

Native threads. Enabled by default on x86[-64] Linux only, also
available on x86[-64] Max OS X, x86[-64] FreeBSD, x86 Solaris,
and PPC Linux.

 あかんかも。
 何度か試してみたけれど、結局、Threadをサポートした状態にできず。
 自前のプログラムはthread前提じゃなかったっけ。マルチに動かすために。
 しまった、だめじゃないか2

Footnotes:

1

これはこちらのミスで後日、動くことを確認した——けれど、オンボードのwifiを認識してくれず。

2

javaがあるみたいだからABCLならthreeadがサポートされるかもしれない。