本章では、Armadillo-840/840mのソフトウェアをカスタマイズをする方法や、様々な機能を使用する方法などについて説明します。
コンフィギュレーションを変更してLinuxカーネル、ユーザーランドイメージをカスタマイズする方法を説明します。
Atmark Distには様々なアプリケーションやフォントなどが含まれており、コンフィギュレーションによってそれらをイメージに含めたり、外したりすることができます。また、Linuxカーネルのコンフィギュレーションの変更を行うこともできます。
手順21.1 イメージをカスタマイズ
ソースコードの準備
ソースコードを準備します。Atmark DistとLinuxカーネルのソースコードアーカイブを準備し展開します。展開後、Atmark DistにLinuxカーネルのソースコードを登録するために、シンボリックリンクを作成します。
コンフィギュレーションの開始
make menuconfigを行い「Vendor/Product Selection --->」を選択します。
ベンダー/プロダクト名の選択
Vendorには "AtmarkTechno" を選択し、AtmarkTechno Productsには "Armadillo-840" を選択します。その後、前のメニューに戻るために"Exit"を選択し、「Kernel/Library/Defaults Selection --->」を選択します。
コンフィギュレーション変更対象の指定
カーネル、ユーザーランドのそれぞれで、コンフィギュレーションの変更を行うかどうかを指定します。
カーネルコンフィギュレーションを変更するには、「Customize Kernel Settings」を選択します。ユーザーランドコンフィギュレーションを変更するには「Customize Vendor/User Settings」を選択します。その後、"Exit"を選択して「Do you wish to save your new kernel configuration?」で"Yes"とします。
カーネルコンフィギュレーションの変更
「Customize Kernel Settings」を選択した場合は、Linux Kernel Configurationメニューが表示されます。カーネルコンフィギュレーションを変更後、"Exit"を選択して「Do you wish to save your new kernel configuration ? <ESC><ESC> to continue.」で"Yes"とし、カーネルコンフィギュレーションを確定します。
| |
---|
Linux Kernel Configurationメニューで"/"キーを押下すると、カーネルコンフィギュレーションの検索を行うことができます。カーネルコンフィギュレーションのシンボル名(の一部)を入力して"Ok"を選択すると、部分一致するシンボル名を持つカーネルコンフィギュレーションの情報が一覧されます。
|
ユーザーランドコンフィギュレーションの変更
「Customize Vendor/User Settings」を選択した場合は、Userland Configurationメニューが表示されます。アプリケーションのユーザーランドコンフィギュレーションを変更後、"Exit"を選択して「Do you wish to save your new kernel configuration?」で"Yes"とし、ユーザーランドコンフィギュレーションを確定します。
ビルド
コンフィギュレーションの確定後にビルドを行います。ビルドは"make"コマンドを実行します。
イメージファイルの生成確認
ビルドが終了すると、atmark-dist/images/ディレクトリ以下にカスタマイズされたイメージファイルが作成されています。Armadillo-840では圧縮済みのイメージ(拡張子が".gz"のもの)を利用します。
21.2. Armadillo-810 カメラモジュール01 (Bコネクタ用)を使用する
「Armadillo-810 カメラモジュール01 (Bコネクタ用)」を使用する方法について説明します。以降の説明では、Armadillo-810 カメラモジュール01 (Bコネクタ用)をカメラモジュールと表記します。
カメラモジュールを使用するためには、コンフィギュレーションを変更したLinuxカーネルイメージファイルを作成する必要があります。
Armadillo-840と周辺装置の接続例を次に示します。
カーネルコンフィギュレーションを変更して、カメラモジュールに対応したLinuxカーネルイメージファイルを作成します。ユーザーランドイメージはデフォルトのものが使用できます。
21.2.2.1. カメラモジュール対応イメージのビルド
カーネルコンフィギュレーションを変更して、カメラモジュールを使用可能にします。「イメージをカスタマイズする」を参照して次のコンフィギュレーションを有効化します。
カーネルコンフィギュレーションの確定後、makeコマンドを実行してイメージファイルを作成します。
カメラモジュールから取得した映像を、拡張ボード01のLCDに表示させます。GStreamerを利用して映像の取得および表示を行う例を、次に示します。
| |
---|
ユーザーランドイメージ romfs-a840-v1.01.img以前(Atmark Dist v20131018以前)では、次のようにコマンドを実行する必要があります。
コマンドの違いは、インストールされているGstreamerのバージョンによるものです。ユーザーランドイメージ romfs-a840-v1.01.img以前(Atmark Dist v20131018以前)ではGstreamer0.10がインストールされていましたが、ユーザーランドイメージ romfs-a840-v1.02.img以降(Atmark Dist v20140131以降)ではGstreamer1.0がインストールされています。
|
21.3. Armadillo-WLANモジュール(AWL13)を使用する
無線通信を行うために、「Armadillo-WLANモジュール(AWL13)」をインフラストラクチャモード(STA)で使用する方法を説明します。以降の説明では、Armadillo-WLANモジュール(AWL13)をAWL13と表記します。
AWL13を使用するためには、コンフィギュレーションを変更したユーザーランドイメージファイルを作成する必要があります。
Armadillo-840と周辺装置の接続例を次に示します。
ユーザーランドコンフィギュレーションを変更して、AWL13に対応したユーザーランドイメージファイルを作成します。カーネルコンフィギュレーションは変更しません。
ソースコードを準備します。AWL13に対応したユーザーランドイメージファイルを作成するためには、Atmark DistとLinuxカーネルの他に、AWL13ドライバーのソースコードが必要です。Atmark Distに、LinuxカーネルとAWL13ドライバーのソースコードを登録するために、シンボリックリンクを作成します。
使用するAWL13ドライバーのソースコードは、Armadilloサイトからダウンロードすることができます。最新バージョンのソースコードを利用することを推奨します。
21.3.2.2. AWL13対応イメージのビルド
ユーザーランドコンフィギュレーションを変更して、AWL13サポートを有効化します。「イメージをカスタマイズする」を参照して次のようにコンフィギュレーションを変更します。
ユーザーランドコンフィギュレーションの確定後、makeコマンドを実行してイメージファイルを作成します。
WPA2-PSK(AES)のアクセスポイントに接続する場合の設定例を次に示します。以降の説明では、アクセスポイントのESSIDを[essid]
、パスフレーズを[passphrase]
と表記します。
上記コマンドを実行すると、無線設定が完了します。これで通常のネットワークインターフェースとして使用することができます。ネットワークの設定方法やネットワークを利用するアプリケーションについての詳細は、「ネットワーク」を参照してください。
WPA2-PSK(AES)以外のアクセスポイントへの接続方法など、AWL13のより詳細な情報については、「Armadillo-WLAN(AWL13)ソフトウェアマニュアル」を参照してください。
| |
---|
「ビルド手順」で作成したユーザーランドイメージは、システム起動時にAWL13が適切に初期化されるように作られています。通常、AWL13を動作させる場合は、
カーネルモジュール「awl13_sdio.ko」の組み込み AWL13へファームウェアをロード AWL13の無線設定
の3つの手順が必要となりますが、1. 及び 2. を起動スクリプトで実行するため、無線設定のみを行うことで無線通信が可能になります。
|
無線設定をコンフィグ領域に保存することにより、Armadilloを再起動するたびに無線設定を行う必要が無くなります。コンフィグ領域を保存する方法については「コンフィグ領域の保存」を参照してください。
WPA2-PSK(AES)のアクセスポイントに接続する場合の/etc/config/interfaces
の編集例を次に示します。
/etc/config/interfaces
の編集後、次のようにコマンドを実行すると、無線設定、IP設定およびネットワークの有効化が行われます。
| |
---|
Armadilloの起動時に自動的にawlan0が有効化されるようにするには、/etc/config/awl13-firmware-load.sh の最後の行に「ifup awlan0」を追加します。
追加後、次回起動時に設定が反映されるようにコンフィグ領域を保存します。
|
同じネットワーク内にある通信機器とPING通信を行います。次の例では、通信機器が「192.168.10.20」というIPアドレスを持っていると想定しています。
| |
---|
事前に「無線設定」、「IP設定」、「ネットワークの有効化」が行われている必要があります。「無線設定」および「ネットワーク」を参照し、行ってください。
|
| |
---|
複数のインターフェース (eth0 や usb0) を使用してネットワークに接続している場合、設定を間違うと通信時に意図したインターフェースが使用されない場合があります。テスト用途などで特定のインターフェースだけを使用する場合は、使わないネットワークインターフェースを無効化する方法が簡単です。無効化する方法は、「ネットワークの有効化、無効化」を参照してください。全てのインターフェースを正しく使用するには、ルーティングテーブルなどの設定を確認してください。
|
21.4. USBガジェットを使用する
USBガジェットを使用する方法について説明します。USBデバイス機能を提供するUSBガジェットドライバーには様々な種類のものが用意されていますが、ここでは例としてイーサネットガジェットドライバー[]を有効化したArmadillo-840をUSBデバイスとして使用する方法を紹介します。
イーサネットガジェットを使用するためには、コンフィギュレーションを変更したLinuxカーネルイメージファイルを作成する必要があります。
Armadillo-840と周辺装置の接続例を次に示します。
カーネルコンフィギュレーションを変更して、イーサネットガジェットに対応したLinuxカーネルイメージファイルを作成します。ユーザーランドイメージはデフォルトのものが使用できます。
21.4.2.1. イーサネットガジェット対応イメージのビルド
カーネルコンフィギュレーションを変更して、イーサネットガジェットを使用可能にします。「イメージをカスタマイズする」を参照して次のようにコンフィギュレーションを変更します。
カーネルコンフィギュレーションの確定後、makeコマンドを実行してイメージファイルを作成します。
ATDE5とArmadillo-840で、イーサネットガジェットを使用したPING通信を行います。
事前に「取り外し可能デバイスの使用」を参照して、ATDE5にArmadillo-840を接続する必要があります。Armadillo-840のデバイス名は「Netchip RNDIS/Ethernet Gadget」と表示されます。
接続が完了すると、ATDE5では自動的にネットワークインターフェース"usb0"が有効化されます。有効化が完了し、リンクローカルアドレス[]が割り当てられると、"ifconfig"コマンドの出力結果は次のように表示されます。
Armadillo-840では、手動でネットワークインターフェース"usb0"を有効化する必要があります。有効化が完了し、リンクローカルアドレスが割り当てられると、"ifconfig"コマンドの出力結果は次のように表示されます。
| |
---|
Armadilloの起動時に自動的にusb0が有効化されるようにするには、/etc/config/interfaces を次のように編集します。
編集後、次回起動時に設定が反映されるようにコンフィグ領域を保存します。
|
Armadillo-840からATDE5に、イーサネットガジェットを使用したPING通信を行う例を次に示します。
| |
---|
複数のインターフェース (eth0 や usb0) を使用してネットワークに接続している場合、設定を間違うと通信時に意図したインターフェースが使用されない場合があります。テスト用途などで特定のインターフェースだけを使用する場合は、使わないネットワークインターフェースを無効化する方法が簡単です。無効化する方法は、「ネットワークの有効化、無効化」を参照してください。全てのインターフェースを正しく使用するには、ルーティングテーブルなどの設定を確認してください。
|
21.5. コンポジットビデオ/ライン出力を使用する
コンポジットビデオ出力およびライン出力を使用する方法について説明します。
コンポジットビデオ出力を使用するためには、コンフィギュレーションを変更したLinuxカーネルイメージファイルを作成する必要があります。ライン出力は、デフォルトのLinuxカーネルイメージでも使用することができます。
Armadillo-840と周辺装置の接続例を次に示します。
カーネルコンフィギュレーションを変更して、コンポジットビデオ出力に対応したLinuxカーネルイメージファイルを作成します。ユーザーランドイメージはデフォルトのものが使用できます。
21.5.2.1. コンポジットビデオ出力対応イメージのビルド
カーネルコンフィギュレーションを変更して、コンポジットビデオ出力を使用可能にします。「イメージをカスタマイズする」を参照して次のようにコンフィギュレーションを変更します。
カーネルコンフィギュレーションの確定後、makeコマンドを実行してイメージファイルを作成します。
RCA対応ディスプレイへのサウンドの再生を行います。GStreamerを利用してテストサウンドの出力を行う例を、次に示します。
| |
---|
ユーザーランドイメージ romfs-a840-v1.01.img以前(Atmark Dist v20131018以前)では、次のようにコマンドを実行する必要があります。
コマンドの違いは、インストールされているGstreamerのバージョンによるものです。ユーザーランドイメージ romfs-a840-v1.01.img以前(Atmark Dist v20131018以前)ではGstreamer0.10がインストールされていましたが、ユーザーランドイメージ romfs-a840-v1.02.img以降(Atmark Dist v20140131以降)ではGstreamer1.0がインストールされています。
|