Cross-compiling e compilação distribuída para ARM: mudanças entre as edições
De Área31 Hackerspace
m Admin moveu a página KB:Cross-compiling e compilação distribuída para ARM para Cross-compiling e compilação distribuída para ARM sem deixar um redirecionamento |
Sem resumo de edição |
||
Linha 59: | Linha 59: | ||
Compile o ambiente '''armv6j-hardfloat-linux-gnueabi''' usando o crossdev: | Compile o ambiente '''armv6j-hardfloat-linux-gnueabi''' usando o crossdev: | ||
crossdev --ov-output /usr/local/portage-crossdev --stable armv6j-hardfloat-linux-gnueabi | crossdev --ov-output /usr/local/portage-crossdev --stable armv6j-hardfloat-linux-gnueabi | ||
ou | |||
crossdev --stable armv6j-hardfloat-linux-gnueabi --gcc 4.6.2-r1 --libc 2.15-r4 --binutils 2.21.1-r1 | |||
Edição das 11h17min de 27 de outubro de 2013
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
ou
crossdev --stable armv6j-hardfloat-linux-gnueabi --gcc 4.6.2-r1 --libc 2.15-r4 --binutils 2.21.1-r1