Raspberry Pi用のpreempt_rtのコンパイル済みカーネルイメージが配布されているのを発見しました。http://docs.emlid.com/navio/Downloads/Real-time-Linux-RPi2/これであればバイク競技用計測器として実用になるものが作成できるかもという期待から、環境を構築してみることにします。本当はXenomaiの方が圧倒的にリアルタイム性が優れているようなんですが、rpi2ではなかなか起動に成功しないようです。https://www.osadl.org/fileadmin/dam/rtlws/12/Brown.pdfhttps://www.raspberrypi.org/forums/viewtopic.php?f=71&t=74686インストールは本家チュートリアルそのままです。ただしbs=1Mだと怒られるので、1mになっています。sudo dd bs=1m if=emlid-raspberrypi2-raspbian-rt-20150401.img of=/dev/rdisk2rdisk2だけ環境とタイミングにより修正ですね。さて本稿の本題はログイン環境の構築です。モニタ無しで運用する場合、最初の最初にPiにどうやってログインするかという問題があります。Piをさわり始めた当初はシリアル通信でログインしていたのですが、このイメージファイルではシリアルが無効化されていました。なお無線LANアクセスポイントになれるようなのですが、自分が使っているWifiアダプタは認識されないようでAPとしては動き出しません。もう一つのやり方としては有線LANでのログインです。以前やったのは、有線LANアダプタがデフォルトでDHCPでIPを取るようになっているので、ルーターを用意して、IPを取得させ、ルーター側の設定画面で割り振られたIPを確認するという方法。これは簡単でよいのですが、今回は手元に使えるルーターが無く、この方法だと時間がかかりそうでした(ルーターが手元に届くまで)。使用する機材も増えるのでスマートではありません。そこで思いついたのがMacのインターネット共有を使う方法。ググって見ると多くの先達が実行しているようです。早速Thunderbolt Ethernet アダプタに固定IPで192.168.2.1を振って接続してみると、あっさり成功しました。ネット上の情報だとクライアントには192.168.2.2が振られるという話しが多かったのですが、実際やってみると、リースされる毎にIPが変わりました。実際の割り当てを確認するには、bootpdのログを見ればいいらしく、以下のコマンドで抽出しました。
cat /var/log/system.log | grep bootpd
Jan 28 07:33:20 kawauchiyasuo-no-MacBook-Pro.local bootpd[2491]: DHCP DISCOVER [bridge100]: 1,b8:27:eb:f6:3c:22Jan 28 07:33:20 kawauchiyasuo-no-MacBook-Pro.local bootpd[2491]: OFFER sent 192.168.2.3 pktsize 300Jan 28 07:33:20 kawauchiyasuo-no-MacBook-Pro.local bootpd[2491]: DHCP REQUEST [bridge100]: 1,b8:27:eb:f6:3c:22 Jan 28 07:33:20 kawauchiyasuo-no-MacBook-Pro.local bootpd[2491]: ACK sent 192.168.2.3 pktsize 300
grepしないと人力では解読不能な出力になります。このIPだとpingも通り、sshで接続できました。”””