BeagleBone Black初期設定

eyecatch_beagle

まずは、BeagleBone Blackの最初の動作確認と、その後の開発環境としてUbuntuをインストールするところまでを書いておきたいと思います。

BeagleBone Blackは2013年4月末に発売されたばかりで、まだまだ日本語の情報は少ないようです。筆者が調べた2013年5月半ばの時点では、下記のサイトでHowToを書いている他は英語の情報ばかりでした。

http://gadget.ichmy.0t0.jp/beaglebone/

http://wiki.limemo.net/dokuwiki/beaglebone/start

上記のサイトを参考にさせて頂きながら、動作確認を行います。尚、ここでは、ホストマシンの環境はUbuntu 12.04LTS 64bitとします。

オンボードフラッシュでの初期動作確認

BeagleBone Black(以下BBB)を箱から取り出すと、本体と付属のUSBケーブルが出てくるので、本体のマイクロSDカードスロットには、何もささず、付属のUSBケーブルを本体側はUSB-OTGの口にさし、反対側はPCにさします。この状態で、ボードに給電され、デフォルトのOSであるAngstromが起動します。

しばらくすると、BBBがUSBメモリとしてマウントされますので、マウントされた中にあるSTART.htmを実行して下さい。ダブルクリックすればOKです。後は、中の指示に従います。

開いたページの中程に”Step #3: Browse to your board”とあり、その下に”Click here to launch: http://192.168.7.2”のように実際に接続されたマシンのIPへのリンク(USB接続から仮想的なLANアダプタを構成して、privateなアドレスを振っている、ここでは192.168.7.2と出た)がありますので、それをクリックすると、デモページが開き、本体LEDを操作することができます。

具体的には、デモページの中程に”Bonescript interactive guide”というのがあります。それがjavascriptライクなものでweb越しにBBBのペリフェラルをいじるインタフェースの例になっています。その下の”Example”となっているところは実際にコードをいじることができます。コードをいじったら、”run”ボタンを押してみて下さい。コードに書いてある通りの内容が実行されると思います。

また、この状態で、本体でsshdが走っていますので、SSH接続を試すこともできます。ここでは、ボードのIPアドレスが192.168.7.2だとすると、下記のようにターミナルから打つことでBBBにログインすることができます。ユーザはroot、パスワードはなしです。

[bash]
hostpc$ ssh root@192.168.7.2
[/bash]

ログインしたら、普通にLinuxが動作しているので、uname -r やらcat /proc/cpuinfoなどで、カーネルやCPUの情報などを確認できます。デフォルトのオンボードフラッシュのOSイメージだけの動作確認は以上です。

Ubuntuのインストール

BBBのデフォルトのLinuxディストリビューションはAngstromなのですが、使いやすさ、情報の多さでいくとUbuntuの方が勝っているので、ここでは、UbuntuをBBBにインストールする方法を紹介します。

BBBだけでなく、BeagleBoard, BeagleBoneも含めてUbuntuを対応させるプロジェクトがあり、そこで紹介されている方法
(http://elinux.org/BeagleBoardUbuntu)を参考にします。

インストール方法には、

  • pre-compiledなイメージからのインストール(13.04, 12.10が対応)
  • netinstall(11.10、12.04、12.10が対応)
  • マニュアルインストール

の3つがあります。

どの方法を選ぶかは、Ubuntuのどのバージョンをインストールするか、で大体決まります。今回、BBBのハードウェア機能をフルに活用するためには、カーネルが3.6以上でなければならないという制約がありますので、デフォルトのカーネルバージョンが3.8.8である13.04をインストールすることにします。というわけで、pre-compiledなデモイメージを元にインストールを行います。
具体的には下記のようにして、イメージをダウンロード、ベリファイ、アンパックします。

[bash]
hostpc$ wget http://rcn-ee.net/deb/rootfs/raring/ubuntu-13.04-console-armhf-2013-04-26.tar.xz
hostpc$ md5sum ubuntu-13.04-console-armhf-2013-04-26.tar.xz
hostpc$ tar xJf ubuntu-13.04-console-armhf-2013-04-26.tar.xz
hostpc$ cd ubuntu-13.04-console-armhf-2013-04-26
[/bash]

ここまでできたら、SDカードリーダにインストール先のSDカードをさして以下のインストールスクリプトを実行します。尚、ここでは、SDカードは/dev/sdcとして見えているとします。また、カードを差し込んだ際に、何かマウントされたら、それをアンマウントしておきます。

[bash]
hostpc$ sudo ./setup_sdcard.sh –mmc /dev/sdc –uboot bone_dtb –swap_file 512
[/bash]

–swap_fileでスワップの容量を指定していますが、一応、メモリと同量分と考え512MBとしておきます。このセットアップには時間がかかります。1時間半ぐらいは見ておいた方が良いでしょう。終了したら、SDカードを引きぬいて、BBBの電源を切った後(アダプタや給電のためのUSBケーブルを抜いた後)にMicroSDをBBB本体にさします。

ここから先は、シリアルコンソールを利用するためにヘッダピンが出ているタイプのTTLレベルが3.3VのUSBシリアルが必要です。筆者は、aitendoのUSB-UART変換モジュールUSB2UART-CP2102を利用しました。

このUSBシリアルのGND、RXD、TXDのピンを接続します。BBB側は、#1がGND、#4がRxD(USBシリアル側はTxD) #5がTxD(USBシリアル側はRxD)と接続します。クロス接続になることに注意して下さい。この状態で、ホストPCにUSBシリアルをさして、どういう名前で認識されるか確認します。筆者の環境では、/dev/ttyUSB0として認識されました。

シリアルコンソールは、ボーレート115200で接続。データ長8bit、ストップビット1、パリティなし、フロー制御なしですので、新しいターミナルを開き、以下のコマンドを打って、ホストマシンから接続します。

[bash]
hostpc$ cu -s 115200 -l /dev/ttyUSB0
[/bash]

ここまで来たら、ACアダプタ、或いは、USBケーブルを介して、BBB本体への電源の供給を行い、ブートさせます。無事、起動すると、ubuntuのログインプロンプトがターミナル上に表示されます。初期状態では、ユーザ:ubuntu pass:temppwdになっています。最初にパスワードは変更しておきます。

ブートに成功したら、引き続き、初期設定を行います。まずは、有線イーサネットケーブルをBBB本体にさしてリブートします。

[bash]
BBB$ sudo reboot
[/bash]

リブート後、ログインして/etc/network/interfacesを確認すると、デフォルトでeth0はdhcpが振られる設定になっていますので、同一ネットワーク上にDHCPサーバがいれば、自動的にIPアドレスが振られます。

試しに、ifconfigコマンドを打ってみて、inet addr:192.168.x.x(.x.xは環境によって異なります)と出れば、ネットワークも開通しています。この状態で既に外部からのssh接続もできるようになっています。

次に、ソフトウェアのアップデートを行います。

[bash]
BBB$ sudo apt-get update
BBB$ sudo apt-get install aptitude
[/bash]

無事、アップデートが終了したら、次は、タイムゾーンを変更をします。

[bash]
BBB$ sudo dpkg-reconfigure tzdata
[/bash]

でAsia/Tokyoに変更します。

ちなみに、
/boot/uboot/tools/ubuntu/minimal_lxde_desktop.sh
を実行すれば、フルGUIの環境をインストールすることも可能ですが、必要になった時に行うことにして、今回はやらないでおきます。

続いて、好みがわかれるところですが、筆者はemacs派なので、emacsをインストールします。普通にapt-getで入れると、.emacs.dの権限がおかしくなっていたので、それも正しく変更します。

[bash]
BBB$ sudo apt-get install emacs
BBB$ sudo chown ubuntu -R .emacs.d/
BBB$ sudo chgrp ubuntu -R .emacs.d/
[/bash]

最後に、これも好みですが、マシン名をarmからBeagleBoneBlackに変更します。hostnameコマンドだと一時的にしか変更されなかったので、大本を変更するようにします。

[bash]
BBB$ sudo emacs -nw /etc/hostname
BBB$ sudo emacs -nw /etc/hosts
[/bash]

これで、リブート後にはhostnameが変更されます。

以上で、今後のBBBでの開発をUbuntuで行なっていくための準備は整いました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です