BeagleBone Blackを使う

最近、Linux on ARM に興味を持ち、いろいろと構成を知りたくなりました。特にLinuxの構成がどのようになっているのか、ドライバの作り方等々。既に Raspberry Pi を持っていますが、これ1種類では Raspberry Pi 固有なのかどうかの判断が付きにくいので、かねてより他の安価なボードを買おうか迷っていました。そんな矢先、秋月電子通商で BeagleBone Black を売っているのを知り、購入してみました。

これ、購入して初めて知ったのですが、Raspberry Piに比べてWEB上での情報が格段に少ないです。特に日本語のサイトとなると数えられるくらいです……。これは面白いと思いました。私の目的が「Linuxの構成を知る」事にあるので、余分な情報が少なければ少ないほど自分で試行錯誤を繰り返し、資料を読みあさる必要があるからです。Raspberry Pi の時(主にLinuxアプリの使用方法を検討)とは異なり、Bootからrootfsの構成、Linuxドライバを含む下回りをメインに見ていこうと思います。もちろん、随時 Raspberry Pi と見比べて Linux固有なのか、ボード依存なのかといった判断をしながらです。

Raspberry Pi と BeagleBone Black との最大の違いは、前者はSDブートのみ、後者はNAND-Flashブート(on Board)とSDブートの両対応といった点です。BeagleBone Blackは2つのROM領域とブート方法があるが故にWEB上の情報を読む時に「どっちの事だ?」と考え込むことがあります。実に面白いです。

いろいろと御託を並べましたが、先ずは普通に起動する所まで持って行きます。Raspberry Pi では一切お目にかかっていない X-Window の起動を第1ステップとして設定しました。挑戦しながらの記事なので、間違いが散在する可能性が十分にありますが、課程を楽しむといった点で記録を残したいと思います。


私が購入したのは 「BeagleBone Black Rev.A5C」です。これには出荷時に NAND-Flash に Angstrom Linux が入れられていて、モニター(microHDMI)、キーボード、マウス、電源を繋げばLinuxマシンのできあがりです。なので、先ずは Angstrom Linux のお顔を拝見……と思ったのですが、思わぬ自体に。なんと microHDMI と USB の口が接近しすぎて両方を同時に刺す事ができません!?

1379858116338.jpg

PC専用モニターを持っていないので、液晶TVを代わりに使おうとして、HDMIのコネクタ変換(A→D)をかましたのが原因です。いきなりの衝撃的事実で意気消沈しそうでしたがそこは頭を切り換えて、変換機をもっとスマートな物を購入するとして、今できる事をする事にしました。

やりたい事は Ubuntu をSDカードで起動させて X-Window の画面を拝む事です。まっ、上記した様に変換機が届くまで拝む事はできませんが、準備だけはしてみましょう。

CircuitCo Wiki Support の Installing LXDE を参考に LXDE版12.04.2 LTSをインストールします。

ARM HF Linux にあるイメージファイルを取ってきてSDに書き込むのです。

ubuntu-precise-12.04.2-armhf-3.8.13-bone20.img.xz をDLして解凍します。解凍にはLhazを使いましたが、xz形式を解凍できるソフトであれば何でも可です。解凍したファイルを Win32DiskImager を使って microSDカード に書き込みます。1.78 GBあるので結構時間がかかります。
※指定するドライブには十分に注意してください。

書き終えた microSDカード を BeagleBone Black に挿入します。
本当はここでモニターとキーボード、マウスを繋ぐ所ですが、先に記載したようにコネクタが干渉して全部を繋ぐことができないので、大きな賭に出てみます。SSHが起動する事を前提にLANケーブルを繋いで S2-SWを押下したまま電源コネクタを接続します。

USER LED(4つ並んでいる)が点滅し起動した感じがしたら(私は1分くらい待ちました)S2-SWを放します。で、ルータで割り振っている BeagleBone Black のIPアドレスを調べます(接続前後で比べて増えた物だと思います)。そのIPアドレスを使ってターミナルからSSH接続します。ターミナルには TeraTerm を使いました。

User: ubuntu
Password: ubuntu

上記内容でログインした所、SSH接続できたので、賭に勝ったみたいです。

$ sudo apt-get update
$ sudo apt-get -y install lxde lxde-core lxde-icon-theme

通信速度にもよりますが、15分くらいで終了します。

$ sudo shutdown -h now

一度終了させて電源を抜いて S2-SW を押下しながら電源を刺すと X-window で起動している……はずです。

試しに、microHDMI端子にTVを繋いで表示してみたところ、ログイン画面が写りました。LXDE版12.04.2 LTSのログイン画面っぽいのでここまでは成功でしょう。

20130923_160504.jpg


せっかくSSHで接続しているので、状態確認です。

各容量を確認。

$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/mmcblk0p2 ext4 1811704 797216 920792 47% /
devtmpfs devtmpfs 253768 4 253764 1% /dev
none tmpfs 50784 244 50540 1% /run
none tmpfs 5120 0 5120 0% /run/lock
none tmpfs 253912 0 253912 0% /run/shm
/dev/mmcblk0p1 vfat 1004 472 532 48% /boot/uboot


mmcblk0p1 と mmcblk0p2 をあわせても2GBくらいしか領域を確保されていません。4GBの microSDカード を使用しているので残り2GBがもったいないです。何とか領域の拡大ができないか調べてみたら、fdiskコマンドでパーティションの拡張ができる様です。

$ fdisk /dev/mmcblk0

Command (m for help): p ← 内容確認

Disk /dev/mmcblk0: 3965 MB, 3965190144 bytes
4 heads, 16 sectors/track, 121008 cylinders, total 7744512 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x80000000

Device Boot Start End Blocks Id System
/dev/mmcblk0p1 * 2048 4095 1024 1 FAT12
/dev/mmcblk0p2 4096 3751935 1873920 83 Linux

Command (m for help): d ← パーティション削除(表面上の話しです)
Partition number (1-4): 2

Command (m for help): n ← パーティション作成(拡張)
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (1-4, default 2): 2
First sector (4096-7744511, default 4096):
Using default value 4096
Last sector, +sectors or +size{K,M,G} (4096-7744511, default 7744511):
Using default value 7744511

Command (m for help): w ← 設定した内容を保存
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.


パーティションの拡張設定はできたのですが、システムに反映されていないので再起動します。microSDカードから起動するので、S2-SWを押下しながら以下のコマンドを実行。

$ sudo reboot

再びSSH接続してパーティションが拡大されているか確認します。

$ sudo fdisk /dev/mmcblk0

Command (m for help): p

Disk /dev/mmcblk0: 3965 MB, 3965190144 bytes
4 heads, 16 sectors/track, 121008 cylinders, total 7744512 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x80000000

Device Boot Start End Blocks Id System
/dev/mmcblk0p1 * 2048 4095 1024 1 FAT12
/dev/mmcblk0p2 4096 7744511 3870208 83 Linux

Command (m for help): q


$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/mmcblk0p2 ext4 1811704 797324 920684 47% /
devtmpfs devtmpfs 253768 4 253764 1% /dev
none tmpfs 50784 244 50540 1% /run
none tmpfs 5120 0 5120 0% /run/lock
none tmpfs 253912 0 253912 0% /run/shm
/dev/mmcblk0p1 vfat 1004 472 532 48% /boot/uboot


パーティションは拡大されている。しかし、ファイルシステム上のサイズが変更されていないみたい。調べてみると resize2fs というコマンドで行う様だが…、入ってないです~。apt-cache search で調べてると、system-config-lvm に入っているらしい、でもこれってGUI側も入っているみたいなんだよな~、と思いつつインストール。

$ sudo apt-get install system-config-lvm

$ sudo resize2fs /dev/mmcblk0p2
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mmcblk0p2 is now 967552 blocks long.

$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/mmcblk0p2 ext4 3778576 829248 2779472 23% /
devtmpfs devtmpfs 253768 4 253764 1% /dev
none tmpfs 50784 244 50540 1% /run
none tmpfs 5120 0 5120 0% /run/lock
none tmpfs 253912 0 253912 0% /run/shm
/dev/mmcblk0p1 vfat 1004 472 532 48% /boot/uboot


無事にファイルシステムとしても4GBを認識しました。

早くHDMIの変換機来ないかな~。
スポンサーサイト

tag : BeagleBoneBlack

黒ねこ時計 くろック D02
プロフィール

jujurou

Author:jujurou
運営HP:チャコの部屋
Twitter:jujurou

カレンダー
08 | 2013/09 | 10
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 - - - - -
最新記事
最新コメント
カテゴリ
ユーザタグ

ぺるけ RaspberryPi Linux TRminiWatterPart4 トランジスタ式ミニワッター MPD イーサネットコンバータ OpenOCD buildroot DAC FON2405E FM3ペリフェラル BeagleBoneBlack ODROID-U2 mingw FM3評価ボード library OpenGL FM4 bitbake KiCad 計測 プリアンプ Edison VMware 6P43P ミニワッター 6N6P シングル TL-WR700N 

月別アーカイブ
ランキング

FC2 Blog Ranking

カウンター
検索フォーム
リンク
RSSリンクの表示
QRコード
QRコード
ライセンス
クリエイティブ・コモンズ・ライセンス
Twitter