Cross compile para o ARM sem instalar nada

1

Eu tenho que cruzar compilar bluez para outra máquina, mas não tenho permissão para instalar nada na máquina host. Eu nunca fiz isso antes. Como posso começar?

Máquina host:

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

Máquina de destino:

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

Como você pode ver, o Target Machine tem uma versão mais nova do Linux e, em seguida, a máquina host, é possível até cruzar a compilação nessa situação? Eu encontrei este site (alemão), este é um bom tutorial sobre como começar?

    
por Black 07.08.2015 / 11:07

1 resposta

3

A versão do kernel não tem relação com a compilação de código para outro sistema.

Infelizmente, sem poder instalar qualquer qualquer software no sistema host, você estará sem sorte. Você precisa de um conjunto de compiladores que gerará código para sua plataforma de destino (ARM, neste caso) e, por padrão, esse conjunto de compiladores não está instalado na maioria dos sistemas - se eles tiverem um compilador instalado, será para a mesma arquitetura.

Dito isto, se você puder instalar o software em seu diretório home no host, você pode instalar um compilador cruzado. Existem inúmeros guias on-line (por exemplo, este ). Basicamente, envolve o download do código-fonte de um conjunto de compiladores e sua compilação em seu sistema host para que ele possa gerar binários para sua arquitetura de destino.

Dito isso - por que você precisa compilar o BlueZ da fonte? Eu não sei qual distribuição seu sistema ARM está rodando, mas o Debian tem pacotes ARM disponíveis (embora os pacotes para squeeze são provavelmente mais apropriados com base na safra do seu kernel ARM).

    
por 07.08.2015 / 11:53