ウィモバの日々

Windowsをモバイルする…それがウィモバ(仮)。手のひら端末が好きです

Armadilloのクロス開発環境ATDE5をチューニングする忘備録

ハロー ハロー ぼくから世界へ 応答願います ぼくらのコードは正しくつながっていますか(挨拶


アルマジロは哺乳綱異節上目被甲目に属する動物の総称・・・ですが
Armadilloはアットマークテクノ社が発売している、いわゆるARMの組み込みLinux的なあれをあれするやつのこと。
http://armadillo.atmark-techno.com/about-armadillo
最近だと同じような製品で海外のRaspberry Piとかが安価で手に入るけど、それに比べたらArmadilloは高価だけど
工場とか業務用なんかで使えるように耐久性に優れていたり品質も高かったりする、安心と信頼の国産クオリティー。
そんなArmadillo用のカーネルとかドライバとかアプリを開発するために、クロスコンパイル環境「ATDE」が提供されている。

http://armadillo.atmark-techno.com/downloads

VMWarePlayerと上記のATDE(最近だとATDE5がメイン)を使用することで開発できるんだけど
このATDE5はDebianベースのLinux環境なので、ところどころ不便なところがあったりなかったり。
なので少しでも(俺基準で)便利に使えるように、カスタマイズした忘備録。

最近のLinuxはコマンドを打たなくても、GUI画面でファイル移動とかコピーとか実行とか出来るようになっている。
ATDE5でもNautilusエクスプローラ)でWindowsライクに使えるんだけど、デフォルトのままだと
圧縮、解凍はGUIから行えないのでシェル(端末)から下記のようなtarコマンドを打たなければならない。
http://uguisu.skr.jp/Windows/tar.html
面倒なので、file-rollerを導入してエクスプローラの右クリックメニューから圧縮・展開(解凍)を実行できるようにする。

atmark@atde5:~$ sudo apt-get install file-roller -y
シェルを起動したら上記コマンドでfile-rollerをインストール後に再起動しよう。
エクスプローラでファイルを選択し、右クリックメニューを開くと下の方に「圧縮」か「展開」が追加されているぞい!

インストール時とかに発生した不要なパッケージは削除しておこう。
atmark@atde5:~$ sudo apt-get autoremove -y

  • 2:VM起動時に共有フォルダを自動マウントする

ATDE5にはVMware Toolsが入っているので、ドラッグ&ドロップ(以下D&D)によって
ホストマシンとVMマシン間でファイル移動・コピーが出来るようになっている。
しかし、D&Dではたまにファイルコピー失敗が起こったり、手動D&Dだとコピー忘れとか色々起こりやすいので
シェルとかで自動的にホストPCのファイルを扱えるように、共有フォルダを使うことも多い。
http://manual.atmark-techno.com/armadillo-guide/armadillo-guide-1_ja-2.0.0/ch06.html#sec_configuration_shared_folder_win
一応はArmadillo公式サイトの手順通りにVMWareの設定で共有フォルダを有効化して
atmark@atde5:~$ sudo mkdir -p /media/hgfs
atmark@atde5:~$ sudo mount -t vmhgfs .host:/share /media/hgfs
コマンドを実行すれば、共有フォルダへのマウントはできる。
しかし、この手法だとATDE5を再起動するたびにマウントが解除されるので、毎回マウントするのがめんどくさい。
なので、ATDEのシステム起動時に毎回マウントが実行されるようシェルに登録する。
下記はその一例として、 /etc/rc.local に登録してみる。
rc.localをgeditで直接開くと権限の問題で保存できないので
atmark@atde5:~$ sudo gedit /etc/rc.local
コマンドでsu権限で rc.local を開いて、exitの前に下記の2行を追加→保存する。

mkdir -p /media/hgfs
mount -t vmhgfs .host:/share /media/hgfs
その後ATDEを再起動すると、共有フォルダが毎回自動でマウントされている。やったぜ

  • 3:GNOMEの上部パネルにショートカットアイテムを追加&削除

ATDE5ではデスクトップにアイテムは置けないけど、その代わりにというのか
上部にあるGNOMEのパネルにアプリやファイル・フォルダをD&Dすることでショートカットを配置出来る。

右クリックからアイコンも変更出来るので、よく使うフォルダや端末を登録しておけば快適になる。
でも・・・困ったことに作成したショートカットが削除できないよぉ。゜゜(´□`。)°゜。ワーン!!
・・・なんて困ってたら奥さん!あったよ削除方法が!でかした!
こちらのサイト様 http://linux.ikoinoba.net/index.php?UID=1319469326 に記載があるように、
Altキーを押下しながら右クリックで既存ショートカットの削除メニューが!

これで自由にショートカットを追加削除出来るぞい!

  • 4:VM起動時に自動ログインする(非推奨)

VMを起動毎に毎回ログインパスワードを入れるのが手間なら、自動ログインするようにしよう。
この手法は、本来はセキュリティ的なあれであまり推奨はされないけど、どうせATDEのデフォルトのパスワードは
ユーザ名と一緒だし、公開されているパスワードはあってもないようなもんだしね(責任転嫁
する場合は、[システム設定]→[ユーザアカウント]→[ロック解除]→パスワード入力して
[自動ログイン]をオンにする。

アットマークテクノ公式の手順にもあるんだけど、Armadilloは標準でEthernet機能を搭載している。
http://manual.atmark-techno.com/armadillo-840/armadillo-840_product_manual_ja-1.3.0/ch14.html#sct.qt.helloworld_on_armadillo
1.上記のようにArmadillo実機でEthernetを利用出来るように設定しておく。
2.固定IPが必要な場合は /etc/network/interfaces にてネットワーク設定を行う。
3.ATDE5上のQtCreatorで対象実機のIPアドレスを設定する。
4.Qtのプロジェクトにターゲットへのデプロイを追加したり環境変数を設定する。
だいたい上の手順でアプリをATDE上からArmadilloにデプロイ&リモート実行出来る。
アプリを書き換えるために毎回SDカードを抜き差ししたり、ユーザランドを書き換える手間が省けて便利。

これはATDEだけでなく、VMWare全般のテクニックなんだけども
VM仮想マシンを起動していると、仮想マシンと同じフォルダにメモリサイズに指定した大きさのファイルが出来ることがある。
これはいわゆる「仮想メモリ」としてメモリが少ないPC向けに、メモリを外部に置いて使用するための機能なんだけど
最近のメモリが豊満なパソコンでは、むしろ低速なHDDにアクセスするほうが遅くて無駄無駄無駄ァ!
という感じなので、HDDの仮想メモリでなく実メモリを使用するように変更する。
仮想マシンのあるフォルダを開き、*.vmxファイルをテキストエディタで開いて
mainMem.useNamedFile= "FALSE"
の項目を追加することで低速なHDDアクセスが減り、快適に動作するようになる。
また、ビルド時にメモリを食うので、[マシン設定]でメモリの指定サイズが512MBとなっている部分を
1GB以上に設定してみると体感出来るかもしれない。


VMの参考サイト様。他のチューニング項目もあるけど、弄りすぎると危ないので他の項目は自己責任で。
http://freesoft.tvbok.com/freesoft/virtual/vmware_tuning.html
http://old.ikoinoba.net/wiki/?VMware
http://www.drk7.jp/MT/archives/001215.html