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と同じなので、あとは好きにすればいい。
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で組込みLinux開発環境(1) - 買うものリスト
勘を養うためには雰囲気を知るって大事よねーってことで、まずはやってみる。
そのために、BeagleBoard.org の BeagleBone Black(以後BBB) を使う。
こいつは、スペック的にはRaspberry PIに似てる。RPiと違って、素のDebianとかUbuntu、JB Androidまで動く。
また、TIが販売しているだけあって、いわゆる組込みLinux的な開発環境(TFTPでカーネルをロードしーの、rootfsはNFSでしょ、的な)の、Sitara SDKが使える。
なので、こいつをターゲットにした組込みLinuxな開発環境を構築する。
次のような環境を作ることを目的とする。
- ホストPCに開発環境一式を入れる。こいつでVMを動かす。
- VMに開発環境用Ubuntu 12.04@32bitをセットアップ。開発は全部Ubuntu上でやる。VMware PlayerでVirtualBoxでもいい。私はMacなのでVirtualBoxを使っている。
- ホストPCとBBBはコンソールはシリアル接続、TFTP, NFSはEthernetを使う。
まずは必要なものリスト。リンクは全部Amazon。リンク貼ってないのはどこでも買えるものなので、適当に。
- ホストPC。OSはWindowsでもLinuxでもMacでもok。VMにUbuntu入れてを動かすのでスペックはそれなりに。私はMacbook Air(13-inch, Mid-2012)を使ってる。
- PCとBBBのEthernet接続はローカル環境になるのでPCにNIC増設したほうが便利。NICはなんでもいい。私はMacbook Airなので、USBのEthernetアダプタを使っている。
-
BeagleBone Black 本体 $45だけど、Amazonだと4,980円
-
FTDI USBシリアル変換アダプター 1,500円くらい。BBBのシリアルコンソールをUSBに変換するアダプタ。FTDIのシリアルコンバータはいろいろあるけど、こいつはピン配置変換とかしなくてもBBBにそのまま挿せる。
- BBBの電源は添付のUSBケーブルによる給電、もしくは5Vの電源アダプタ。電源アダプタは5V出力のDCアダプタを入手しなければいけないので、とりあえずUSB給電でいいと思う。PCからのUSB給電で十分動くから。
- HDMIなディスプレイとMicroHMIケーブル。BBBでGUIするならmicroHDMI出力を使う。BBBはオーディオもHDMI出力できるので、HDMI入力なテレビを使ってもいい。DVIなディスプレイにHDMI to DVI変換アダプタ使ってもいい。私はON-LAP1302を使っている。
- USB HUB。なんでもいいけど、BBBはUSBホストのポートが1つしかないので、いろいろつなぐには4ポートくらいのUSB HUBがあると便利。AC電源つきのセルフパワーなHUBがいい。ヨドバシあたりで1,000円くらいで買える。
- microSDHCカード。まずはDebianとかUbuntuとか入れて遊びたいよね。そのときに必要。8GBもあれば十分。
- LANケーブル。PCとBBB直結でいいので1本用意すればok
- オプション:USBキーボード、USBマウス。UbuntuやAndroidを動かすときに使う。なんでもいい。
ひとまずこんなもんか。
PC以外に用意するものは、全部たして1万くらいかな。