Beagleboard-xM で遊ぼうのこーなー(ハード編)
最近では古くて高くて、すっかり色あせてしまいましたが、Beagleboard-xm の動かし方を紹介します
0.目次
---ハード編---
--- ソフト編 ---
1.Beagleboard-xMとは
Beagleboard-xMとは BeagleBoard.org が開発・販売している小型のマザー・ボードです。 この8.5cm四方の小さな基板の中にパソコンに必要な機能が一通りそろって おり linuxで動かすことが可能です。
Beagleboardには2種類(ノーマルと-xM版)ありますが、 ここでは、-xM版に絞って紹介します
機能 | 内容 |
---|---|
CPU | TI DM3730 1.0GHz (ARM Cortex-A8) |
主記憶 | 512MB DDR RAM |
補助記憶 | Micro SDHC |
ネット | 100Mbps Ethernet ×1 |
USB | 4ポート+OTGポート |
画像出力 | DVI-D、 S-video |
音声 | ステレオ入出力 |
コンソール | シリアルコネクタ |
電源 | 5V電源アダプタ またはUSB給電 |
基板サイズ | 85.6×85.1[mm] |
2.日本での入手方法
(1) 購入先
米国からの個人輸入になります。
国際的な電子部品販売業者である
Digi-Key 日本サイトからの購入が
日本語で通じるのでお勧めです
何らかのトラブル時の問合電話も日本のオペレータが対応してくれます
他に輸入代行する日本業者もあるが、価格はDigi-Keyの方が安く購入できます
送料込み \15,079 ~2013/04/24現在~ です (円ドル為替相場によって毎月価格が変わります)
日本の消費税 +5% は別途要。本品目関税は無し
(注意:同じDigi-Keyでも、日本サイトから購入ください。 Digi-Key米国サイトからだとドル建て価格が安く
見えますが、 別途高額な国際宅配便代が請求される)
(2) 発注方法
Digi-Key 日本サイトに行き 商品検索窓に「beaglexm」といれて検索すると発注画面に行きます
この検索窓で単に「beagle」や「beagleboard」といれると旧Verのボードが 検索に引っかかるので注意。
発注画面中ほどにデータシートの欄があるのでその中身が "BeagleBoard-xM"と、-xMがついていることを
確認して発注してください
発注時の注意事項は3つあり
a) 住所を英語流のローマ字で書くこと
b) 電話番号を国際電話から掛けられるよう書くこと
筆者はここ
を参考に書きました
[参考例題] 大阪城天守閣の場合
[日本語] 〒540-0002 大阪市中央区大阪城1-1
(Tel : 06-6941-3044)
[英 語] 1-1, Osakajo, Chuo-ku, Osaka
540-0002 Japan (Tel : +81-6-6941-3044)
c) 米国の輸出管理法に従うため、利用目的を申告すること
ここが一番厄介です。このbeagleboardは高性能なため北のあの国に送られる
と軍事目的に使われ
かねません。使用目的を正しく申告し、輸出管理にご協力ください
具体的には筆者はrerofumi様ブログ
「コメを噛め」を参考にして記入しました。
しばらく待っていると(在庫があれば翌日に)発送済みメールが届き
国際宅配便UPS (国内配達はヤマト運輸、 東京だと国内もUPS)で物が届く
(参考:筆者は2010/8/27発注→9/16米国発送→9/18受取)
(3) 日本の代理店へ発注する方法
日本語が通じるオペレータが居るとはいえ海外取引に抵抗がある方は、Tech Share Storeから購入できます。
2013/4/24現在、\17,800+送料\210-ポイント158(要会員登録)です。
他に、RSコンポーネンツでも扱っていますが、2013/4/24現在、¥18,900 と少しお高くなっています
3.別途用意する持ち物
(1) 母艦パソコン
Windowsパソコンでいいので用意してください。(Macも可能) Linuxが走っていればなお良しです。
Linux環境をお持ちでなければ、 このサイトの記事を参考に 仮想化ソフト上でインストールしてください
(2) シリアルケーブル
beagleboard-xM側がメスコネクタなので、「RS232C延長ケーブル」を用意ください。
たとえばこんな形状 で、内部の結線は「ストレート」です。
母艦にシリアルポートが無い場合は USBシリアルコンバータを使用してください。
技術士の日名地輝彦様のブログ「技術士事務所 応用技術研究所」によると
Windows8(64bit)用には安物変換器ではドライバ不調になるので、多少お高いですが
RATOC社製USBシリアルコンバータ (型式 REX-USB60F)がお勧めとのこと。
(3) microSDHCカード
beagleboard-xM では購入時に動作確認用の起動SDが添付されていますが
万一のときのために起動確認後は使わず保存しておくことを薦めます
別途 microSDHCカード (4GB以上推奨) を用意してください
(4) microSDHCアダプタ
上記microSDHCを母艦から読み書きできるアダプタを用意ください
(5) 端末エミュレータソフト
筆者は普段Puttyを 使っています。別の端末ソフトでもOKです
------ここからは必須ではないものの、筆者推奨品です
(6) ACアダプタ
5V、センタープラス、内径2.1mm、外径5.5mmの標準タイプです
定格最大使用電流750mAですが、USBへの給電500mA×4ポート分も合わせて3AのACアダプタを推奨。
セルフパワー型のUSBハブからbeagleboardのminiUSBポートにつなぐと 電源供給できる、素敵な機能も
あるのですが、1ポート分では電流が不足しますので2ポートから電流が取れる2又コードが必要です
(7) HDMIケーブル
画像出力端子がHDMI端子になっています
お使いのCRTがDVI-D対応ならHDMI→DVI-D変換ケーブルを
ハイビジョンテレビをおもちならHDMIケーブルを用意下さい
本ケーブルの脱着は必ず電源オフ中にしてください
(8) 入出力機器
DVI-D対応CRT、USBキーボード、USBマウスがあればGUIログインも可能です
(9) 犬小屋
Beagleboard-xM はご覧の通り、むき出しの基板です。 ショートなど無用のトラブルを防ぐため
何かで 保護してください。 専用ケースが販売されていますが高いです。 タッパに入れる方 もおられますが
筆者は rerofumi様ブログ 「コメを噛め」をまねて アクリルカバーを取り付けました
4.添付SDでテスト起動
(1) シリアル回線の設定
母艦とBeagleboard-xMをシリアルケーブルで接続し、 端末エミュレータを起動して下さい。
通信条件は、115200bps、データ長8ビット、ストップビット1、パリティ無し フロー制御無しです。
(2) テスト起動
Beagleboard-xMに初期添付されている microSDHC カードを挿入し、 電源をつなぐと起動します。
ただし、この起動は、microSDHC内のディスクイメージをRAMディスクに展開して起動するので時間がかかり、
また、RAMディスクに何を書き込んでも次回起動時には元に戻ってしまいます
ユーザー名root、パスワード無しでログインして一通り触ったら、おしまいです shutdown -r してください。
(3) 環境変数のメモ
再起動したら再びubootが通常起動のカウントダウンを始めます
ここでそれを一旦とめて(何かキーを叩く)、printenvコマンドを入れて 表示される各変数の値をログに
記録しておくことを薦めます。 参考までに、筆者の環境(Rev.A2)で、起動からprintenvまでのログを
リンク先にアップしていますので ご覧ください (一部伏字にしています)
5.犬小屋で遊ぼう ( 基板設計情報の取得 )
Beagleboard-xM は、むき出しではかわいそうなので、 筆者はアクリル板の犬小屋 に入れてあげました。
(1) 基板設計情報の取得
まずは、Beagleboard-xM の取り付け穴の寸法を正確に把握するため 基板設計情報 (ガーバーデータ)を
公式サイトガーバーデータ(Rev.A2) より取得します。
サイト上の位置は、Top -> View more resources -> Beagle Board Design Materials の下にあります。
そこまでしなくとも現物あわせでディバイダーなどで寸法写し取ればいいのですが そこは、趣味の世界。
(2) ガーバーデータビュアーの取得
ガーバーデータビュアーは各種ありますが、筆者が表示に使用したのは Gerbv 2.4.0です。
(3) ガーバーデータの表示
"ctcfab1.063"ファイルを開きます
ドリルデータそのものではないのですが、図面が表示され、
求める穴データは「N」で表示されています
向きは、イーサネットポートを下向きに置いたときの方向です
φ | A | B | C | D | E | F | |
---|---|---|---|---|---|---|---|
mil単位 | 156 | 150 | 2800 | 400 | 275 | 2700 | 395 |
ミリ単位 | 3.96 | 3.81 | 71.12 | 10.16 | 6.99 | 68.58 | 10.03 |
(4) アクリル板の切り出し
基板の寸法が分かったので、それを保護するため上下から挟み込むアクリルを 切り出します。(100×100×板厚2ミリ×2枚)
基板を保護するため、左端上端は基板面より5ミリ、右端下端は
10ミリほど広めに切り出します。
(右端下端はイーサやRS232C端子が少しはみ出ている分多目)
φ | A | B | C | D | E | F | |
---|---|---|---|---|---|---|---|
ミリ単位 | 4.0 | 9.0 | 71.12 | 19.88 | 13.0 | 68.58 | 18.42 |
(5) ボルト止め
あとは4隅をボルト止めすると、風通しのよい日本家屋が完成筆者は底面から順番に以下の部材×4で止めましたが、お好みで
① M4ネジ40mm長 を貫通させます
-↓--(下アクリル板)
-↓② 貫通金属スペーサ10mm長
-↓--(基板 Beagleboard-xM)
-↓③ 貫通金属スペーサ15mm長
-↓④ M4ナット
-↓---(上アクリル板)
-↓⑤ M4ナット
あと、アクリル板にはワッシャをかまします。 そうすると、ネジの長さが丁度収まりいい感じになりました
7.Ubuntu Raring Ringtail で遊ぼう
(0) はじめに
2013年4月26日にUbuntuの新Ver “13.04 Raring Ringtail”がリリースされました。
これを記念し、beagleboard-xmへのインストール記事を書こうと思います。 ちなみに元ねたは公式Wikiです。
(1) 母艦の準備
① Ubuntu Raring が走っている環境を用意してください
(筆者はVMware上で用意)
筆者の環境ではUbuntu のVerが古いとインストール途中でエラー発生した
パッケージも最新のものにアップグレードしておいてください
② 次のパッケージを母艦にインストールしておいてください
$ sudo aptitude install uboot-mkimage pv btrfs-tools git-core
③ microSDHCカードアダプタを用意ください
筆者のものは /dev/sdb で認識されます。以後説明で必要に応じ読み替えてください
(2) 母艦での作業(最小環境のインストール)
① 中身が丸ごと消えてもいいmicroSDHCカードを用意し、アダプタに接続
次の手順で、すべてのパーティションが消されて一から作成されます。最初から消しておくことを推奨
② 母艦Ubuntu起動し、適当な作業ディレクトリに移動し、以下のコマンドを実行してください
(プレビルドされたイメージ取得)
$ wget 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 beagle_xm
(3) beagleboard-xm 起動
① 先ほど作成したmicroSDHCカードをbeagleboard-xmにセット
② 母艦とシリアルケーブルをつなぎ、端末エミュレータソフトを起動
③ 電源をつなげばBeagleboard-xMが起動します。
初期ユーザー名は「 ubuntu 」初期パスワードは「 temppwd 」です。
起動後、パスワード変更ください
④ お好みでDVI-D入力端子CRTとHDMI→DVI-D変換ケーブルでつなぎ、
USBキーボードもつなげば
画面からもログインし、コマンドが打てます。 ( CUI です )
(4) beagleboard-xm での初期設定
① パッケージのアップデート
$ sudo apt-get install aptitude
$ sudo aptitude update
$ sudo aptitude safe-upgrade
② timezoneの設定
以下のコマンドを実行し、'Asia/Tokyo'に設定する
$ sudo dpkg-reconfigure tzdata
③ フルGUIの環境にするには
以下のコマンドを実行し、必要なパッケージを追加する
$ sudo aptitude install lxde lxde-core lxde-icon-theme
次回起動よりGUIログインが可能になるはず………、なんですがGUIログインするとこまでは行くんですが、その後何もプログラムが立ち上がらず、もう少し調査させてください
(5) GUI画面解像度の変更
GUI画面解像度を修正するには立ち上げ時にカーネルに与える引数を変更する必要があります。
① 立ち上げパーティションは /boot/uboot/ にマウントされていますので移動
そこにある uEnv.txt を編集してください 8行目が解像度を設定する場所です。
② デフォルトでは画面解像度が1280x720@60Hzで立ち上がりますが
CRTによってはこの解像度に対応
しておらず、CRT表示不可の場合があるようです(読者より投書)
その場合は、上記 uEnv.txt の8行目を以下のように変えてみてください
(オリジナル)#dvimode=1280x720MR-16@60
(修正) dvimode=640x480MR-16@60
うまくいけば、800x600MR-16@60、1024x768MR-16@60、1280x1024MR-16@60も試してください
④ 再起動すれば設定が変更されます
⑤ 掲示板にて上記うまくいかなかった場合に、母艦PCの時点で変更する方法も示すべしとの投書を
いただきました。インストール直後から解像度を正しく設定するには、
Ubuntuの圧縮イメージをダウンロード、展開後に中に入っている setup_sdcard.shの中に書いてある825行目の記述 (VIDEO_TIMING="1280x720MR-16@60") に書いてある解像度を 手持ちのディスプレイの解像度に合わせてから実行ください。
(6) ハイビジョンテレビへの出力
ハイビジョンテレビへ出力するには 上記の解像度調整でuEnv.txtを以下のようにします
(オリジナル)#dvimode=1280x720MR-16@60
(修正) dvimode=hd720-24@60
過去のバージョンではうまく写っていたこともあったのですが、筆者のテレビでは左端上端が切れます。
対症療法として以下のようにするとうまく写ったので参考まで
# cd /sys/devices/platform/omapdss/display0
# cat timings
72000,1280/220/110/40,720/20/5/5 ←デフォではこの値になっているはず
# echo "72000,1280/110/235/40,720/5/27/5" > timings ←強制的に修正
上記の4つ目の数字の235、8つ目の数字の27 を修正するとマージン調整します
(7) 多少の日本語対応
① 日本語ローケールの設定
以下のコマンドを実行し、ja_JP.UTF-8 を追加する。
% sudo locale-gen ja_JP.UTF-8
% sudo dpkg-reconfigure locales
② 日本語フォントの設定
お好みの日本語フォントを入れる。例えば、
$ sudo aptitude install ttf-kochi-gothic ttf-kochi-mincho
③ 日本語入力環境 ( ibus とanthy ) を導入します (起動はCTRL-SPACE)
$ sudo aptitude install ibus-anthy
④ gdm からログインする際に下に言語とキーボードを選ぶメニュー出るので
言語を日本 に設定してからパスワード入力し、ログインしてください
8.SDの複製バックアップ
(1) beagleboard用SDのパーティション構造
Beagleboard用SDはディストリビューションにより異なりますが 一般的に次のパーティションで構成されている
① bootパーティションブートローダ、カーネル、起動スクリプトを格納します。 ファイルシステムはFAT32です
基板内ブートROMがアホの子なので、 ブートローダ ( MLO ) はフォーマット直後に書いて、パーティション
先頭に連続したアドレスで配置しなければなりません
② rootfsパーティション
カーネルは第2パーティションを“/”にマウントします。 ファイルシステムはext3など一般的なLinux用です
(2) 複製先SDのフォーマット
ここから先は母艦Linux ( 後述実施例はVmware上のUbuntu Lucid ) でやってください。
フォーマットのやり方はここにもありますが、以下説明します
① 中身が丸ごと消えてもいいSDカードを用意② SDカードのデバイス名を確認ください
筆者の環境例では /dev/sdb 別の環境例では /dev/mmcblk0 などです
③ SDカードがマウントされていないか確認してください
df コマンドで上記デバイスが表示されれば、 umount してください
④ SDカードのジオメトリーを設定してください
fdiskコマンドでヘッド数255、セクタ数63 に設定します
シリンダ数969は総容量(7977371904)/ヘッド数255/セクタ数63/セクタ長512byte (小数点以下切捨)に設定
ichi@ubuntu-vm:~$ sudo fdisk /dev/sdb
コマンド (m でヘルプ): [p]
ディスク /dev/sdb: 7973 MB, 7973371904 バイト
ヘッド 246, セクタ 62, シリンダ 1021
Units = シリンダ数 of 15252 * 512 = 7809024 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x0009b807
デバイス ブート 始点 終点 ブロック Id システム
コマンド (m でヘルプ): [x]
上級者コマンド (m でヘルプ): [h]
ヘッド数 (1-256, 初期値 246): [255]
上級者コマンド (m でヘルプ): [s]
セクタ数 (1-63, 初期値 62): [63]
上級者コマンド (m でヘルプ): [c]
シリンダ数 (1-1048576, 初期値 1021): [969]
上級者コマンド (m でヘルプ): [r] ※入力箇所をカギ括弧で強調しています
⑤ 先頭のブートパーティションを作成
9シリンダ分=74MB分確保し、領域のシステムタイプとブータブル設定
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本パーティション (1-4)
[ p ]
パーティション番号 (1-4): [ 1 ]
最初 シリンダ (1-969, 初期値 1): [ リターンを押す ]
初期値 1 を使います
Last シリンダ, +シリンダ数 or +size(K,M,G) (1-969, 初期値 969): [ 9 ]
コマンド (m でヘルプ): [ t ]
選択した領域 1
16進数コード (L コマンドでコードリスト表示): [ c ]
領域のシステムタイプを 1 から c (W95 FAT32 (LBA)) に変更しました
コマンド (m でヘルプ): [ a ]
パーティション番号 (1-4): [ 1 ] ※入力箇所をカギ括弧で強調しています
⑥ 2番目のLinux rootfs パーティションを作成
残りのすべてをLinux用rootfsにします。
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本パーティション (1-4)
[ p ]
パーティション番号 (1-4): [ 2 ]
最初 シリンダ (10-969, 初期値 10): [ リターンを押す ]
初期値 10 を使います
Last シリンダ, +シリンダ数 or +size(K,M,G) (10-969, 初期値 969): [ リターンを押す ]
初期値 969 を使います ※入力箇所をカギ括弧で強調しています
⑦ 作業内容を確認しSD に書き込み
コマンド (m でヘルプ): [ p ]
ディスク /dev/sdb: 7973 MB, 7973371904 バイト
ヘッド 255, セクタ 63, シリンダ 969
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x000d063c
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 * 1 9 72261 c W95 FAT32 (LBA)
/dev/sdb2 10 969 7711200 83 Linux
コマンド (m でヘルプ): [ w ]
パーティションテーブルは変更されました!
ioctl() を呼び出してパーティションテーブルを再読込みします。
警告: DOS 6.x パーティションを作成、または変更してしまった場合は、
fdisk マニュアルの追加情報ページを参照してください。
ディスクを同期しています。
ichi@ubuntu-vm:~$ ※入力箇所をカギ括弧で強調しています
⑧ フォーマットします
以下の例では第1パーティションをFAT32でラベル「boot」、 第2パーティションをext3でラベル「rootfs」
でフォーマットしています。 ディストリビューションによって 違うファイルシステムを使っている場合は
オリジナルに合わせてください
ichi@ubuntu-vm:~$ sudo mkfs.msdos -F 32 /dev/sdb1 -n boot
ichi@ubuntu-vm:~$ sudo mkfs.ext3 -L rootfs /dev/sdb2
(3) SDの複製
① bootパーティションmount の方法は以下の様にしてください
ichi@ubuntu-vm:~$ sudo mount -t vfat /dev/sdb1 /mnt/sd
すべてのファイルをcpするだけなのですが、書出時が要注意で、
必ずフォーマット直後に「MLO」を真っ先に書き出し、次にuboot.bin、uImage、uInitrd、その他としてください。しくじったら再フォーマット
② rootfsパーティション
普通にdump & restore です。 tar cvpjf … などでもOKです。
なお、添付SDのコピーの場合はrootfsコピー不要です。
sync を作業の節目ごとに入れておくことを薦めます。
9.Debian Wheezy で遊ぼう
(0) はじめに
2013年 5月 4日に Debian の新Ver “ Wheezy”がリリースされました。
これを記念し、beagleboard-xmへのインストール記事を書こうと思います
ほぼ全自動で展開されますが、ハマリそうな箇所があるので解説します。 ちなみに元ねたは公式Wikiです
(1) 母艦の準備
① Debian Lenny以降のVerが走っている環境を用意してください
(筆者はVMware上で用意)
パッケージも最新のものにアップグレードしておいてください
② microSDHCカードアダプタを用意ください
筆者のものは /dev/sdb で認識されます。以後説明で必要に応じ読み替えてください
③ インストールに必要な以下のパッケージをインストールしておいてください
$ sudo aptitude install git parted uboot-mkimage
(2) 母艦での作業(ネットインストーラー書込)
① 中身が丸ごと消えてもいいmicroSDHCカードを用意し、アダプタに接続
次の手順で、すべてのパーティションが消されて一から作成されます。最初から消しておくことを推奨
② 母艦Debian起動し、適当な作業ディレクトリに移動し、以下のコマンドを実行してください
(インストーラ取得)
$ git clone git://github.com/RobertCNelson/netinstall.git
$ cd netinstall
(インストーラ起動→SDへの書込)
$ sudo ./mk_mmc.sh --mmc /dev/sdb --uboot beagle_xm --distro wheezy-armhf --firmware --serial-mode
要らぬトラブルを避けるため --serial-mode を指定して端末からインストール指示出せるようにしてますが、
お好みで、これをはずせばGUIインストールもできます。
(3) beagleboard-xm 上でネットインストーラー起動
① 先ほど作成したmicroSDHCカードをbeagleboard-xmにセット
② 母艦とシリアルケーブルをつなぎ、端末エミュレータソフトを起動、イーサケーブルも接続して下さい
③ 電源をつなげばネットインストーラが起動します。
(4) ネットインストーラーの注意事項
インストーラが繰り出す質問で、いくつかハマル箇所あるので解説します
① Select a language → 言語は “ C ” を選択してください。
③ Primary network interface → “ eth0 : Eithernet ” を選択
④ Continue the install without loading kernel modules → “YES”
カーネルはこのインストーラでは触りませんのでYES
⑤ Partition disks → “Guided - use the largest continurous free space”
partition自動作成ですが、ブート用partitionは触ってほしくないのでこの設定
(5) GUI画面解像度の変更
以前は --serial-mode を指定するとGUIが出なくなりましたが、現在はグラフィック環境をインストールすると最初からGUIも出ます。
画面解像度の変更や、ハイビジョンテレビへの出力切り替え方法はUbuntuと同じになりましたのでそちらを
参照ください。
(6) 日本語対応
① 日本語ローケールの設定
以下のコマンドを実行し、ja_JP.UTF-8、ja_JP.EUC-JP を追加する。
お好みで日本語のどちらかをデフォルトに設定
$ sudo dpkg-reconfigure locales
② 日本語フォントの設定
お好みの日本語フォントを入れる。例えば、
$ sudo aptitude install ttf-kochi-gothic ttf-kochi-mincho
③ 日本語入力環境 ( ibus とanthy ) を導入します (起動はCTRL-SPACE)
$ sudo aptitude install ibus-anthy
④ gdm からログインする際に下に言語とキーボードを選ぶメニュー出るので
言語はJapanese(japan) に、キーボードも Japan に設定してからパスワード入力し、ログインしてください
10.Arch Linuxで遊ぼう
Arch Linuxはシンプルな基本構成とと強力なパッケージ管理システムが評価されているディストリビューションで、各種ARMガジェットに対応しています。ためしにインストールしてみます。ちなみに元ネタは公式サイト
(1) microSDHCのパーティション切り
まずは、前8章(2)と同様に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): [ +128M ]
コマンド (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パーティションはext3でフォーマットします
ichi@ubuntu-vm:~$ sudo mkfs.msdos -F 16 /dev/sdb1 -n boot
ichi@ubuntu-vm:~$ sudo mkfs.ext3 -L rootfs /dev/sdb2
(3) bootパーティションの中身書込
Arch linux 公式サイトからブートパーティションの中身をダウンロードし書き込み
ichi@ubuntu-vm:~$ wget http://archlinuxarm.org/os/omap/BeagleBoard-bootloader.tar.gz
ichi@ubuntu-vm:~$ tar xvzf BeagleBoard-bootloader.tar.gz
ichi@ubuntu-vm:~$ sudo mount -t vfat /dev/sdb1 /mnt/sd (マウントポイントは各自の環境に合せ読替ください)
ichi@ubuntu-vm:~$ sudo cp MLO /mnt/sd (必ず始めにMLOをコピーしてください)
ichi@ubuntu-vm:~$ sudo cp u* /mnt/sd
ichi@ubuntu-vm:~$ sync
ichi@ubuntu-vm:~$ sudo umount /dev/sdb1
(4) rootfsパーティションの中身書込
Arch linux 公式サイトからルートパーティションの中身をダウンロードし書き込み
ichi@ubuntu-vm:~$ wget http://archlinuxarm.org/os/ArchLinuxARM-omap-smp-latest.tar.gz
ichi@ubuntu-vm:~$ sudo mount /dev/sdb2 /mnt/sd (マウントポイントは各自の環境に合せ読替ください)
ichi@ubuntu-vm:~$ sudo tar xvpzf ArchLinuxARM-omap-smp-latest.tar.gz -C /mnt/sd
上記ルートパーティションからカーネルをブートパーティションへコピー
ichi@ubuntu-vm:~$ cp /mnt/sd/boot/uImage .
ichi@ubuntu-vm:~$ sync
ichi@ubuntu-vm:~$ sudo umount /dev/sdb2
ichi@ubuntu-vm:~$ sudo mount -t vfat /dev/sdb1 /mnt/sd
ichi@ubuntu-vm:~$ sudo cp uImage /mnt/sd/
(5) boot.scr の作成
まずは以下の内容のboot.cmd ファイルを作ります
setenv bootargs 'console=ttyO2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait'
mmc init
fatload mmc 0 0x80300000 uImage
bootm 0x80300000
boot
boot.scr ファイルを作ります
ichi@ubuntu-vm:~$ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Beagleboard-xM boot script" -d boot.cmd boot.scr
ブートパーティションにコピーします
ichi@ubuntu-vm:~$ sudo cp boot.cmd /mnt/sd/
ichi@ubuntu-vm:~$ sudo cp boot.scr /mnt/sd/
ichi@ubuntu-vm:~$ sync
ichi@ubuntu-vm:~$ sudo umount /dev/sdb1
(6) 初期起動
① 先ほど作成したSDHCカードを Beagleaboard-xm にセット
② Beagleboard-xm に DVI-D入力端子CRTとHDMI→DVI-D変換ケーブルでつなぎ、
USBキーボード、USBマウス、ネットワークケーブルを接続、
③ 電源をつなげば Beagleboard-xm が起動します。
④ 初期ユーザー:root 、初期パスワード: root です。なるべく早く変更してください
(7) beagleboard-xm での初期設定
① ネットワークを設定します。 /etc/rc.confの以下の行を変更します
HOSTNAME="beagle" (お好みの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 beagle beagle.homeip.net
/etc/resolv.conf に、以下の行を追加し自分のネームサーバーを登録します
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 (既存の環境のアップデート)
(8) GUI 化
ここからはARMでの参考文献が見当たらなかったので、とりあえず動く方法を探りました。おそらくは筆者の調査が不十分で Arch Linux の流儀に則っていない方法なので、どなたかご教示お願いします。
① xorg とビデオドライバー等をインストール、とりあえず $ startx できるようになります
# pacman -S xorg xorg-xinit xf86-video-omapfb xterm xorg-xclock
11.Ångströmで遊ぼう
Ångströmは、組込機器向けのLinuxディストリビューションで 初期添付SDの中にも入っていますが、ここでは ちゃんとインストールしなおしてみます。
(1) microSDHCのフォーマット
まずは、前8章(2)と同様にmicroSDHCをフォーマットします。 rootfsのファイルシステムは必ずext3にすること。
(2) bootパーティションの中身書込
第1パーティションに添付SDの中に入っていた
「MLO」「u-boot.bin」「uImage」を必ずこの順番で
フォーマット直後にcpする。この3つ以外のファイルは不要なので
書き込まないでください
(3) rootfsパーティションの中身取得
rootfsパーティションの中身は
Ångström 公式サイト の online builder
から取得できます。
リンク先にてセレクトボックスを適切に選択するとrootfsがダウンロードできます
- 筆者の選択例
- ① マシンタイプ「beagleboard」
- ② イメージネーム「ichmy」(識別できれば何でもOK)
- ③ 詳細オプション設定するか?「simple」(面倒なので)
- ④ GUI環境入れるか?「X11」 (お好みでconsole onlyも可)
- ⑤ Xデスクトップ環境はどれにするか?「Xfce 4.6」(軽いほうがいいかと)
- ⑥ 下のほうにプラスボタンがあって各種パッケージを追加できますがお好みで
選択し終わったら一番下の「build me」ボタンをクリック。
ビルドには数分掛かります。何も動きが無く固まった
ように見えますが、再読み込みは禁物です。我慢して待ってください。
完成したらrootfsのイメージがダウンロードできるリンクが出現するので
ダウンロードしてください
(4) rootfsパーティションの中身書込
ダウンロードできたらmicroSDHCに書き込みます。Ubuntu環境を立ち上げ、 適当な作業ディレクトリに
先ほどダウンロードしたイメージを転送し、以下コマンドにて書き込みます
ichi@ubuntu-vm:~$ sudo mount /dev/sdb2 /mnt/sd
ichi@ubuntu-vm:~$ sudo tar xvpjf ichmy-image-beagleboard.tar.bz2 -C /mnt/sd
ichi@ubuntu-vm:~$ sync
ichi@ubuntu-vm:~$ sudo umount /mnt/sd
筆者の例ではmicroSDHCは /dev/sdb、マウント先は/mnt/sd、イメージ名はichmy、にしています。
適宜読み替えてください。
(5) beagleboard-xm 起動
- ① 先ほど作成したmicroSDHCカードをbeagleboard-xmにセット
- ② 母艦とシリアルケーブルをつなぎ、端末エミュレータソフトを起動
- ③ 電源をつなげばBeagleboard-xMが起動します。
初期ユーザー名は「 root 」初期パスワードは無しです。 起動後、パスワード変更ください
(6) beagleboard-xm での初期設定
① 内蔵イーサネットの設定
お好みで /etc/network/interfaces を修正し固定IPに設定してもOKです。
② パッケージのアップデート
# opkg update
# opkg upgrade
③ timezoneの設定
# opkg install tzdata
# cd /etc
# mv localtime localtime.bak
# ln -s /usr/share/zoneinfo/Asia/Tokyo localtime
12.Fedora18 で遊ぼう
Beagleboard-xm 用 Fedora 18 は筆者の環境で boot 失敗。申し訳ありませんが様子見させてください
症状はここ と同じ症状です
13.openSUSE 12.3で遊ぼう
(0) はじめに
2013年 3月13日に openSUSE の新Ver 12.3 がリリースされました。
これを記念し、beagleboard-xmへのインストール記事を書こうと思います
ちなみに元ねたは公式Wikiです
(1) 母艦の準備
① openSUSE が走っている環境を用意してください
(筆者はVMware上で用意)
パッケージも最新のものにアップグレードしておいてください
② microSDHCカードアダプタを用意ください
筆者のものは /dev/sdb で認識されます。以後説明で必要に応じ読み替えてください
(2) 母艦での作業
① 中身が丸ごと消えてもいいmicroSDHCカードを用意し、アダプタに接続
次の手順で、すべてのパーティションが消されて一から作成されます。最初から消しておくことを推奨
② 母艦 SUSE 起動し、適当な作業ディレクトリに移動し、以下のコマンドを実行してください
(※なお、今回はCUIイメージの紹介のみ、GUI(XFCE)イメージは筆者の環境で起動に失敗)
(インストーラ取得)
$ wget http://ftp.jaist.ac.jp/pub/Linux/openSUSE/ports/armv7hl/distribution/12.3/images/openSUSE-12.3-ARM-JeOS-beagle.armv7l-1.12.1-Build21.1.raw.xz
(チェックサム確認)
$ sha256sum openSUSE-12.3-ARM-JeOS-beagle.armv7l-1.12.1-Build21.1.raw.xz
c35397102816499cf4ad3fbfedeb51db85e29e144971a3e26d71a4d7859fb1d4 openSUSE-12.3-ARM-JeOS-beagle.armv7l-1.12.1-Build21.1.raw.xz
(インストーラ起動→SDへの書込)
$ su
# xzcat openSUSE-12.3-ARM-JeOS-beagle.armv7l-1.12.1-Build21.1.raw.xz | dd bs=4M of=/dev/sdb; sync
(3) beagleboard-xm 起動
① 先ほど作成したmicroSDHCカードをbeagleboard-xmにセット
② 母艦とシリアルケーブルをつなぎ、端末エミュレータソフトを起動
③ 電源をつなげばBeagleboard-xMが起動します。
初期ユーザー名は「 root 」初期パスワードは「 linux 」です。
起動後、パスワード変更ください
14.Android Gingerbread で遊ぼう
Android については、先人たちの解説記事が充実しているので、本サイトに載せるまでもないのですが、
軽く紹介。 ちなみに 元ねたはこちら
(1) 母艦の準備
① Ubuntu 8.04以降のVerが走っている環境を用意してください (筆者はVMware上で用意)
② microSDHCカードアダプタを用意ください
(2) 母艦での作業
① 中身が丸ごと消えてもいいmicroSDHCカードを用意し、アダプタに接続
② 必要なファイルをTIのサイトから以下の手順でGetします。今回は手っ取り早いprebuiltでいきます。
③ 母艦Ubuntu 起動し、適当な作業ディレクトリに移動し、以下のコマンドを実行してください
(プレビルドされたイメージ取得)
$ wget http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/TI_Android_GingerBread_2_3_4_DevKit_2_1/exports/beagleboard-xm.tar.gz
(チェックサム確認)
$ md5sum beagleboard-xm.tar.gz
3361279efcb973d761a01b29d5b36a8e beagleboard-xm.tar.gz
(イメージ展開)
$ tar -xzvf beagleboard-xm.tar.gz
$ cd beagleboard-xm
(SDへの書込)
$ export LANG=C (英語環境じゃないとバグが出るので切り替えて置きます)
$ sudo ./mkmmc-android.sh /dev/sdb
(筆者の環境ではSDカードのデバイス名は /dev/sdb、必要に応じて読み替え下さい
③ beagleboard-xm Rev.C をお持ちの方は上記のイメージではUSBが動かないそうなので、
上海 Android 研究所 様を参照。って上記も全部向こうにも書いてあるので本サイトは要らんのですが、
(3) Beagleboard-xm 起動
① 先ほど作成したSDHCカードを Beagleaboard-xm にセット
② Beagleboard-xm に DVI-D入力端子CRTとHDMI→DVI-D変換ケーブルでつなぎ、
USBキーボード、USBマウスを接続、
③ 電源をつなげば Beagleboard-xm が起動します。
残念ながら、実用には難しいスピードです。特に初期起動は相当時間(5~10分)が掛かりますが、
生暖かく見守ってあげてください。。
15.参考にさせていただいたサイト
(1) 公式サイト beagleboard.org
公式サイトの左サイドメニューから公式Wiki、マニュアル、 基板設計図(ガーバーデータ)を取得
(2) rerofumi様 電子工作からプログラミングまで、開発ブログ 「コメを噛め」
(3) 突消ブログの中の人様ブログ 「突然消失するかもしれないブログ」
(4) mano様ブログ 「beagleboard日記」
(5) magoroku15様Ustream配信 プログラマのためのHW講座
beagleboard に関連した電子工作講座の動画を配信されています
(6) Googleグループ Beagle Board
ichmy本家サイト
OS伝説で遊ぼうのこーなー
-
OS伝説で遊ぼうのこーなー
- Win11を無料で遊ぶこーな
- Win7で遊ぼうのこーな
- WinXPで遊ぼうのこーな
- Win2Kで遊ぼうのこーな
- Win98で遊ぼうのこーな
- Win95で遊ぼうのこーな
- Win3.1で遊ぼうのこーな
- 日本語DOS/Vで遊ぼうのこーな
- Solarisで遊ぼうのこーな
- FreeBSDで遊ぼうのこーな
- NetBSDで遊ぼうのこーな
- Linuxで遊ぼうのこーな
- Androidで遊ぼうのこーな
- 仮想化ソフトを比較するこーな
- VirtualBOXで遊ぼうのこーな
- VMwarePlayerで遊ぼうのこな
- Hyper-Vで遊ぼうのこーな
- QEMUで遊ぼうのこーな
- Parallelsで遊ぼうのこーな
- VMware fusionで遊ぼうのこーな
- UTMで遊ぼうのこーな
- Cygwinで遊ぼうのこーな
- VirtualPCで遊ぼうのこな(跡地)
-- OS伝説の紹介
-- 仮想化ソフト紹介