読者です 読者をやめる 読者になる 読者になる

柿食えば 屁をしても一人

電気系の学生のブログ。何を書くかも決めていない

BeagleBoneBlackでXenomai2.6.4が動いたよ!

BeagleBoneBlackでXenomaiが動いたよーという話。解説と言うよりかは備忘録に近い

BBBって何とか、Xenomaiって何とかいう話は無し。
現時点ではカーネルモードでは動作できず、ユーザーモードRTしか動いていない。

  • Hardware:BeagleBoneBlack Rev.C
  • OS:Debian linux kernel 3.8.13 (xenomai-r84)
  • Xenomai 2.6.3

結論から言うと、

  1. SDカードにbeagleboard.orgから最新版のDebian-imageを落としてくる。この時のバージョンは気にしない。
  2. Win32DiskImagerを使ってSDカードに焼く。
  3. BeagleboneをSDからbootする。
  4. パーティションを直す。
  5. Kernelを3.8に戻す。同時にXenomaiを入れる。
  6. Xenomaiをwgetする。
  7. Xenmaiをmake installする。
  8. latencyを実行する。

掻い摘んで解説すると、

cd /opt/scripts/tools/
git pull
sudo ./grow_partition.sh
sudo reboot

このコマンドでパーティションが直る。デフォルトの設定だと2GBしかOSが認識出来ていないがこのコマンド流すと、ちゃんと最大値まで認識する。何GBまで認識するかは分からないが、使ったSDカード(16GB)は最大値まで認識した。

$ sudo apt-get update
$ sudo apt-cache search linux-image |grep xenomai
$ sudo apt-get install linux-image-3.8.13-xenomai-r84

これでrebootするとkernelにXenomaiが取り込まれる。
これで、Xenomaiのインストールは完了しているのだが、exampleの実行ファイル等がほとんど入ってなかったので、大着して同じバージョンのXenomaiを上書きして、追加する。
*1

bone$ cd xenomai-2.6.4
bone$ ./configure CFLAGS="-march=armv7-a -mfpu=vfp3" LDFLAGS="-march=armv7-a -mfpu=vfp3"
bone$ make
bone$ make install

これで、Xenomaiが展開され、rootの方に打ち込まれる。

終わり。

RTの環境を確保したのは良いが、RTのプログラミングが全くやり方がわからないので、調整する。
I-pipesが25MHzで駆動しているが、他の方のサイトを見ると250MHzで回ってたりするのでどうやれば変更できるのか調査する。

*1:執筆時に気づいたが、linux-image-3.8.13-xenomai-r84 のXenomaiは2.6.3だが、後から落としてきたXenomaiは 2.6.4だったが今のところ不具合はなさそうなので、2.6.3を落とした気持ちでいることにする。