Como construir um pacote Debian cruzado

5

Eu quero construir um pacote armhf em uma máquina amd64. Minha máquina armhf é muito mais lenta que a minha amd64.

    
por Tshepang 10.12.2014 / 11:17

2 respostas

4

Primeiro, precisamos configurar o ambiente de vários arcos ( mais informações ):

sudo dpkg --add-architecture armhf
sudo apt update

Faça o download do pacote de origem (usando menos como exemplo):

apt-get source less

Navegue até o diretório e, finalmente, construa o pacote:

cd less-458
dpkg-buildpackage -us -uc -b --host-arch armhf

O sinalizador especial no comando acima é --host-arch . As outras bandeiras significam:

  • Não estamos assinando um pacote de fontes
  • Não estamos assinando o arquivo .changes
  • Estamos fazendo uma compilação somente de binário

Esses 3 são relevantes somente para aqueles que construírem repositórios públicos, como Desenvolvedores / Mantenedores Debian.

    
por 18.05.2015 / 22:13
2

Se você se preocupa mais com conveniência do que velocidade, você pode usar o seguinte método, que usa qemu para emular um sistema ARM.

Instale o pacote que possui a ferramenta que precisamos, pbuilder-dist :

sudo apt install ubuntu-dev-tools

O comando a seguir cria um chroot para construir e cria um tarball (neste caso, um sistema Debian 8 para arquitetura armhf):

pbuilder-dist jessie armhf create

Obtenha fontes de algum pacote:

apt-get source bb

Crie o pacote:

pbuilder-dist jessie armhf bb_1.3rc1-8.3.dsc

Isso levou cerca de 370 segundos na minha máquina e cerca de 250 segundos no sistema ARM que eu estava construindo.

    
por 19.05.2015 / 21:18