2014年9月20日土曜日

Beaglebone Black Rev.CをMacOS Xでリカバリ


■うっかり■

SDカード上にubuntuを入れていじってみよう、と思ったら間違えてeMMC Flasherを選んでしまったために、今までBeaglebone上で作っていたものが全部消えてしまいました。

まぁ大したものは入っていなかったのですが、初めてnode.jsで書いた「7セグメントLED時計(ちらつきまくり)」のソースなども消えてしまったので、ちょっと悲しい。

ということでリカバリーまでの約2日間のドタバタを記録しておきます。

■その前にうまく行った方法を■

ウダウダと試行錯誤を書いて、最後に「これでうまく行きました」というのは不便なので、最初に出荷当時の状態に戻す方法を書いて起きます。

-Latest Firmware Imagesを落とす。
ここから。http://beagleboard.org/latest-images
BeagleBone Black (eMMC flasher)
Debian (BeagleBone Black - 2GB eMMC) 2014-05-14
※日付などは変わっている可能性もありますが、eMMC flasherの下のDebian BBB用をダウンロードします。時間帯によってはダウンロードに2時間かかったりするので、お出かけ前などにどうぞ。ダウンロードしたら解凍しますが、xzコマンドは標準では入っていないし、面倒なのでThe Unarchiverを使います。

-SDカードに焼く
イメージをSDカードに焼くにはPi Fillerがよく使われるのですが、上のimageはPi Fillerではダメでした(焼くことはできても、BBBに入れてUser Boot起動できない)。

なのでコマンドラインで焼きます。ターミナル.appを起動しSDをセットして
diskutil list
▶これでSDのドライブ名が出てきます。つながってるドライブ全部出てきますが、容量などを参考に判断してください。うちは /dev/disk4 でした。もしマウントされている場合には以下のコマンドでunmoutします。
sudo diskutil unmountDisk /dev/disk4
▶Unmount of all volumes on disk4 was successfulと表示が出ればOKです。では、焼きます。
sudo dd if=BBB-eMMC-flasher-debian-7.5-2014-05-14-2gb.img of=/dev/disk4
▶時計見ていなかったのですが30-60分くらいで終わります。ActiviyMonitorでディスク読み書きを表示させておくと、終わればI/Oが急に落ちるのでわかりやすいですw

-eMMCへのインストール
では、micro SDを取り出してshutdownして通電していないBBBにセットし、user bootスイッチを押したままUSBや電源アダプタを接続します。しばらく押したままにして、Ether近くのLEDが「ナイトライダー状態」(光の点滅が左右に走る)になったらスイッチを離します。

あとはそのまま放置で、朝起きたら電源が落ちて終わっていました。micro SDを抜いてから電源を入れなおすとちゃんと立ち上がりました。

ログインは ssh root@192.168.7.2 です。

■追記:2015-05-09■

内蔵eMMCではなくSDカードにインストールした場合(Flasherでないimageを使います)、以下のコマンドで空きパーティションの容量を使うことができるようになります。
cd /opt/scripts/tools
git pull
./grow_partition.sh
sudo reboot

■設定など■

出荷時と少し変わっているのか、dateで見ると日付設定されていました。買った時には電源入れるたびに設定しなおしが必要だったのですがw もし設定されてない場合は
ntpdate -b -s -u pool.ntp.org
以下のページを参考にしました。なお、ここはBBBに関する宝の山なので、ブックマークしておきましょう:-)
http://derekmolloy.ie/automatically-setting-the-beaglebone-black-time-using-ntp/

あとはいろいろ細かい設定ですが、私はとりあえずheartbeatがウザいので消します。
echo none > /sys/class/leds/beaglebone:green:usr0/trigger
アップデートとアップグレード
apt-get update
apt-get upgrade
ロケール設定、以下のコマンドからAsia/Tokyoを選んでください。
dpkg-reconfigure tzdata
などなど。

Cloud9も http://192.168.7.2:3000/ でちゃんと見えます。良かった良かった。

■ubuntu+cloud9失敗の記■

注意:以下の操作をすると eMMC(内蔵flash)の中身がきれいサッパリ消えます。その点、理解した上で、試してみてください。

-imageのダウンロード
これを使いました。

https://rcn-ee.net/deb/flasher/trusty/BBB-eMMC-flasher-ubuntu-14.04-console-armhf-2014-07-06-2gb.img.xz
例によってThe Unarchiverでxz形式を解凍し、img形式とします。

-SDカードへ
前記と同様の手順でSDカードに焼きます。

-BBBにインストール
前記と同じ手順です。BBBの電源を落としてからSDカードをセットし、user bootスイッチを押しながら電源を入れ、光が左右に流れたらスイッチを離ししばらく放置します。点滅が終わったら、インストール完了です。SD抜いて電源を入れ直します。id=ubuntu, pw=temppwdでログインできます。macのターミナルからだと
ssh ubuntu@192.168.7.2

-うざいHeartbeatが消えない
ubuntuでは
echo none > /sys/class/leds/beaglebone:green:usr0/trigger
とやっても消えません。以下のコマンドでどぞ。
echo none | sudo tee /sys/class/leds/beaglebone\:green\:usr0/trigger 
あとはlocaleの設定やupdate/upgradeなどのお約束。

ここまでは問題ありません。

-Cloud9が起動しない
この辺を参考にして、Python, Node.js, Cloud9をインストールしたのですが、IDEは起動できても実行できなかったりCloud9が落ちたりでダメでした。

・PythonとNode.jsのインストール
apt-get install python
apt-get install build-essential

・Cloud9のインストールと起動
git clone https://github.com/ajaxorg/cloud9.git
cd cloud9
npm install
bin/cloud9.sh -l 0.0.0.0
とりあえずCloud9を動かすのが目的というわけではないので、今回はこれ異常の追求はできません…いつかまた…。

0 件のコメント:

コメントを投稿