何もインストールせずにARM用のクロスコンパイル

何もインストールせずにARM用のクロスコンパイル

他のコンピュータに対してbluezをクロスコンパイルする必要がありますが、ホストコンピュータには何もインストールできません。私は以前これをやったことがありません。どうやって始めますか?

マスター:

Processor: Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz
OS Version: Linux 2.6.32-44 generic

ターゲットマシン:

Processor: ARM926EJ-S rev 5 (v5l)
OS Version: Linux 2.6.35.3-571

ご覧のとおり、ターゲットコンピュータにはホストコンピュータよりも最新のLinuxバージョンがあります。この場合、クロスコンパイルは可能ですか?私が見つけたこのウェブサイト(ドイツ語)、これがどのように始まるかについての良いチュートリアルですか?

答え1

カーネルバージョンは、他のシステムのコードをコンパイルすることとは関係ありません。

残念ながら設置できませんどのホストシステムにソフトウェアをインストールした場合、幸運ではありません。ターゲットプラットフォーム(この場合はARM)のコードを生成するにはコンパイラスイートが必要です。これらのコンパイラスイートはほとんどのシステムにデフォルトでインストールされていません。コンパイラがインストールされている場合は、同じアーキテクチャで動作します。

つまり、ホストのホームディレクトリにソフトウェアをインストールできる場合は、クロスコンパイラをインストールできます。多くのオンラインガイドがあります(例:これ)。デフォルトでは、コンパイラスイートのソースコードをダウンロードしてホストシステムでコンパイルして、ターゲットアーキテクチャのバイナリを生成できます。

つまり、ソースからBlueZをコンパイルする必要があるのはなぜですか?あなたのARMシステムがどのディストリビューションを実行しているかはわかりませんが、DebianではARMソフトウェアパッケージ利用可能(パッケージ絞るARMコアのバージョンによっては、これがより適切である可能性があります。

関連情報