本章では、ソースコードから工場出荷イメージと同じイメージを作成する手順について説明します。
使用するソースコードは、開発セット付属のDVDに収録されています。最新版のソースコードは、Armadilloサイトからダウンロードすることができます。新機能の追加や不具合の修正などが行われているため、DVDに収録されているものよりも新しいバージョンがリリースされているかを確認して、最新バージョンのソースコードを利用することを推奨します。
| |
---|
開発作業では、基本ライブラリ・アプリケーションやシステム設定ファイルの作成・配置を行います。各ファイルは作業ディレクトリ配下で作成・配置作業を行いますが、作業ミスにより誤って作業用 PC 自体の OS を破壊しないために、すべての作業は root ユーザーではなく一般ユーザーで行ってください。
|
11.1. Linuxカーネル/ユーザーランドをビルドする
ここでは、ソースコードディストリビューションである「Atmark Dist」と、「Linuxカーネル」のソースコードからイメージファイルを作成する手順を説明します。
手順11.1 Linuxカーネル/ユーザーランドをビルド
ソースコードを準備します。Atmark DistとLinuxカーネルのソースコードアーカイブを準備し展開します。展開後、Atmark DistにLinuxカーネルのソースコードを登録するために、シンボリックリンクを作成します。
以降のコマンド入力例では、カーネル・ユーザーランド・ブートローダのソースファイルからバージョンを省略した表記を用います。
Atmark Distディレクトリに入り、コンフィグレーションを行います。ここでは、menuconfigを利用します。
メニュー項目は、上下キーで移動することができます。下部のSelect/Exit/Helpは左右キーで移動することができます。選択するにはEnterキーを押下します。
"Vendor/Product Selection --->"に移動してEnterキーを押下します。
Vendorには "AtmarkTechno" を選択し、AtmarkTechno Productsには "Armadillo-810" を選択します。
前のメニューに戻るには、"Exit"に移動してEnterキーを押下します。
続いて、"Kernel/Library/Defaults Selection --->"に移動してEnterキーを押下します。"Default all settings (lose changes)"に移動して"Y"キーを押下します。押下すると"[*]"のように選択状態となります。
前のメニューに戻るため、"Exit"に移動してEnterキーを押下します。コンフィグレーションを抜けるためにもう一度"Exit"に移動してEnterキーを押下します。
コンフィグレーションを確定させるために"Yes"に移動してEnterキーを押下します。
コンフィグレーションが完了するので、続いてビルドを行います。
ビルドは"make"コマンドを実行します。
ビルドログが表示されます。
ビルドするPCのスペックにもよりますが、数分から十数分程度かかります。
ビルドが終了すると、atmark-dist/images/ディレクトリ以下にイメージファイルが作成されています。Armadillo-810では圧縮済みのイメージ(拡張子が".gz"のもの)を利用します。
Armadillo-810では、ARMの2つのアーキテクチャに対応しています。
"armhf" (デフォルト) では、浮動小数点演算にVFPコプロセッサを利用します。
"armel"では、浮動小数点演算に専用のソフトウェアライブラリを利用します。
基本的には"armhf"の方が性能が高く、特に"armel"でなければならない場合以外は"armhf"
を利用してください。
ATDEには、上記2つのアーキテクチャ用のツールチェーン(コンパイラやリンカ、クロスライブラリなど)を用意してあります。
Linuxカーネル及びユーザーランドのアーキテクチャを変更するには、Atmark Distのコンフィグレーション時に、"Cross-dev"に利用したいアーキテクチャを選択します。次の例では、"armel"を指定している状態となります。"default"となっている場合は、Armadillo-810の場合では"armhf"が選択されます。
ここでは、ブートローダーである「Hermit-At」のソースコードからイメージファイルを作成する手順を説明します。
手順11.2 ブートローダーをビルド
Hermit-Atのソースコードアーカイブを準備し展開します。展開後、hermit-atディレクトリに移動します。
Armadillo-810用にコンフィグレーションを行います。ここでは例としてフラッシュメモリ起動用イメージを作成します。デフォルトコンフィグには"armadillo810_nor_defconfig"を指定します。SDカード起動用イメージを作成する場合は、"armadillo810_mmcsd_defconfig"を指定してください。
ビルドには"make"コマンドを利用します。
ビルドが終了すると、hermit-at/src/target/armadillo8x0/ディレクトリ以下にイメージファイルが作成されています。
Linuxカーネルとユーザーランドのアーキテクチャを変更するのと同様に、ブートローダーもアーキテクチャを変更することができます。ただし、特に動作に影響を与えないため、変更する必要はありません。
ブートローダーのビルド時にアーキテクチャを変更するには、CROSS_COMPILEオプションを利用します。"armel"を指定する場合は、ビルド時に "CROSS_COMPILE=arm-linux-gnueabi-"をつけてビルドしてください。