Ichmy's BeagleBone

あなたは
1 6 3 2 6 2 0
人目のお客様です。 (本日448人目、昨日654人) (from 2007-09-30)

BeagleBone で遊ぼうのこーなー 工事中

※ 白色旧機種から黒い新機種へ記事切替中


0.目次

--- ハード編 --- ディストリビューションによらないハード的な事柄を紹介 ---

1.BeagleBone Black とは

2.日本での入手方法

3.別途用意する持ち物

4.最小構成で遊ぼう

6.犬小屋で遊ぼう(仮)

7.シリアルコンソールを繋ごう

--- ソフト編 --- 各ディストリビューションのインストール記事 ---

8.Ångström Linux で遊ぼう

9.Ubuntu Raring Ringtail で遊ぼう

10.Debian Wheezy で遊ぼう

11.Arch Linuxで遊ぼう


1.BeagleBone Black とは

BeagleBoneとは BeagleBoard.org  が開発・販売している小型のマザー・ボードです。

BeagleBone には2種類あり、白い基板の旧型と、黒い基板の「Black」があります。白い基板の旧型は、

画像出力が無く、CPU速度が遅いのに、値段が2倍するので、 白い旧型基板を間違って買わないでください

購入時には、基板の色が黒い「Black」を確認してください。本稿では「Black」に絞って以降紹介します

また、このBeagleBone には電子回路で簡単に遊ぶための Cloud9 IDE が搭載されてるので、後で紹介します

BeagleBone photo
図1.BeagleBone Black Rev.A5A の写真
表1.BeagleBone Black の主な機能
機能 内容
CPU TI Sitara AM3359AZCZ100
1GHz ARM Cortex-A8
主記憶 512MB DDR3L 400MHz
補助記憶 2GB 内蔵Flash、マイクロSDHC
ネット 100Mbps Ethernet ×1
USB 1ポート+OTGポート
画像出力 micro HDMIポート
音声出力 HDMI経由
コンソール ヘッダーピン3.3V
電源 5V電源アダプタ、またはUSB給電
基板サイズ 86.36× 53.34 [mm]
主な拡張ボード LCDケープ = 液晶タッチスクリーン
Breadboardケープ = ブレッドボードに信号切出し
Breakoutケープ = デバック用信号切り込み端子


2.日本での入手方法

※注意!)繰り返しますが、画像出力が無く、CPU速度が遅いのに、値段が2倍するので、
       白い旧型基板を間違って買わないでください

(1) 販売元 (Digi-Key) へ直接発注する方法

本項はBeagleboard と同じ内容のため、 リンク先を参照してください

Digi-Keyで、このボードを検索するには“beaglebone”と入力します。本ボードと拡張ボードが検索にかかります

デザインと開発キット (3 items) の方を選択すると旧型と新型(と新型100個セット)の3種類検索にかかりますが、安い「Black」の方を選択してください。 アクセサリ (13 items) だと、各種拡張ボードも買えます

価格は ¥4,653 ~2013/07/01現在~ですが、送料が別途¥2,000-も かかります。別途ケープ(拡張ボード)も買って合計¥7,500以上買物 される方は送料無料になり、いいのですが、単品だけの方は他の代理店を推奨

(2) RSコンポーネンツへ発注する方法

本項はRaspberry Pi と同じ内容のため、 リンク先を参照してください

RSで、このボードを検索するには“beaglebone”と入力します。本ボードと旧型白ボードが検索にかかりますので、安い「Black」の方を選択してください。 なお、RSではまだ各種ケープ(拡張ボード)は取り扱ってないようなので、それらを一緒に買う方は上記Digi-key からの購入をお勧めします。

価格は ¥5,060 + 送料¥460 ~2013/7/1現在~です。

(3) 日本の代理店へ発注する方法

日本語が通じるオペレータが居るとはいえ海外取引に抵抗がある方は、Tech Share Storeから購入できます。

2013/7/1現在、\5,460+送料\210-ポイント54(要会員登録)です。

なお、今回この代理店は、日本の代理店としては珍しく、公式サイト からBeaglebone Blackの正式代理店(distributor to buy) として紹介されているので安心して購入できます。

ちなみに、筆者はこのルートで、2013/5/1発注→5/2発送→5/3受取と、素早く入手できました

(4) amazon から購入

上記代理店が日本のアマゾンにも出品されてます。 2013/7/1現在、\5,475(送料込み)です。

いい時代になりましたねぇ。

(5) 店頭で購入

超特急で買いたい方は、日本橋のシリコンハウス共立で販売中。 2F中央付近のワゴンで、 棚にぶら下げられて販売されてます。価格は¥6,500-でした。


3.別途用意する持ち物

(1) 母艦パソコン

最小構成だと母艦パソコンと、付属のUSBケーブルだけで遊べます

------必須なのはここまでです。後は、筆者推奨品です

(2) microHDMIケーブル

画像出力端子がmicroHDMI端子になっていますので、対応ケーブルや変換アダプターを用意してください。

お使いのCRTがDVI-D対応ならmicroHDMI→DVI-D変換ケーブルを用 意してください

(3) USBキーボード、USBマウス

(4) USBハブ

このBeagleBone はUSBポートが1つしかないので、キーボードとマウスを繋ごうとするとハブが要ります

(5) ACアダプタ

USB給電できますが、電源に余裕が欲しいので、アダプタを用意してください

5V、センタープラス、内径2.1mm、外径5.5mmの標準タイプです。 メーカー推奨容量1A

(6) マイクロSDHCカード

OS載せ替えて遊ぶには、microSDHCカード4GB以上のものを用意してください。

(7) SDHCアダプタ

上記SDHCを母艦から読み書きできるアダプタを用意ください

(8) USB-TTLシリアルコンバータ(3.3V)

OS載せ替えて遊ぶには、コンソール接続必要で、コンバーターが必要です。 詳細は7章参照

(9) 端末エミュレータソフト

筆者は普段Puttyを 使っています。別の端末ソフトでもOKです


4.最小構成で遊ぼう

この BeagleBone Black は最小構成だと、母艦パソコンと付属のUSBケーブルで つなぐだけで遊べます。

(1) 起動と接続

① ミニUSBケーブルBtype でパソコンとBeagleBone Black のUSB-OTGポートを繋ぐと電源が入り起動。

  この時、micro SDHCポートには何も刺さないでください。

  起動すると、パソコンからはBeagleBone Black は、USBメモリとして認識されます


6.犬小屋で遊ぼう(仮)

(0) はじめに

BBB case #01
図2.とりあえずのケース
(元はお徳用クリップセットの外箱)
BBB case #02
図3.クリエイティブモード(笑い)
BBB case #03
図4.ちなみに裏は
altoids tin
図5.近日対応予定
  BeagleBone Black も剥き出しでは可哀そうなんですが、BeagleBoard
  の時のようにアクリルで小屋を作るのも大層だし(1~2千円かかる)、
  いづれ、安価なケースが販売されるだろうし、どうしたものか。

(1) とりあえずのケース

  とりあえず、100均のタッパでいいのですが、サイズがうまく合わない
  ので、筆者はホームセンタの文房具コーナへ行って、ケースを探し
  ました
  例えば、クリップのお徳用セットを探すと、外箱のサイズが大体名刺
  サイズの物が多く、右図2の様に、うまく探すとコストゼロで、ケースが
  手に入ります。(中身のクリップは別途活用してください)
  後は、適当に穴をあけて、M3ボルトで底面止めたら完成です

(2) 使い方

  さらに、元からあった蓋を開けると「クリエイティブモード」(笑い)
  になり、電子工作の電線接続で便利に使えます。
  あと、少し高めの底面のスペーサを入れて上げ底にしてあり(図4)
  クリエイティブモード(笑)の時に上から電線が刺しやすくしています。
  スペーサ高さを短縮するとケープを結合した状態で両方収納する
  ことも可能です。

(3) アルトイド缶

  海外のサイトを見ていると、このBeagleBoneは、図5のミントタブレット
  の缶に入れて遊ぶのが、お約束になっているようです。
  ブリキ缶の工作は少し難しいので、お時間下さい。近日対応予定

7.シリアルコンソールを繋ごう

(0) はじめに

メーカ提供の Ångström で遊ぶにはコンソール無しでもイケますが、 他のOSを入れようとすると、内部で何が起こっているかを調べるために、 シリアルコンソールが必須になります。本章ではその方法を説明します。

旧型白基板ではコンソールはUSB-OTGポートだったのですが、 新型「Black」では残念ながら3.3Vピン

出力なので以下の持ち物が必要です。

(1) 用意する持ち物

① USB-TTLシリアルコンバータ(3.3V) ( 筆者例:FTDI社製)

  一般のシリアルと違い組み込み系では電圧が3.3Vのものがよく使われます。 3.3V用のシリアル通信機材

  を用意してください。 注)よく似た電圧5V用品と間違わないでください

(2) 通信接続

接続先は下の図7で赤枠と矢印で示している6本のピンです。ピン配列も示していますが、矢印の先が

1番ピンなので取り違えないよう注意ください

通信条件は、115200bps、データ長8ビット、ストップビット1、パリティ無し フロー制御無しです。

BeagleBone Black のシリアルポートのピン配列は、たまたま筆者の所有する FTDI社製のものがすぐ刺さる

BBB serial port pins
図7.シリアルコンソール接続ピンの位置
  よう設計されていますが
  他製品でも

  GND → (#1ピン)GND
  TxD → (#4ピン)RxD
  RxD → (#5ピン)TxD

  と、クロスに繋げば
  OKです。

8.Ångström Linux で遊ぼう

(0) はじめに

メーカ提供の Ångström を BeagleBone Black に入れて遊びます。 ちなみに元ねたはBeagleBone demo files

内蔵フラッシュの Ångström を使い続けてもいいのですが、内蔵フラッシュは交換できない消耗品なので、ここでは新たにSDカードにインストールし直します。

また、このÅngström には電子回路で簡単に遊ぶための Cloud9 IDE が含まれています。これも後で遊びます

(1) 母艦の準備

① Ubuntu が走っている環境を用意してください (筆者はVMware上で用意)

② microSDHCカードアダプタを用意ください
  筆者のものは /dev/sdb で認識されます。以後説明で必要に応じ読み替えてください

(2) 母艦での作業

① 中身が丸ごと消えてもいいmicroSDHCカードを用意し、アダプタに接続

  次の手順で、すべてのパーティションが消されて一から作成されます。最初から消しておくことを推奨

② 母艦Ubuntu起動し、適当な作業ディレクトリに移動し、以下のコマンドを実行してください

 (プレビルドされたイメージ取得)
  $ wget http://downloads.angstrom-distribution.org/demo/beaglebone/Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.12-beaglebone-2013.04.13.img.xz
(チェックサム確認)
  $ md5sum Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.12-beaglebone-2013.04.13.img.xz
  42099a323834c1ba1509d48ab508e9a5  Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.12-beaglebone-2013.04.13.img.xz
(SDへの書込)
  $ sudo -s
  # xz -dkc Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.12-beaglebone-2013.04.13.img.xz > /dev/sdb
  # sync 

(3) BeagleBone Black 起動

先ほど作成したmicroSDHCカードをBeagleBone Black にセット、電源を繋ぐと立ち上がります。

筆者の環境で、なぜかUSBハブがうまく動作せず、USBキーボードとマウスが同時使用できませんでしたが、継続調査とさせてください


9.Ubuntu Raring Ringtail で遊ぼう

(0) はじめに

2013年4月26日に Ubuntuの新Ver “13.04 Raring Ringtail”がリリースされました。

これを記念し、BeagleBoneへのインストール記事を書こうと思います。 ちなみに元ねたは公式Wikiです

なお、本項は基本的にBeagleboard-xm 用記事と同じものです。

(1) 母艦の準備

① Ubuntu Maverick以降のVerが走っている環境を用意してください (筆者はVMware上で用意)
  筆者の環境ではUbuntu のVerが古いとインストール途中でエラー発生した
  パッケージも最新のものにアップグレードしておいてください

② 次のパッケージを母艦にインストールしておいてください

  $ sudo aptitude install uboot-mkimage wget pv dosfstools btrfs-tools parted git-core

③ microSDHCカードアダプタを用意ください
  筆者のものは /dev/sdb で認識されます。以後説明で必要に応じ読み替えてください

(2) 母艦での作業(最小環境のインストール)

① 中身が丸ごと消えてもいいmicroSDHCカードを用意し、アダプタに接続

  次の手順で、すべてのパーティションが消されて一から作成されます。最初から消しておくことを推奨

② 母艦Ubuntu起動し、適当な作業ディレクトリに移動し、以下のコマンドを実行してください

 (プレビルドされたイメージ取得)
  $ wget http://rcn-ee.net/deb/rootfs/raring/ubuntu-13.04-console-armhf-2013-04-26.tar.xz
(チェックサム確認)
  $ md5sum ubuntu-13.04-console-armhf-2013-04-26.tar.xz
  e54b8693cb92b40d694e5885e4a1b86c  ubuntu-13.04-console-armhf-2013-04-26.tar.xz
(イメージ展開)
  $ tar xJf ubuntu-13.04-console-armhf-2013-04-26.tar.xz
  $ cd ubuntu-13.04-console-armhf-2013-04-26
(SDへの書込)
  $ sudo ./setup_sdcard.sh --mmc /dev/sdb --uboot bone_dtb

(3) BeagleBone Black 起動

① 先ほど作成したmicroSDHCカードを BeagleBone Black にセット

② 母艦と7章のシリアルコンソールをつなぎ、端末エミュレータソフトを起動

③ 電源をつなげばBeagleBone Black が起動します。
    初期ユーザー名は「 ubuntu 」初期パスワードは「 temppwd 」です。 起動後、パスワード変更ください

(4) BeagleBone Black での初期設定

① パッケージのアップデート

  $ sudo apt-get install aptitude
  $ sudo aptitude update
  $ sudo aptitude safe-upgrade 

② timezoneの設定
  以下のコマンドを実行し、'Asia/Tokyo'に設定する

  $ sudo dpkg-reconfigure tzdata

③ 固定IP の設定

  固定IP化したいときは、/etc/network/interfaces に以下の記述を追加します、DNSならそのまま。

  auto eth0
  iface eth0 inet static
  address 192.168.2.2     ←自局IP
  netmask 255.255.255.0
  network 192.168.2.0
  broadcast 192.168.2.255
  gateway 192.168.2.1     ← ルーターIP
  dns-nameservers 192.168.2.1 ← DNSサーバーIP

④ フルGUIの環境にするには

  以下のコマンドを実行し、必要なパッケージを追加する

  $ /bin/bash /boot/uboot/tools/ubuntu/minimal_lxde_desktop.sh

  次回起動よりGUIログインが可能になるはず………、なんですが画面には何も表示されず………orz

  継続調査とさせてください


10.Debian Wheezy で遊ぼう

(0) はじめに

2013年5月4日にリリースされた Debian の“ Wheezy” のインストール記事を書こうと思います。 手順は基本的

に、beagleboard-xmの記事と 同じものです。 ほぼ全自動で展開されますが、ハマリそうな箇所があるので

解説します。 ちなみに元ねたはbeagleboard の公式Wikiです

(1) 母艦の準備

① Debian Lenny以降のVerが走っている環境を用意してください (筆者はVMware上で用意)
  パッケージも最新のものにアップグレードしておいてください

② microSDHCカードアダプタを用意ください
  筆者のものは /dev/sdb で認識されます。以後説明で必要に応じ読み替えてください

③ インストールに必要な以下のパッケージをインストールしておいてください

  $ sudo aptitude install git parted uboot-mkimage

(2) 母艦での作業(ネットインストーラー書込)

① 中身が丸ごと消えてもいいmicroSDHCカードを用意し、アダプタに接続

  次の手順で、すべてのパーティションが消されて一から作成されます。 最初から消しておくことを推奨

② 母艦Debian起動し、適当な作業ディレクトリに移動し、 以下のコマンドを実行してください

  今回はシリアルモードでインストールします。GUIインストールは筆者の環境で失敗

 (インストーラ取得)
  $ git clone git://github.com/RobertCNelson/netinstall.git
  $ cd netinstall
 (インストーラ起動→SDへの書込)
  $ sudo ./mk_mmc.sh --mmc /dev/sdb --dtb am335x-boneblack --distro wheezy-armhf --firmware --serial-mode

(3) BeagleBone Black 上でネットインストーラー起動

① 先ほど作成したmicroSDHCカードを BeagleBone Black にセット

② BeagleBone Black にイーサと7章のシリアルコンソール を接続して下さい

③ AC電源アダプタを接続し起動して下さい。ネットインストーラ作者によるとUSB給電は電力不足の恐れある

  ので薦めないとのこと

(4) ネットインストーラーの注意事項

インストーラが繰り出す質問で、いくつかハマル箇所あるので解説します

① Select a language → 言語は “ C ” を選択してください。

② Primary network interface → “ eth0 : Ethernet ” を選択

③ Continue the install without loading kernel modules → “YES”
  カーネルはこのインストーラでは触りませんのでYES

④ Partition disks → “Guided - use the largest continurous free space”
  partition自動作成ですが、ブート用partitionは触ってほしくないのでこの設定

で、イケるはず………、なんですがネットワークeth0がうまくつながらず………orz

継続調査とさせてください


11.Arch Linuxで遊ぼう

Arch Linuxはシンプルな基本構成とと強力なパッケージ管理システムが評価されているディストリビューションで、各種ARMガジェットに対応しています。ためしにインストールしてみます。ちなみに元ネタは公式サイト

手順は基本的にbeagleboard-xmの記事と 同じものです。

(1) microSDHCのパーティション切り

まずは、microSDHCにパーティションを切ります。 ただし、先頭のブートパーティションはfdiskにて次のようにFAT16にしてください

 chi@ubuntu-vm:~$ sudo fdisk /dev/sdb
  コマンド (m でヘルプ): [ n ]
  コマンドアクション
  e   拡張
  p   基本パーティション (1-4)
  [ p ]
  パーティション番号 (1-4): [ 1 ]
  最初 シリンダ (1-1021, 初期値 1): [ リターンを押す ]
  初期値 1 を使います
   Last シリンダ, +シリンダ数 or +size(K,M,G) (1-1021, 初期値 1021): [ +64M ]

  コマンド (m でヘルプ): [ t ]
  選択した領域 1
  16進数コード (L コマンドでコードリスト表示): [ e ]
  領域のシステムタイプを 1 から e (W95 FAT16 (LBA)) に変更しました
  
  コマンド (m でヘルプ): [ a ]
  パーティション番号 (1-4): [ 1 ]

  コマンド (m でヘルプ): n
  コマンドアクション
  e   拡張
  p   基本パーティション (1-4)
  [ p ]
  パーティション番号 (1-4): [ 2 ]
  最初 シリンダ (19-1021, 初期値 19): [ リターンを押す ]
  初期値 19 を使います
  Last シリンダ, +シリンダ数 or +size(K,M,G) (19-1021, 初期値 1021):  [ リターンを押す ]
  初期値 1021 を使います
  コマンド (m でヘルプ): [ w ]     ※入力箇所をカギ括弧で強調しています 

(2) microSDHCのフォーマット

先頭パーティションはFAT16で、第2パーティションはext4でフォーマットします

ichi@ubuntu-vm:~$ sudo mkfs.msdos -F 16 /dev/sdb1 -n boot
ichi@ubuntu-vm:~$ sudo mkfs.ext4 -L rootfs /dev/sdb2 

(3) bootパーティションの中身書込

Arch linux 公式サイトからブートパーティションの中身をダウンロードし書き込み

ここで、tarから解凍したファイルをSDファイルへの書き込み順番が……、という話があるのですが、tarから直接書き込みでこの問題を回避

ichi@ubuntu-vm:~$ wget http://archlinuxarm.org/os/omap/BeagleBone-bootloader.tar.gz
ichi@ubuntu-vm:~$ mkdir boot
ichi@ubuntu-vm:~$ sudo mount /dev/sdb1 boot
ichi@ubuntu-vm:~$ sudo tar -xvf BeagleBone-bootloader.tar.gz -C boot
ichi@ubuntu-vm:~$ sync
ichi@ubuntu-vm:~$ sudo umount boot 

(4) rootfsパーティションの中身書込

Arch linux 公式サイトからルートパーティションの中身をダウンロードし書き込み

ichi@ubuntu-vm:~$ wget http://archlinuxarm.org/os/ArchLinuxARM-am33x-latest.tar.gz
ichi@ubuntu-vm:~$ mkdir root
ichi@ubuntu-vm:~$ sudo mount /dev/sdb2 root
ichi@ubuntu-vm:~$ sudo tar -xf ArchLinuxARM-am33x-latest.tar.gz  -C root
ichi@ubuntu-vm:~$ sync
ichi@ubuntu-vm:~$ sudo umount root 

(5) 初期起動

① 先ほど作成したSDHCカードを BeagleBone にセット

② 電源をつなげば Beaglebone が起動します。

④ 初期ユーザー:root 、初期パスワード: root です。なるべく早く変更してください

すみません、筆者の環境ではここでブート失敗、後日再チャレンジします

(7) BeagleBone での初期設定

① ネットワークを設定します。 /etc/rc.confの以下の行を変更します

 HOSTNAME="bone" (お好みのHOST名をセット)
 interface=eth0
 address=192.168.0.2  (この行以降のIPアドレスを空白にするとDHCPから取得になります)
 netmask=255.255.255.0
 broadcast=192.168.0.255
 gateway=192.168.0.1 

   /etc/hosts に、以下の行を追加し先ほどセットした自分のホスト名のIPを登録します

 192.168.0.2 bone bone.homeip.net

   /etc/resolv.conf に、以下の行を追加し自分のネームサーバーを登録します

このファイルは不要なDAEMONに上書きされないようchmod a-w します

 nameserver 192.168.0.1 

② その他の初期設定として /etc/rc.confの以下の行を変更します

 LOCALE="ja_JP.utf8"
 TIMEZONE="Asia/Tokyo"
 KEYMAP="jp106" 
   /etc/locale.gen に、以下の行を追加し、locale-gen コマンドを実行してください

 ja_JP.UTF-8 UTF-8
 ja_JP.EUC-JP EUC-JP

③ パッケージ管理システムを以下のコマンドで初期化し、パッケージを最新にします

 # pacman -Sy (最新のソースリストと同期)
 # pacman -Su (既存の環境のアップデート)

OS伝説で遊ぼうのこーなーへ戻る


メインメニュー

資格取るぞのこーなー

OS伝説で遊ぼうのこーなー

ガジェットで遊ぼうのこーなー