死蔵していたBeagle Bone Blackをやっと引っ張り出してきて,とりあえずUbuntuを入れてみたので作業のメモを残したい.BBB(Beagle Bone Blackのこと)のリビジョンはA5Aということで,いかに無駄に積まれていたのか察せられる.(在庫が無い時期で,わざわざ海外から共同購入したんだよなぁ…)
まずGetting Started(http://beagleboard.org/Getting%20Started)に従ってみようとするも,そもそもBBBがUSBストレージとしてWindowsに認識されない.なぜだかわからないが,抜き差ししているとやっと認識された.それ以後は順調だった(?).USBケーブルをつなげば仮想的にLANが繋がってる状態になるらしい.
リビジョンが古いボードであるので,まずeMMCにあらかじめ書き込んであるAngstromのバージョンアップをしなければならない. http://beagleboard.org/latest-images にある,Angstrom Distribution (BeagleBone Black - 2GB eMMC) をmicroSDカードに書き込む.
Angstromのイメージを書き込んだSDカードをBBBに挿入して差入口付近にあるboot用のボタンを押しながら電源を投入すると,4つのLEDが順番に点いていき一瞬4つ同時に光った後,ランダムに光るパターンになる.この状態のまま1時間程度放置する.書き換えが終われば再び4つのLEDが同時に点灯したままの状態になる.SDカードを抜いて電源を投入すれば,新しいImageで動くようになっている.
以上はWindows上でもできる作業だが,後の作業はLinux環境から行うほうが都合がいい. 作業環境:VMware Player,64bit Ubuntu 14.04
下準備が終わったら,次にUbuntuのboot用SDカードを作成する. 以下のサイトを参考にして作業を進める. http://elinux.org/BeagleBoardUbuntu
wget https://rcn-ee.net/deb/rootfs/trusty/ubuntu-14.04-console-armhf-2014-05-06.tar.xz
md5sum ubuntu-14.04-console-armhf-2014-05-06.tar.xz
tar xf ubuntu-14.04-console-armhf-2014-05-06.tar.xz
cd ubuntu-14.04-console-armhf-2014-05-06
sudo ./setup_sdcard.sh --probe-mmc
以上でSDカードがどこにあるのか表示してくれるので,そこに書き込む
sudo ./setup_sdcard.sh --mmc /dev/sdX --uboot bone
SDカードをBBBに挿入して電源を入れると,Ubuntuが起動するようになる.毎回bootボタンを押すべしと書いてある古い情報もあるが,新しいAngstromのイメージに更新してあるので,ボタンを押さなくてもSDカードに入っているOSが勝手に起動する.
とりあえずBBBにSSHでログインする.
ssh ubuntu@192.168.7.2
BBBと母艦PCをUSBでつなげるとアドレスは192.168.7.2になる.デフォルトのユーザー名は「ubuntu」,パスワードは「temppwd」になっている.
さて,以上でインストールしたUbuntuはX window systemが含まれないリモートで操作することが想定されたイメージであった.(ubuntu-14.04-consoleとある)
今後OpenCVを用いた画像処理等を行っていきたいと考えているので,デスクトップがあるのが好ましい.そこで,BeagleBoneBlackでもストレスなく動くような軽量なWindow systemである,LXDEを入れることにした.
以下のサイトを参考にして作業を進める. http://elinux.org/Beagleboard:Installing_LXDE#LXDE_On_A_Micro_SD_with_Ubuntu_Raring
BBBにLXDE関係のものをインストールして再起動する.
sudo apt-get -y install lxde lxde-core lxde-icon-theme
sudo reboot
さてここで,BeagleBoneBlackにHDMIケーブルを繋いでディスプレイを見てみると,残念なことに何も表示されない.LXDEが無くてもログイン画面は表示されるらしいが,それも表示されない.何が悪いのか分からないが,ディスプレイとの相性もあってBBBではハマりやすい問題らしい. 結局解決できなかったので,諦めてVNCサーバーを使ってリモートデスクトップで運用することにした.考えてみるとBBBにディスプレイが専有されないからこちらのほうが便利である.
BBBにvncserverをインストールし,一旦起動して設定ファイルを生成する.初回起動時にはVNCでアクセスするためのパスワードを設定するように言われる.
sudo apt-get install vnc4server
vncserver
vncserver -kill :1
~/.vnc/xstartupにある,設定ファイルをLXDE向けに以下のように編集する.
# !/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
/usr/bin/lxsession &
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &
設定が終わればvncserverを立ち上げる
vncserver :1 -geometry 1024x768
そして母艦のほうでBBBにリモートデスクトップ接続する. リモートデスクトップクライアントにはRemminaを使った.
sudo apt-get install remmina
remmina
新規リモートデスクトップの作成で,VNC用の設定する.アドレスではVNCのポート:5901を指定する.VNCのパスワードとかも入れる.
そうするとこんな感じでBBBの中のデスクトップを見ることができた.
おわり.