Cross-compiling e compilação distribuída para ARM

De Área31 Hackerspace
Revisão de 20h23min de 23 de setembro de 2013 por Coffnix (discussão | contribs)

Configure o Cross-Compiling no Gentoo/Funtoo

Utilizaremos o overlay ambro-cross, visto que é bem estável. Mais infos:

https://code.google.com/p/ambro-cross-overlay/wiki/Instructions

Server/node cluster distcc (compilação distribuída)

Configure o ambiente para compilação cruzada:

cd /usr/local
svn checkout https://ambro-cross-overlay.googlecode.com/svn/trunk/ ambro-cross-overlay

Adicione ao seu make.conf:

PORTDIR_OVERLAY="
/usr/local/portage-crossdev
/usr/local/ambro-cross-overlay"

Converta o diretório /etc/portage

Crie um script para converter o /etc/portage para o padrão de diretórios

vi ~/convert-profile-to-files.sh
#!/bin/bash
PROFILE_DIR="/etc/portage"

if [ ! -e ${PROFILE_DIR} ]; then
  mkdir ${PROFILE_DIR};
fi;

for PACK_DIR in package.accept_keywords package.keywords package.use package.unmask package.mask; do
  CUR_DIR="${PROFILE_DIR}/${PACK_DIR}"
  if [ ! -e ${CUR_DIR} ]; then
    mkdir ${CUR_DIR}
  fi

  if [ -e ${CUR_DIR} -a ! -d ${CUR_DIR} ]; then
    mv ${CUR_DIR} ${CUR_DIR}.moving
    mkdir ${CUR_DIR}
    mv ${CUR_DIR}.moving ${CUR_DIR}/monolithic
  fi
done

echo "Completed!"

Execute o script criado

chmod +x  ~/convert-profile-to-files.sh
 bash ~/convert-profile-to-files.sh

Instale o crossdev

Desmascare a última versão do crossdev:

echo "sys-devel/crossdev" >> /etc/portage/package.keywords/monolithic

Construa a ferramenta de compilação cruzada

mkdir /usr/local/portage-crossdev

Compile o ambiente armv6j-hardfloat-linux-gnueabi usando o crossdev:

crossdev --ov-output /usr/local/portage-crossdev --stable armv6j-hardfloat-linux-gnueabi
Cookies nos ajudam a entregar nossos serviços. Ao usar nossos serviços, você concorda com o uso de cookies.