Linuxは、オープン ソースのオペレーティング システムです。ARMプロセッサも含め、全ての主要なプロセッサ アーキテクチャで動作します。FSFのGNUツールと同様、オープン ソースの輪を形成する多数のエンジニアのグルーブによって支えられています。このためLinuxは、非常にダイナミックで展開の速いオペレーティング システムです。
Linuxは、オープン ソースのオペレーティング システムです。ARMプロセッサも含め、全ての主要なプロセッサ アーキテクチャで動作します。FSFのGNUツールと同様、オープン ソースの輪を形成する多数のエンジニアのグルーブによって支えられています。このためLinuxは、非常にダイナミックで展開の速いオペレーティング システムです。ARMは、RealView®開発プラットフォーム/ツールのサポートという形で、主要なLinuxカーネルに貢献しています。 ARMプロセッサおよびRealViewプラットフォームで、Linuxを実行するためのLinuxカーネル イメージ、パッチ、ユーティリティを他のタブで紹介しています。ここでいうLinuxとは、メモリ管理ユニット(MMU)搭載プロセッサ上で動作するLinuxを指します。 MMUを搭載していないプロセッサでは、修正版のLinuxを実行することができ、この修正版はuClinuxと呼ばれています。[uClinux]タブには、特定のARMプロセッサ用のビルド済みuClinuxイメージが掲載されています。
新しいバージョンのLinuxカーネルおよび新しい開発の成果については、kernel.orgを参照してください。 ARMベースのLinux開発に関連したパッチや情報の確認には、公開されているフォーラムをご利用いただけます。また、Wikiサイトにもリンクが掲載されています。ソースおよびバイナリ バージョンのGNU GCCコンパイラは、Linaroのほか、ディスカッション グループから入手できます。
Linaro™ は、オープン ソース コミュニティとエレクトロニクス業界の力を結集することを目的に設立された会社組織です。コミュニティと業界がともに力を合わせ、主要なプロジェクトに取り組み、オープン ソースのツールを開発し、フラグメントを抑えること、そして、Linuxベースのディストリビューションに必要な共通の基盤を協力しながら確立することを目標としています。 詳細については、LinaroのWebサイトを参照してください。
ARMは、以下のような、オープン ソース コミュニティ、Linuxディストリビューション、商用Linuxパートナーと連携しています。
Linux全般のサポートについては、ARMでは提供していません。詳細については、以下のFAQを参照してください。
これらのページで提供されている3.3 Linuxカーネル パッチやイメージは、次のARMプロセッサをサポートしているARM開発ボードで使用できます。
これらのプラットフォームをサポートするために、以下のコンポーネントが提供されています。
プラットフォーム/イメージ | U-Boot | Linuxイメージ |
|---|---|---|
| RealView* | RealView | RealView、config |
| Versatile Express | プラットフォームで提供される ブートローダを使用 | VExpress-v7、config |
mkImageユーティリティのコピーを使用すると、U-Bootイメージを生成できます。
このページで提供されているバイナリ カーネル イメージを生成するには、Linux 3.3カーネル ソース ツリーに対して、Patch-3.3.0-arm.gz(50Kb)を使用する必要があります。 このパッチを使用することにより、ARMv7プロセッサにおいて、Linuxカーネルを実行できるようになります。
Versatile Expressカーネル イメージは、デバイス ツリー構造を使用して、基盤となるハードウェア プラットフォームを記述できます。 The boot process for zImage described in the READMEファイルおよび対応するデバイス ツリーで記述されているzImageのブート プロセスは、次の場所に含まれています。 また、Versatile Expressシステムのアップグレード方法に関する情報は、ARMテクニカル サポートの技術情報記事に含まれています。
このリリースで提供されるカーネルは、EABIをサポートするようにコンパイルされており、VFPおよびNEONに対応したThumb-2ベースのアプリケーションの実行がサポートされます。
このLinuxカーネルには、以下のPrimecellのサポートが含まれます。
このページからダウンロードできるU-Bootのバイナリは、こちらのソースからコンパイルされています。U-Bootプロジェクト リストにはパッチも掲載されます。
ファイルシステム イメージは、Linaroの開発者とコミュニティのビルドのセクションに含まれています。 Linaroでは、開発者が質問したり、Linaroおよびさらに広範な開発者コミュニティと対話できるようにするためのディスカッション フォーラムを用意しています。
ARMのパブリックGITリポジトリに関する情報は、次の場所に含まれています。
これらのイメージは、LinaroのGCC 4.6.3コンパイラを使用して生成されています。
(*)RealView PBX-A9では、このボード上のすべてのコアにNEONが実装されているとは限りません。NEONでアプリケーションを実行する場合は、アプリケーションの実行に使用されるCPUを確認してください。
これらのバイナリ パッケージをビルドする際に使用されるソース コードは、GNUパブリック ライセンスの条項に基づいて提供されます。 このソフトウェアは、法律上許容される範囲で、無保証で提供されます。 商品性または特定の目的への適合性に関する暗示的保証も含め、本ソフトウェアは、明示と暗示を問わず、一切の保証のない状態で提供されます。
MMUを搭載していないプロセッサでは、uClinuxと呼ばれる修正版のLinuxを実行でき、ARM946E-S、ARM1156T2-S、Cortex-R4(F)などのARMプロセッサで使用できます。最新バージョンのLinuxカーネルは、このような構成で実行できるように、MMUをオフに構成できます。
詳しい情報やドキュメント、メーリング リスト、各種リソースについては、www.uclinux.org、および他のLinuxカーネルのメーリング リストを参照してください。ファイルシステム イメージは、BuildRoot環境を使用して生成できます。
これらのバイナリ パッケージをビルドする際に使用されるソース コードは、GNUパブリック ライセンスの条項に基づいて提供されます。 このソフトウェアは、法律上許容される範囲において、無保証で提供されます。 商品性または特定の目的への適合性に関する暗示的保証も含め、本ソフトウェアは、明示と暗示を問わず、一切の保証のない状態で提供されます。
Androidは、Linuxのカーネルおよびアプリケーションを使用したモバイル デバイス用のソフトウェア スタックです。 Android SDKには、Javaプログラミング言語を使用してAndroidプラットフォームのアプリケーションを開発するためのツールとAPIが含まれています。 Androidアプリケーションは、Dalvik仮想マシン(VM)の独立したインスタンスによって、独自のプロセスで動作します。 スタック ベースの仮想マシンであるJVMとは対照的に、Dalvikはレジスタ ベースの仮想マシンであり、Javaに似た言語コンパイラによってコンパイルされたクラスを実行します。パフォーマンス重視のアプリケーションは、SDKと対をなすツールAndroid NDKを使用することによって、ネイティブ コードで作成できます。ARMソフトウェア イネーブルメントのブログのセクションには、ARMプラットフォームでのAndroidの設定および実行の方法に関するエントリが含まれています(こちらの記事を参照)。
このページには、http://www.arm.com/linuxから入手できるLinuxカーネル バージョンを使用し、ARM RealView®プラットフォームでAndroidをビルドして実行する方法についての情報とサンプルが記載されています。 ソース コードの操作には、GITバージョン コントロール システムと、GITに基づいて作成されたRepoツールの両方が使用されています。
加えて、Androidソリューション センター(SCA)には、AndroidやARMにまだ触れたことのない開発者向けのリソースが用意されています。
| プラットフォーム/イメージ | U-Boot | Linuxカーネル イメージ |
|---|---|---|
| Versatile Express | プラットフォームで提供されるブートローダを使用 | VExpress-zImage*、config |
armdroid1 patch.gzは、3.3-rc7バニラ カーネルに適用します。
こちらのイメージは、Versatile ExpressのCortex-A9 CoreTileおよび対応するデバイス ツリー ブロブのためのビルド済み(プレーン)3.3.0 Linuxカーネルです。
ARM RealViewプラットフォーム向けにAndroidをビルドするための詳しい方法については、最近のブログ投稿を補足する次のWikiページを参照してください。
*現時点では、このページで使用できる汎用のzImageビルドはありません。
これらのバイナリ パッケージをビルドする際に使用されるソース コードは、GNUパブリック ライセンスの条項に基づいて提供されます。 このソフトウェアは、法律上許容される最大限において、無保証で提供されます。 商品性または特定の目的への適合性に関する暗示的保証も含め、本ソフトウェアは、明示と暗示を問わず、一切の保証のない状態で提供されます。
ARMは、ARMアーキテクチャの進化を把握し、ARM用の高品質のGNUツールチェインとCPUロードマップの普及を促進するため、GNUコンパイラ プロジェクトに貢献しています。
このツールチェインは、現行のすべてのARMアーキテクチャとプロセッサ(Thumb-2命令セット、ARMアーキテクチャv7を含む)をサポートしているほか、将来リリースされるプロセッサおよびアーキテクチャについてもサポートが継続される予定です。
このツールチェインは、最新のARMアプリケーション バイナリ インタフェースに準拠しており、ARM RealView Development SuiteまたはABIに準拠した他のツールチェインと相互運用できます。 ユーザは、オープン ソースのツールを使ってビルドされたコードと併せて、ARMが提供する商用プロフェッショナルなツールチェインが可能にする最適化されたコード サイズとパフォーマンスの利点を享受できます。
GNU GCCコンパイラのバージョンは、次のLinaroのページからご利用いただけます。
GCCビルド済みバイナリは、毎月https://wiki.linaro.org/Cyclesからご利用いただけます。