Login

ARM The Architecture For The Digital World  

LinuxのARMアーキテクチャ サポート

Linuxペンギン ロゴLinuxは、オープン ソースのオペレーティング システムです。ARMプロセッサも含め、全ての主要なプロセッサ アーキテクチャで動作します。 FSFのGNUツールと同様、オープン ソースの輪を形成する多数のエンジニアのグループによって支えられています。 このため、Linuxは、非常にダイナミックで展開の速いオペレーティング システムです。
 
 


Linux on ARMの主な利点

  • 信頼性の高いマルチタスク環境を備えた、非常にスケーラブルなオペレーティング システム
  • オープン ソース モデル(GPL)
  • 広範囲にわたるUNIXおよびオープン ソース アプリケーションを利用可能
  • ARMプロセッサ ベースのプラットフォームで早期に入手可能
  • ネットワーキングワイヤレス分野など、ARMテクノロジ ベースのさまざまな設計で使用されている実績
  • オープン ディスカッション フォーラムによる広範なサポート

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コンパイラは、CodeSourceryのほか、ディスカッション グループから入手できます。

LinaroLinaro&tradeは、オープン ソース コミュニティとエレクトロニクス業界の力を結集することを目的に設立された会社組織です。コミュニティと業界とがともに力を合わせ、主要なプロジェクトに取り組み、オープン ソースのツールを開発し、対立を抑えること、そして、Linuxベースのディストリビューションに必要な共通の基盤と協力体制を確立することを目指しています。 詳細については、LinaroのWebサイトを参照してください。

ARMは、以下のような、オープン ソース コミュニティ、Linuxディストリビューション、商用Linuxパートナーと連携しています。

Linux全般のサポートについては、ARMでは提供していません。詳細については、以下のFAQを参照してください。


概要

このページからダウンロードできるファイルシステム イメージには、ARM RealView®プラットフォームでテストされた一連のアプリケーションが含まれています。 より完全なファイルシステムは、www.linaro.orgに掲載されている情報とパッケージを使用してビルドできます。

これらのページに用意されている2.6 Linuxカーネルは、以下のプロセッサをサポートします。

これらのプラットフォームをサポートするために、以下のコンポーネントが提供されています。

  • ブート ローダ: U-Boot
  • ビルド済みLinuxカーネル(ソースおよびバイナリ イメージを含む)
  • カーネルをビルドするためのコンフィギュレーション ファイル
  • ファイルシステム(ビルド済みのユーティリティとアプリケーションを含む)
  • Linuxのインストールに関する注意事項

ビルド済みカーネル イメージ


 プラットフォーム/イメージ

 U-Boot

 Linuxイメージ

 RealView Versatile PB926/AB926

Versatile ABVersatile PB

Versatile AB-PBconfig

 RealView EBおよびPB

 RealView

RealView-v6config
RealView-v6-smpconfig

 RealView PB-A8

RealView

RealView-v7-thumbconfig

 RealView PBX-A9**

 RealView

RealView-v7-smp-thumbconfig

Versatile Express

Versatile Express

VExpress-v7-smp-thumbconfig

U-Bootイメージを生成する際に使用するmkImageユーティリティは、こちらからダウンロードできます。

このページで提供されているバイナリ カーネル イメージを生成するには、kernel.org 2.6.35カーネル ソース ツリーに対して、Patch-2.6.35-arm1.gz(187KB)を使用する必要があります。 このパッチを使用することにより、ARMv7プロセッサにおいて、LinuxカーネルをThumb-2状態で実行できるようになります。

このリリースで提供されるカーネルは、EABIをサポートするようにコンパイルされています。Thumb-2ベースのアプリケーションの実行と、VFPレジスタおよびNEONレジスタの処理がサポートされます。

Cortex-A15に関して、ARMシミュレーション モデルで実行できるカーネル イメージをビルドするには、ストック2.6.35カーネル ツリーに適用される、専用のPatch-2.6.35-lpae1.gzを使用してください。 uImage-2.6.35-lpae1-vexpress-a15-smp-thumbカーネルのビルド済みイメージおよびconfigファイル(ARM Versatile Expressモデル用)もご利用いただけます。

このLinuxカーネルには、以下のPrimecellのサポートが含まれます。

  • UART(PL010、PL011)、割り込みコントローラ(VIC、GIC)、KMI(PL050)、RTC(PL030)、タイマ
  • VGA/LCD(PL110)、AACI(PL041)、VFP、Ethernet(PL092)、LAN9118、LAN91C111、MMC
  • L2CC(PL220、PL310)、USB

このページからダウンロードできるU-Bootのバイナリは、こちらのソースからコンパイルされています。U-Bootプロジェクト リストにはパッチも掲載されます。

ビルド済みファイルシステム イメージ

各ARMプラットフォームで使用できるイメージは以下のとおりです。

  • Minimal ARMv5T cramfs(30 MB):デバッグ シンボルを含みます。X11やオプションのアプリケーションは含まれません。
  • Minimal ARMv6 cramfs(30 MB):デバッグ シンボルを含みます。X11やオプションのアプリケーションは含まれません。
  • Minimal ARMv7 Thumb-2 cramfs (30 MB):Thumb-2(NEONサポートあり)用にコンパイルされています。
  • Full ARMv5T cramfs(49 MB):X11およびオプションのアプリケーションを含みます。
  • Full ARMv6 cramfs(49 MB):X11およびオプションのアプリケーションを含みます。
  • Full ARMv7 Thumb-2 cramfs(47 MB):Thumb-2(NEONサポートあり)用にコンパイルされています。

これらのパッケージのソース コードの利用に関しては、ARM組み込みLinuxリポジトリにあるREADMEファイルを参照してください。

これらのイメージは、GCC 4.5.1およびGNU libc 2.11を使用して生成されています。 ARM用GNU GCCツールのソースおよびバイナリ ディストリビューションの詳細については、www.codesourcery.comを参照してください。

(**)RealView PBX-A9では、このボード上のすべてのコアにNEONが存在するとは限りません。NEONでアプリケーションを実行する場合は、アプリケーションの実行に使用されるCPUを確認してください。 ビルド済みのARMv6 cramfsは、このプラットフォームで問題なく実行できるはずです。

ライセンス

これらのバイナリ パッケージをビルドする際に使用されるソース コードは、GNUパブリック ライセンスの条項に基づいて提供されます。 このソフトウェアは、法律上許容される最大限において、無保証で提供されます。 商品性または特定の目的への適合性に関する暗示的保証も含め、本ソフトウェアは、明示と暗示を問わず、一切の保証のない現状有姿のままで提供されます。

このページで提供しているのは、ARMv5T以降のARMプロセッサのビルド済みイメージのみです。 上記のプロセッサ一覧にアスタリスク(*)付きで示されているARMv4プロセッサのイメージは、ソースからビルドすることができます。


概要

MMUを備えていないプロセッサは、uClinuxと呼ばれる修正版のLinuxを実行できます。このページに掲載されているファイルシステム イメージおよびパッチには、ARM RealViewプラットフォームでテストされた一連のアプリケーションを含め、uClinuxのサポートが含まれています。 これらは以下のARMプロセッサで利用できます。

詳しい情報やドキュメント、メーリング リスト、各種リソースについては、www.uclinux.orgを参照してください。 ARM1156およびCortex-R4用ARM RealViewプラットフォームのビルド済みuClinuxイメージは、以下の表のとおりです。

 プラットフォーム/イメージ

 U-Boot

 uClinuxカーネル イメージ

 RealView

RealView

RealView-v6-nommuconfig
RealView-v7-nommu-thumbconfig

Patch-2.6.35-arm1.gz(187 KB)には、バイナリのuClinuxカーネル イメージを生成するために、2.6.35カーネルのソース ツリーに適用するための必要な変更が含まれています。 これらのカーネル イメージは、GNU GCC 4.3.2を使用して生成されました。

以下のファイルシステム イメージは、提供されているuClinuxカーネル イメージとともに使用できます。  

  • Base cramfs(2.5 MB):Base uClinuxアプリケーションおよびライブラリのcramfsイメージ
  • Thumb-2 cramfs(3 MB):Thumb-2 uClinuxアプリケーションおよびライブラリのcramfsイメージ

uClinuxファイルシステム イメージは、BuildRootから生成されました。

ライセンス

これらのバイナリ パッケージをビルドする際に使用されるソース コードは、GNUパブリック ライセンスの条項に基づいて提供されます。 このソフトウェアは、法律上許容される最大限において、無保証で提供されます。 商品性または特定の目的への適合性に関する暗示的保証も含め、本ソフトウェアは、明示と暗示を問わず、一切の保証のない現状有姿のままで提供されます。


概要

AndroidAndroidは、Linuxのカーネルおよびアプリケーションを使用したモバイル デバイス用のソフトウェア スタックです。 Android SDKには、Javaプログラミング言語を使用してAndroidプラットフォームのアプリケーションを開発するためのツールとAPIが含まれています。 Androidアプリケーションは、Dalvik仮想マシン(VM)の独立したインスタンスによって、独自のプロセスで動作します。 スタック ベースの仮想マシンであるJVMとは対照的に、Dalvikはレジスタ ベースの仮想マシンであり、Javaに似た言語コンパイラによってコンパイルされたクラスを実行します。パフォーマンス重視のアプリケーションは、SDKと対をなすツールAndroid NDKこちらのブログを参照)を使用することによって、ネイティブ コードで作成できます。

このページには、http://www.arm.com/linuxから入手できるLinuxカーネル バージョンを使用し、ARM RealView®プラットフォームでAndroidをビルドして実行する方法についての情報とサンプルが記載されています。 ソース コードの操作には、GITバージョン コントロール システムと、GITに基づいて作成されたRepoツールの両方が使用されています。

加えて、ARM Solution Center for Android(SCA)には、AndroidやARMにまだ触れたことのない開発者向けのリソースが用意されています。

ビルド済みカーネル イメージ

 プラットフォーム/イメージ U-Boot Linuxカーネル イメージ
 RealView PB11-MP RealView PB11MP-uImageconfig
 RealView PB-A8 RealView PBA8-uImageconfig
 RealView PBX-A9 RealView PBX-uImageconfig
 Versatile Express Versatile Express

 VExpress-uImage-up, config-up
VExpress-uImage-mp, config-mp

armdroid1パッチは、2.6.35 バニラ カーネルに適用します。ソース ツリーは、こちらのgit repoから入手することもできます。

ARM RealViewプラットフォーム向けにAndroidをビルドするための詳しい方法については、Linux-arm.org Wikiページを参照してください。

ライセンス

これらのバイナリ パッケージをビルドする際に使用されるソース コードは、GNUパブリック ライセンスの条項に基づいて提供されます。 このソフトウェアは、法律上許容される最大限において、無保証で提供されます。 商品性または特定の目的への適合性に関する暗示的保証も含め、本ソフトウェアは、明示と暗示を問わず、一切の保証のない現状有姿のままで提供されます。


他のタブで示した製品以外で、Linux またはuClinuxに適したARM製品は以下のとおりです。

プロセッサと関連テクノロジ

グラフィックス

ソフトウェア開発


GNUツールの概要

ARMは、ARMアーキテクチャの進化を把握し、ARM用の高品質のGNUツールチェーンの普及を促進するため、GNUコンパイラ プロジェクトに貢献しています。

このツールチェーンは、現行のすべてのARMアーキテクチャとプロセッサ(Thumb-2命令セット、ARMアーキテクチャv7を含む)をサポートしているほか、将来リリースされるプロセッサおよびアーキテクチャについてもサポートが継続される予定です。

このツールチェーンは、最新のARMアプリケーション バイナリ インタフェースに準拠しているため、ARM RealView Development SuiteまたはABIに準拠した他のツールチェーンとの相互運用が可能です。 ユーザは、オープン ソースのツールを使ってビルドされたコードと併せて、ARMが提供する商用プロフェッショナルなツールチェーンが可能にする最適化されたコード サイズとパフォーマンスの利点を享受できます。

GNUコンパイラのソースとビルド済みバージョンは、CodeSourcery (>)からご利用いただけます。

Maximise