BeagleBone Blackの起動 - Angstrom
BeagleBone Black(BBB)の内蔵FlashROMにはAngstrom Linuxが書き込まれていて、電源入れるとすぐにAngstromが起動するようになっている。
ホストPCとの繋ぎ方とかは、BeagleBoard.org - Getting Started を見てもらえばよい。
添付のUSBケーブルをBBBに接続してホストPCにつなげると、Angstrom Linuxが起動する。
電源供給のUSBはUSBターゲットとなっていて、USB Mass-storageが実装されている。つまり、ホストPCからはBBBがUSBメモリのように見えて、内蔵FlashROMの中身が見えるようになる。ホストPCがWindowsなら、リムーバブルデバイスとして認識されているはず。中にSTART.htmというファイルが入っているので、それをみると、上のGetting Startedと同じものが入っている。
また、USB Ethernetとしても使える。Getting StartedのStep#2: Install driversにあるとおり、ホストPCにnetwork-over-USBドライバを入れると、IPで接続されるようになる。BBB内部ではWebサーバが動いているので、http://192.168.7.2/ に接続すればBBBのデモが動かせる。
Beaglebone Blackで組込みLinux開発環境(1) - 買うものリストに書いたFTDIシリアルコンバータがあれば、ホストPCにFTDIドライバをインストールする。FTDIドライバはGetting StartedのStep#2: Install driversのSerialドライバになる。
FTDIシリアルコンバータを次の写真のとおりに接続して、screenとかminicomでシリアル接続すればok。BBBのシリアルは3.3Vなので、シリアルコンバータのショートピンを3.3Vに設定しておく。
以下、Macでの例。Linuxだと/dev/ttyUSB0とかで認識されているはず。
screen /dev/tty.usbserial-AD020MLB 115200
するとシリアルコンソールが見れるようになる。
.---O---. | | .-. o o | | |-----.-----.-----.| | .----..-----.-----. | | | __ | ---'| '--.| .-'| | | | | | | | |--- || --'| | | ' | | | | '---'---'--'--'--. |-----''----''--' '-----'-'-'-' -' | '---' The Angstrom Distribution beaglebone ttyO0 Angstrom v2012.12 - Kernel 3.8.13 beaglebone login: root Last login: Sat Jan 1 00:00:47 UTC 2000 on ttyO0 root@beaglebone:~#
Beaglebone BlackでDebianを動かす
BeagleBone Blackの内蔵FlashROMに入っているAngstromを動かすのは
BeagleBone Blackの起動 - Angstromで説明した。ここではSDカードにDebianを焼いて、SDカードからDebianをブートしてみる。
基本的に、BeagleBoardDebian - eLinux.orgの手順どおりにやればokだけど、手っ取り早くpre-buildイメージを使って動かしてみる。Demo Imageにある手順でやればok、、なんだけど。。
作業はLinuxでやったほうがいいので、ホストPC上のVMにLinuxをインストールしておく。開発環境としては、Ubuntu 12.04@32bitがいい。なので、VMにUbuntuを入れておく。仮想マシンソフトはVMware PlayerでもVirtualboxでも好きたものを。私はデスクトップ用途だとVirtualboxが使いやすいと思う。
以下、Virtualboxに入れたUbuntu上で操作することを前提として記す。
- ホストPCにSDカードを挿し、VirtualboxにSDカードをアタッチする。このとき、UbuntuがアタッチしたSDカードを自動マウントするかもしれないので、アンマウントしておく。
- VMのUbuntuからは/dev/sdbとかのデバイス名で認識されるはず。どのデバイス名で認識されているかはcat /proc/partitionsとかで確認できる。
- Debian 7.1のpre-buildイメージファイルを取得する。大きいので時間かかるはず。
wget https://rcn-ee.net/deb/rootfs/wheezy/debian-7.1-console-armhf-2013-08-26.tar.xz
- 展開
tar xJf debian-7.1-console-armhf-2013-08-26.tar.xz cd debian-7.1-console-armhf-2013-08-26
- SDカードに書き込み。/dev/sdXはUbuntu上のSDカードのデバイス番号。このとき、gitとかがないとか言われるので、メッセージに書かれているとおりにapt-getしてから再度setup_sdcard.shを実行する。
sudo ./setup_sdcard.sh --mmc /dev/sdX --uboot bone
SDカードにDebianを書き込んだら、BBBにSDカードをさして電源を入れる。シリアルコンソールにu-bootやカーネルメッセージが表示され、ログインが表示される。
DebianでもUSB Ethernetが活性化している。sshdも動いているので、ホストPCからsshログインできる。ユーザ名は"debian"、パスワードは"temppwd"。
rootのパスワードはrootだけどsudoが使えるので、rootになりたければdebianユーザでログインしてsudoすればいい。
BBBのEthernet(普通のEthernetのほう)をブロードバンドルータとかに接続すれば、DHCPでIPアドレスをとってくれるので、普通にインターネット接続ができる。
HDMIでテレビとかに接続しておけば、起動後にログインプロンプトがテレビに表示されているはず。USBキーボードが接続されていれば、ログインできる。
ここまでくればPCで動くDebianと同じなので、あとは好きにすればいい。