SSブログ

BeagleBoard-xM上のUbuntu 12.04を設定してみる [beagleboard]

前回BeagleBoard-xMにUbuntu 12.04をインストールしたが,インストールしただけで終わっていたので,ちょいと設定してみる.

まず,そのままだとシリアルコンソールからログインができないので,まずログインできるようにする.基本はネットワーク越しにアクセスするんだけど,何らかのトラブル時はやっぱり実機直結のシリアルは便利なので...

手順は以下の通り.
まず,/etc/init/ttyO2.confファイルを作成する.
お手軽には,/etc/init/下にtty1.confがあると思うので,それをコピーしてやればいい.
sudo cp tty1.conf ttyO2.conf

パスワードを聞かれるので入力する.
で,以下のようになるように編集する.
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty 115200 ttyO2


これでシリアルからもログインできるようになる.

あと,表示解像度が1280x720になっていて,うちのLCDモニタだとアスペクト比がおかしくて気持ち悪いので変更する.うちのはSXGAなので,1280x1024にしてやる.
それにはboot.scrを変更する必要があるのだが,このファイルは直接エディタで編集できるようになっていないのでちょっと面倒だ.
手順は以下の通り.
まず,/bootに移動して,
cd /boot

boot.scriptファイルを編集してやる.このファイルはエディタで編集してやればOK.
sudo vi boot.script

で,「dvimode=1280x720MR-16@60」となっているところを「dvimode=1280x1024MR-16@60」に書き換えてやる.
そしたら,boot.scriptからboot.scrを以下のコマンドで作成する.長いが1行で入力してやる.
sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "beagleboard-xm" -d ./boot.script ./boot.scr

これでboot.scrが/boot/下にできているはずだ.

そしたら,boot.scrをSDカードの第一パーティションにコピーする必要があるのだが,通常はマウントされていないはずなので,まずマウントしてやる.
/boot/ubootにマウントすることにする.
ubootディレクトリは最初はないと思うので作成する.
sudo mkdir uboot

で,マウントする.
sudo mount /dev/mmcblk0p1 /boot/uboot

でさっき作ったboot.scrをコピー.
sudo cp ./boot.scr /boot/uboot/

あとは再起動すれば設定した解像度で起動する.

次にSSHでログインできるようにする.
まず,OpenSSHをインストールする.
sudo apt-get install openssh-server

次にFirewallを設定.とりあえずポートは22と,あとでVNCを使うので5900を許可して,それ以外は拒否しておく.
sudo ufw default deny
sudo ufw allow 22/tcp
sudo ufw allow 5900/tcp
sudo ufw enable

これでSSHからログインできるようになる.

最後にVNC(リモートデスクトップ).
Dashメニューからvinoで起動する.
そうすると設定画面が出てくるので,
Sharingの
Allow other users to view your desktopにチェック.
あと,Securityの設定はお好みで.
You must confirm each access to this machineのチェックをはずとVNCでつなぐときに承認画面が出なくなる.
Require the user to enter this passwordは,チェックしてパスワード設定しておけば安心かも.

で,Macからの接続ならFinderメニューの「移動」,「サーバへ接続...」で,サーバアドレスに
vnc://マシン名 or IPアドレス

を入れてやればOKだ.

ただし,vinoはログイン状態じゃないと使えないので注意が必要だ.誰もログインしていないと接続できない.

ひとまず設定としてはこれでおしまい.
nice!(0)  トラックバック(0) 
共通テーマ:日記・雑感

BeagleBoard-xMにUbuntu 12.04をインストールしてみる [beagleboard]

BeagleBoard-xMを活用してやりたくて,Ubuntu 12.04を入れてみる.

eLinux.orgのBeagleBoardUbuntuを参考に,ここに書かれている,Method 1のCanonical/Ubuntu Imagesのインストールをやってみた.

Mac上でのインストール方法も書かれているので,全部Mac上でやってみる.

で,まずはここに行って,インストールイメージをダウンロードする.
今回は,「Texas Instruments OMAP3 (Hard-Float) preinstalled desktop image」をダウンロードしてみた.
Safariでダウンロードすると,ダウンロード完了後に展開されて,展開されたファイル名は,「precise-preinstalled-desktop-armhf+omap.raw」になるようだ.こいつが2GBをちょっと超えたぐらいになる.
あーだからSDカードは4GB以上じゃないとダメです.

で,インストール方法は,ここに詳しく書かれてるけど,Mac上でのインストールは,ざっくり以下の通りになる.

まず,SDカードのアンマウントをするために以下をターミナルに入力してやる.
sudo diskutil unmountDisk disk1


で,次にSDカードへの書き込み.もしダウンロードしたファイルが展開されてなかったら,あらかじめ展開してやって,if=のところにはその展開したファイル名を書いてやる.
sudo dd bs=4m if=precise-preinstalled-desktop-armhf+omap.raw of=/dev/disk1


そうすると,SDカードへのコピーが始まる.
これがかなり時間がかかる.まぁ2GBのコピーなので仕方がないのだが,それにしたって時間がかかる.
どれぐらいかかるかっていうと,ざっと50分ぐらいかかる.さすがに何かおかしいと思うのだが.Macのddコマンドがいまいちなのかなぁ?
しかも,コマンド打っても,しばらくは特に何も表示されないので不安になるけどまぁ気長に待つ.
ちなみにCTRL+Tってやれば途中経過(どこまでコピーされたか)が表示されるようだ.

追記:コマンドのところでdisk1となってるのをrdisk1にしてやると,ぐっと時間が短くなる.こっちのほうがおすすめ.

で,コピーが終わったら,SDカードを取り出して,BeagleBoard-xMにセットして電源ONする.
このとき,BeagleBoard-xMには,LCDモニタ,Ethernetケーブル,USBのキーボードとマウス,それにシリアルケーブルもつないでおく.まぁシリアルケーブルはつないでなくてもいいんだけど,あると安心なので.あと,初期状態だとシリアルからのログインはできないので,ブートシーケンスが確認できるだけなんだけど.

で,そうこうしてるとUbuntuが起動します.初回起動時はそれなりに時間がかかりますが,起動すると,システム設定画面になります.あとは画面指示に従って進めていけばインストール作業は完了です.

とりあえず今日はここまで.
タグ:ubuntu dd
nice!(0)  トラックバック(0) 
共通テーマ:日記・雑感

Beagleboard-xMにICSをインストールしてみる [beagleboard]

もうずいぶんBeagleBoard-xMを触ってなかったのだが,ふと気になって調べてみると,ICSのPre-built Imagesが出てるので,インストールしてみた.

インストール方法の詳細はここに詳しく書かれてるけど,要は,
・Pre-built Imagesをとってきて,
・SDカードに書き込んで,
・BeagleBoardにつっこんで電源ON
でOKだ.
楽ちん.
なお,上記の作業はMacBook Air上のPrallelsにインストールしたUbuntu上でやった.

もうちょっと詳しく書くと・・・,
まずはPre-built Imagesをダウンロードしてきて適当なディレクトリに保存.
で,ターミナル上で,ダウンロードディレクトリに移動して,
tar xzvf beagleboardXM.tar.gz
とすると,展開される.
cd beagleboard
で,展開されたディレクトリに移動して,
日本語環境だとSDカードの書き込みがうまくいかないらしいので,
export LANG=C
としてから,
sudo ./mkmmc-android.sh /dev/sdb
とやると,SDに書き込まれる./dev/sdbは環境によって変わるので注意.
パスワードを入力してやればあとは自動的にSDカードに必要なファイルがコピーされる.
あとは,これをBeagleBoard-xMに入れて電源ONすれば,ICSが起動する.

で,動かしてみた印象だけど,ICSは初めてだったけど,だいぶ雰囲気が違うなぁというのが第一印象.どうやらタブレットとして認識されてるみたいなのでそれもあるのかもしれない.
あと,設定を変えて,日本語表示にしたらブラウザの表示とかは日本語になったけど,日本語入力ができない.メニュー上は日本語入力は選択できるんだけど,入力する際にソフトウェアキーボードが表示されないのでどうにも入力できない.残念.他にやり方があるのかな?

ま,今回はとりあえず動くかどうかやってみたかっただけなので,深追いはせず,終了.
しかし,試すだけだったらなんともお手軽だった.ダウンロードしてちょっとコマンド叩いただけだもんなぁ.ぜひお試しあれ.
タグ:ICS
nice!(0)  トラックバック(0) 
共通テーマ:日記・雑感

さて,何を作ろうか?と悩んでみる [beagleboard]

ひとまず,「基礎から学ぶ 組み込みAndroid」は読み終わった.
まぁ,後半は読んだというよりは,目を通したという感じだけど・・・.

正直,環境構築して,BeagleBoard-xMでAndroidが動いて,あとUbuntuが動くのも確認して,そこまでやったあとにメインマシン変更して,もう一回環境構築してってやったら,なんかもうちょっと満足しちゃった.

マイコン基板でLED点滅させたらそこで満足しちゃったってのと近い・・・.

でもせっかくだからここで終わりっていうのも何だかもったいないので,いろいろ考えている最中なんだけど,なかなか悩む.

BeagleBoard-xMについてはLCD+タッチパネルを接続してやるとか,無線LANに対応させるとか,ハードウェアまわりで何かやろうかとも考えてるんだけど,それだったら安いAndroidタブレット買った方がいいような気もするんだよなぁ.もちろん自分でLCDとタッチパネルをつなぐとかは電子工作としての面白さはあると思うんだけどね.
あとは,Androidアプリについてもうちょっと勉強してみるか・・・.結局,Hello Worldをちょっといじっただけしかやってないし.

で,悩んだあげく,ひとまずBeagleBoard-xMのハードウェアのほうは置いておいて,Androidアプリのほうをやってみることにした.
で,ネット上に情報はいっぱいあるので,それを見つつ,やっぱり入門書もあるといいので,

スマートにプログラミング Android入門編

スマートにプログラミング Android入門編

  • 作者: 堀切 堤
  • 出版社/メーカー: リックテレコム
  • 発売日: 2011/05
  • メディア: 単行本


を買った.これを読みながら試してみようと思う.

BeagleBoard-xMはアプリの実機確認なんかに使うことにしよう.
nice!(0)  トラックバック(0) 

Hello Worldアプリケーションを作ってみる [beagleboard]

まずは定番のHello Worldアプリケーションを作ってみる.

Eclipseのメニューから,File -> New -> Project...とたどる.

AndroidフォルダのAndroid Projectを選択.Next >を押す.

Project Nameを適当につける.ここではTestとした.
Create new project in workspaceを選択しておく.Projectの保存場所は適切に選択.defaultでよければ,Use default locationにチェック.Next >を押す.

Build Targetの選択.ここではAndroid 2.2を選択.Next >を押す.

Application NameはProject Nameと同じにした.
Package Nameについては後述.
Create Activityにはチェックを入れておく.名前はTestActivityとしておく.
Minimam SDKは8のままとした.でFinish >を押す.

メニューの,Project -> Build Automaticallyにチェックが入っていれば,ビルドされているはず.

そうしたら,あらかじめエミュレータを起動させておいて,メニューの,Run -> Runすると,エミュレータ上でHello Worldアプリが実行される.まぁ,単に「Hello World, TestActivity!」と表示されるだけなのだが,なんにもコードを書いてないのにここまで自動的に作成される.

実機がつながっていれば,メニューの,Run -> Runしたときにターゲットデバイスを選択する画面が出るので,実機側を選択してやれば実機でエミュレータ同様にHello Worldアプリが実行される.

なお,実際にアプリを作って公開するには電子署名をする必要がある.
とりあえず,いまはAndroid Development Tools Plugin for the Eclipse IDEがデバッグ用の署名をしてくれてるので何もしなくても自動でやってくれている.

ちゃんと署名するには以下のようにする.
Package Explorerから,該当プロジェクトを右クリックして,Android Tools -> Export Signed Appliation Package...を選択.
ExportするProject名が表示されているので,正しければ,Next >を押す.

最初はキーストア(鍵と証明書を保管するためのデータベースファイル)を作成する必要がある.
Create new keystoreを選択し,LocationとPassword,Confirmを入力してNext >を押す.

次に鍵を作成する.
必要事項を入力していく.Validityは25にした.これが推奨らしい.他も入力して,Next >を押す.

出力するファイルの場所を入力して,Finishを押すと終了.

なお,このあたりは詳しくは公式ガイドに書かれてるので,ちゃんと読んだ方がよい.

正しく署名されたかどうかは,以下のコマンドで確認できる.
jarsigner -verify -verbose -certs アプリ名.apk

CN=Android Debugとなっていたらデバッグ用の署名になっているので失敗.CNが鍵作成時の名前になっていれば成功だ.

ま,まだまだ当面はアプリのリリースはできそうもないのでデバッグ用でいいのだが・・・.


Package Nameについて
パッケージ名は,アプリの識別に使われたりして開発者固有である必要がある.
で,よくあるのはドメインを逆から(トップレベルドメインから)並べるようだが,残念ながらドメインは取得してないので無い.
で,こういうときに便利なのがあって,「財団法人インターネット協会」に「パッケージ名登録/利用サービス」というのがあるのでそれを利用させてもらう.
ここでは無料で,jp.gr.java_conf.fooのようなパッケージ名が取得できる.


nice!(0)  トラックバック(0) 

BeagleBoard-xMにadbで接続してみる [beagleboard]

まずは,
/etc/udev/rules.d/に51-android.rulesファイルを作成する.
sudo vi /etc/udev/rules.d/51-android.rules

で,以下の内容を書き込む.
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"

で,USBの再起動.
sudo /etc/init.d/udev restart

これで
adb devices

としてデバイス名が出てくればOKだ.

最初,adb devicesしても
?????????? no permission
と表示されて接続できなかったが,USBケーブルの抜き差しをやったら接続できるようになった.

これでEclipseからも接続できるようになる.
タグ:Eclipse ADB
nice!(0)  トラックバック(0) 

Android 2.3.4を起動してみる [beagleboard]

以前は,Android 2.2(FroYo)を起動させてみたが,今回は2.3.4(GingerBread)を試してみる.
作業内容は,2.2のときと同じだけど,「TI Android GingerBread 2.3.4 DevKit 2.1」ではBeagleBoard-xMのRev Cに対応している(2.2は対応していなかった)ので,2.2のときにやった,u-boot.binとuImageの置き換え作業は必要ない.
詳しくは,TI-Android-GingerBread-2.3.4-DevKit-2.1 ReleaseNotesを読むべし.

PreBuilt Imageは,これ

適当なディレクトリに展開.
tar xzvf beagleboard-xm.tar.gz

で,
cd beagleboard-xm/

あとは,
LANG=C
sudo ./mkmmc-android.sh /dev/sdb

/dev/sdbはSDカードのデバイス名.

これで完了.
起動時のドロイド君が画面左右に分身の術(見たら分かると思う)だけど,まぁ気にしないでおく.

あと,Ethernetの設定は,2.2のときは設定のなかにEthernet configurationがあったんだけど,2.3.4には含まれていないようだ.
2.3.4でEthernetを有効にするには,シリアルコンソールから,
netcfg usb0 dhcp

ってしてから
netcfg

で,確認.ここでusb0にIPアドレスが表示されていればOK(DHCPの場合).
あとは,
getprop net.usb0.dns1

でDNSのアドレスを調べて,
setprop net.dns1 調べたDNSのIPアドレス

でOK.2.2でも,Ethernet configurationを使わず同様に設定すればOKだ.

詳しくは,TI-Android-GingerBread-2.3.4-DevKit-2.1 UserGuideのBrowser Configurationに書かれてる.


で,実はこれを試すのに最初に購入したmicroSDカードじゃなくて,ハギワラシスコムのmicroSDカードで試してて,で,なんか起動時間が2.2と全然違うから,あれ?って思ってmicroSDカードの相性について調べてみたのでした.
最初は2.3.4って早いんだなーと思ったんですよね.でも,そんなに変わるか?と思って調べ始めたらmicroSDカードの相性だったわけで.

しかし,microSDカードなんて普通何種類も試さないよねぇ.相性の悪いのにあたって,全く起動しないとかなら,あーこのmicroSDカードはダメだなって気がつくけど,動くけど遅いって状況じゃ気がつかんよなぁ.だって,そもそも相性のいいのと動作スピード比較しないと遅いか普通なのか分からんしねぇ.
というわけで,もし,動作が遅いと感じている人がいれば,microSDカードを一度疑ってみてもいいかもしれません.
nice!(0)  トラックバック(0) 

PanasonicのmicroSDカードが届いたので試してみる [beagleboard]

懲りずにmicroSDカードの相性問題について試してみる.
今回試すのは,先日購入したPanasonicのmicroSDカードだ.
モノはこれ.

Panasonic microSDHCカード 4GB RP-SM04GFJ1K

Panasonic microSDHCカード 4GB RP-SM04GFJ1K

  • 出版社/メーカー: パナソニック
  • メディア: Personal Computers


で,結果は,OKでした.
ハギワラシスコムのと同じぐらいの動作スピードが得られました.
これなら安心して使えます.

あー,しかし,手元にはハギワラシスコムの2Gに,Trancendの4GとSonyの4G,あと今回のPanasonicの4G.こんなにあっても他に使い道ないのになぁ.
タグ:Panasonic microsd
nice!(0)  トラックバック(0) 

Ubuntu 11.10をインストールしてみる [beagleboard]

せっかく買った(といっても実際はポイント使ったのでタダだけど)SonyのmicroSDカードがもったいないので,Ubuntu 11.10をインストールしてみる.

最初は,Ubuntu wikiが簡単に試せそうだったので,Ubuntu 11.04をインストールしてみたんだけど,起動したらLCDモニタの画が赤色で正常起動しなかった.

で,今度はeLinux.orgのBeagleBoardUbuntuを参考に試してみた.詳細な手順はBeagleBoardUbuntuに書かれてるけど,一応ここにも手順を書いておく.

まずは,プレビルドイメージをダウンロードして展開する.
wget http://rcn-ee.net/deb/rootfs/oneiric/ubuntu-11.10-r2-minimal-armel.tar.xz
tar xJf ubuntu-11.10-r2-minimal-armel.tar.xz

このとき,xz形式の圧縮ファイルを扱えなくてエラーが出たので,xz-utilをパッケージ・マネージャからインストールした.

で,展開したディレクトリに移動して,
cd ubuntu-11.10-r2-minimal-armel

まずはmicroSDカードのデバイス名を調べる.
sudo ./setup_sdcard.sh --probe-mmc

うちは/dev/sdbだった.

で,microSDカードへの書き込み.BeagleBoard-xMの場合は以下の通り.
sudo ./setup_sdcard.sh --mmc /dev/sdb --uboot beagle_xm

このとき,もし必要なパッケージがインストールされていないと怒られるのでインストールしてから再度実行.
sudo apt-get install uboot-mkimage wget pv dosfstools btrfs-tools parted

うちは,btrfs-tools pv uboot-mkimageだけ新規インストールした.あとはインストール済みだった.

microSDカードへの書き込みが完了したら,BeagleBoard-xMにセットして電源ONする,
そうするとCUIベースでUbuntuが起動する.
GUIにするためには,まず,
ユーザ名:ubuntu,初期パスワード:temppwd
でログインして,ネットワークがつながっているか確認.つながってなければIPアドレス取得する.
sudo ifconfig -a
sudo dhclient eth0

そしたらパッケージリストのアップデートと,必要パッケージのインストールをする.
sudo apt-get update
sudo apt-get install gdm xubuntu-desktop

このとき,LCDモニタとキーボードが接続されていれば,そっちで作業してもいいんだけど,うちの環境だけかもしれないけどしばらくするとLCDモニタが「入力なし」になって消えてしまうので,シリアルコンソールから実行した.

で,こいつがすごく時間がかかる.何分とかじゃなく何時間って単位で.しかも途中で設定(選択)の処理があるのでほったらかしにはできない.ま,1回だけだけど.それ以降は放置でもOK.

このあと再起動すれば,GUIで起動するはず.

あと,うちのLCDモニタはSXGAなので解像度を変更してやる.
/boot/uboot/uEnv.txtを編集してやればよい.
dvimode=1280x720MR-16@60

という記述があるので,
#dvimode=1280x720MR-16@60
dvimode=1280x1024MR-16@60

としてやる.で再起動.これで反映されるはず.

でもね,動作は遅いです・・・.
んーでもSonyのmicroSDカードがいけないのかなぁ.判断つかないなぁ.

相性のいいmicroSDカードが見つかったら試してみよう.


追記
相性のよかったPanasonic microSDHCカード 4GB RP-SM04GFJ1Kで同様に試してみたら,Panasonicのほうが早い.
電源投入からログイン画面表示までの時間を比べると,SonyのほうがPanasonicの2倍ぐらい時間がかかる.
ひょっとして相性問題はmicroSDカードとAndroidの相性なのではないかと期待したんだけど,純粋にBeagleBoard-xMとの相性のようで,OSがUbuntuになってもやっぱり相性の悪いmicroSDは相性の悪いままなのでした.残念.
タグ:ubuntu SONY microsd
nice!(0)  トラックバック(0) 

SonyのmicroSDカードが届いたので試してみる [beagleboard]

microSDカードの相性問題で,先日購入したSonyのmicroSDカード「SR-4A4」が届いたので,動作テストしてみる.
で,最初に結論を書いちゃうと,こいつもダメでした.
症状は,Trancendのより悪くて,起動には時間がかかるし,なんか操作してもやっぱり時間がかかる.
んー,このmicroSDカードは大丈夫なはずだったんだけどなぁ.

このままじゃ悔しいので,今度は,Panasonicに手を出してみる.
「microSDHCカード 4GB RP-SM04GFJ1K」にしてみた.

正直,microSDカードばっかりたくさんあっても仕方ないんだけど,ここまでくるとなんか意地で・・・.

届いたらまた試してみよう.
nice!(0)  トラックバック(0) 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。