Armadillo-400シリーズの標準開発環境をATDE3といいます。ATDE3はDebian GNU/Linux 5.0(コードネーム "lenny")をベースに作られています。
この章では、ATDE3の設定方法について確認したあと、ATDE3の運用方法についていくつか説明をおこないます。インストール方法については、第1部の「開発環境の構築」を参照してください。また、ATDE3と同じ環境を別のLinux PCに構築する方法についても説明します。
PCに新しく接続されたハードウェアをATDE3から使用するためには、VMware Playerで設定を行う必要があります。この章では例として、USBメモリをPCに接続した場合の使用方法について説明します。
この章では、WindowsでATDE3を使用している場合のUSBメモリの使用方法について説明します。
まず、USBメモリを作業用PCに接続してください。
USBメモリが作業用PCで認識されたら、VMware Playerの「仮想マシン」-「取り外し可能デバイス」-「デバイス名[]」-「接続(ホストから切断)」メニューを選択してください[]。
しばらくしてATDE3がUSBメモリを認識すると以下のようにデスクトップにUSBメモリのアイコンが作成され、自動的にNautilus(ファイルマネージャ[])が起動します。
以上で、ATDE3からUSBメモリが使用できるようになりました。USBメモリは/media/diskディレクトリにマウントされます。また、USBメモリのアイコンをダブルクリックすることで、ファイルマネージャが起動し、USBメモリ内のファイルを操作することができます。
| USB メモリ接続時の注意 |
---|
VMware PlayerにUSBメモリを接続している間は、作業用PCでUSBメモリを使用することができません。作業用PCでUSBメモリを使用する場合は、一度VMware PlayerからUSBメモリを切断してください。 VMware PlayerからUSBメモリを切断するにはVMware Playerの「仮想マシン」-「取り外し可能デバイス」-「デバイス名」-「切断(ホストに接続)」メニューを選択してください。 |
この章では、LinuxでATDE3を使用している場合のUSBメモリの使用方法について説明します。
まず、USBメモリを作業用PCに接続してください。
USBメモリが作業用PCで認識されたら、VMware Playerの「VM」-「RemovableDevices」-「デバイス名[]」-「Connect」メニューを選択してください[]。
しばらくしてATDE3がUSBメモリを認識すると以下のようにデスクトップにUSBメモリのアイコンが作成され、自動的にNautilus(ファイルマネージャ[])が起動します。
以上で、ATDE3からUSBメモリが使用できるようになりました。USBメモリは/media/diskディレクトリにマウントされます。また、USBメモリのアイコンをダブルクリックすることで、ファイルマネージャが起動し、USBメモリ内のファイルを操作することができます。
| USB メモリ接続時の注意 |
---|
VMware PlayerにUSBメモリを接続している間は、作業用PCでUSBメモリを使用することができません。作業用PCでUSBメモリを使用する場合は、一度VMware PlayerからUSBメモリを切断してください。 VMware PlayerからUSBメモリを切断するにはVMware Playerの「VM」-「Removable Devices」-「デバイス名」-「Disconnect」メニューを選択してください。 |
Debian GNU/Linuxではソフトウェアの管理はDebian パッケージと呼ばれるパッケージ単位で行われます。
この章では、Debianパッケージを検索し、それをATDE3へインストールする方法ついて説明します。
まず、インストールしたいファイルが入っているパッケージを見つける必要があります。
パッケージを見つける一般的なものには、以下の方法があります。
- Debianのパッケージページ[]から検索する。
- apt-cache searchコマンドを使用しパッケージを検索する。
- すでにインストールされているファイルからパッケージ名を検索する。
本章ではこれらの方法を用いたパッケージの検索について説明します。
2.2.1.1. Debianのパッケージページを使用したパッケージの検索
debian.org(Debian GNU/Linuxの公式サイト)のパッケージページでDebianパッケージの検索をすることができます。
Debianのパッケージページでのパッケージの検索方法としては以下の方法があります。
- パッケージ名
- パッケージ説明文
- ソースパッケージ名
- パッケージに含まれるファイルのパス
それぞれの検索方法でパッケージを選択し、ダウンロードすることができます。
| Debian GNU/Linuxのバージョンとアーキテクチャ |
---|
Debian GNU/Linuxには安定版(stable)、テスト版(testing)、不安定版(unstable)、旧安定版(oldstable)というリリースが存在します。それぞれ用途・更新頻度・サポート体制が違います。 ATDE3では、2010年9月現在の安定版(stable)であるDebian GNU/Linux 5.0(コードネーム "lenny")をベースに開発環境を構築しています。 また、Debianでは各種アーキテクチャ用のパッケージが提供されています。 Intel x86系CPU用のアーキテクチャ名はi386です。ATDE3では、このアーキテクチャを使用します。 ARM CPU用には、armとarmelの二つのアーキテクチャがあります。それぞれABIが異なります。armがOABI用、armelがEABI用のアーキテクチャです。Armadillo-400シリーズはEABIですので、armelアーキテクチャ用のパッケージを使用します。 |
2.2.1.2. apt-cache searchコマンドを使用したパッケージの検索
apt-cache searchコマンドでパッケージの検索ができます。パッケージ名やパッケージの説明に対して検索します。パッケージ名やパッケージの説明に対して検索できます。
例えば「coreutils」というlsコマンドやcpコマンドなどの基本的なコマンドが含まれるパッケージを検索する場合は以下のコマンドを実行します。
一番左に表示されているものが、パッケージ名です。
apt-cacheコマンドには他にもいろいろな機能が備わっています。詳しくはman apt-cacheを参照してください。
2.2.1.3. すでにインストールされているファイルからパッケージを調べる
ATDE3にはインストールされていないソフトウェアが、Debian GNU/Linux 5.0などがインストールされている作業用PCには入っている場合があります。この章では、ファイル名やコマンド名は分かるが、パッケージ名が分からないときに便利なコマンドを紹介します。
インストールされているファイル名や、コマンド名からパッケージを調べるにはdpkg -Sコマンドを使用します。ここでは例としてlsコマンドがどのパッケージに含まれているかを調べます。
whichコマンドを使ってlsコマンドのパスを調べた結果を、dpkg -Sコマンドの引数として指定しています。dpkg -Sコマンドはファイルのパスで検索してくれます。ファイル名ではなく、パスを使用したほうが検索結果が少なく便利です。
dpkg -Sコマンドの結果から、lsコマンドはcoreutilsパッケージに含まれていることが分かります。
2.2.2. apt-getコマンドを使用してのパッケージのインストール
apt-get installコマンドを使用してのパッケージのインストール方法について説明します。
apt-get installコマンドには、引数としてパッケージ名を指定します。
例としてFTPクライアントのlftpパッケージをインストールするコマンドを実行します[]。
その他、apt-getコマンドにはいろいろな機能が備わっています。詳しくはman apt-getを参照してください。
Atmark Distに含まれないアプリケーションやライブラリをビルドする際に、付属DVDやダウンロードサイトには用意されていないライブラリパッケージが必要になることがあります。ここでは、クロス開発用ライブラリパッケージの作成方法およびそのインストール方法を紹介します。
まず、作成したいクロス開発用パッケージの元となるライブラリパッケージを取得します。取得するパッケージは、アーキテクチャをターゲットに、Debianディストリビューションのバージョンを開発環境に合わせる必要があります。Armadillo-400シリーズでは、アーキテクチャはarmel、Debianディストリビューションのバージョンは lenny (2010年9月現在の安定版)になります。
例えば、libjpeg62の場合、ダウンロードするファイルは「libjpeg62_[versio
n]
_armel.deb」になります。
Debianパッケージは、Debianのパッケージページから検索して取得することができます。
取得したライブラリパッケージをクロス開発用に変換するには、dpkg-crossコマンドを使用します。
[ATDE ~]$
dpkg-cross --build --arch armel libjpeg62_[version]
_armel.deb
[ATDE ~]$
ls
libjpeg62-armel-cross_[version]
_all.deb libjpeg62_[version]
_armel.deb
--buildオプションはクロス開発用に変換されたDebianパッケージを作成することを意味します。--archオプションにはアーキテクチャを指定します。最後の引数には変換したいライブラリパッケージを指定します。
dpkg-crossはクロス開発用のライブラリパッケージパッケージの「libjpeg62-armel-cross_[version]
_all.deb」を作成します。ファイル名の「armel-cross」はarmelクロス開発用を意味し、「_all」はすべて のアーキテクチャの開発用PCにインストールすることができることを意味します。
次に、クロス開発用に変換したパッケージをdpkg -iコマンドを実行し、インストールします。
[ATDE ~]$
sudo dpkg -i libjpeg62-armel-cross_[version]
_all.deb
dpkg-cross --build --arch armelコマンドで作成したクロス開発用ライブラリパッケージをインストールすると、ファイルは/usr/arm-linux-gnueabiディレクトリ以下にインストールされます。ライブラリファイルは/usr/arm-linux-gnueabi/libディレクトリに、ヘッダファイルは/usr/arm-linux-gnueabi/includeディレクトリに置かれます。
| パッケージ名の最後が-devのパッケージ |
---|
パッケージ名の最後が-devになっているパッケージは開発用のパッケージです。開発用パッケージにはヘッダーファイルなどが入っています。例えばlibjpeg62パッケージの開発用パッケージは、libjpeg62-devパッケージです。libjpeg62を使用するソースコードをコンパイルする場合は、libjpeg62-devパッケージも必要になります。 クロス開発を行う場合はこのようなケースが多いので、新しいクロス開発用パッケージをインストールする場合、開発用パッケージもインストールしておくのが良いでしょう。 |
| アプリケーションの場合 |
---|
アプリケーションのパッケージには、ライブラリファイルもヘッダーファイルも含まれていないので、dpkg-crossでクロス開発用パッケージに変換することができません[]。 ARM用のDebianパッケージに含まれる、アプリケーションの実行ファイルをArmadilloで動作させたい場合、まず、dpkg -xコマンドを使用して、パッケージに入っているファ イルを取り出します。該当のファイルを探し、Armadilloのユーザーランドに配置するだけでアプリケーションを使用することができます。 このようにして配置したアプリケーションを使用する場合に、ライブラリや設定ファイルが必要な場合もあります。うまく動作しなかった場合は、パッケージの依存関係や、設定ファイルの有無を調べてください。 また、4章Armadillo上にDebian GNU/Linuxを構築するで紹介する手順を行ない、Armadillo上にDebian GNU/Linuxを構築することでArmadillo上でもapt-getコマンドが使用できるようになります。 |
apt-crossコマンドを使用すると、上記の一連の作業を1つのコマンドで行うことができます。
--archオプションにはアーキテクチャを指定します。--suiteオプションにはDebian ディストリビューションのバージョンを指定します。--installオプションは取得/変換したパッケージをインストールすることを意味します。最後の引数には、パッケージ名を指定します。
2.4. 一つのプロジェクトで使用したATDE3を保存しておくメリット
VMwareの仮想マシンの情報はすべてファイルとして管理されています。そのため、仮想マシン上で作成した環境は、ファイルをコピーするだけで複製することができます。
そのため、あるプロジェクトで作成した仮想マシンのファイルを保存しておけば、プロジェクト終了後に保守しなければいけない状況になった時でも、環境の再現が簡単にできます。
また、複数の作業用PCに環境を作成しなければならない場合に、一つのPCで環境を作成し、その他のPCにファイルをコピーするすることで、簡単に同じ環境を実現できます。
作業用のPCがDebian GNU/Linux 5.0環境に、ATDE3と同じ環境をインストールする手順を説明します。
/etc/apt/sources.list.d/atmark.source.listに以下の内容を追加してください。
deb http://download.atmark-techno.com/debian lenny/
ダウンロードするURLを追加したので、以下のコマンドを実行し、利用可能なパッケージの情報の更新をおこないます。
[PC ~]$
sudo apt-get update
以下のコマンドを実行し、必要なパッケージをインストールしてください。
[PC ~]$
sudo apt-get install a440-development-environment
以上で、Armadilloの開発環境の構築は完了です。