====== Yocto Project ======
Este {{:tutoriais:makefile.txt|Makefile}}, por exemplo, foi utilizado para compilar um módulo do Kernel para o Overo, utilizando um PC de desenvolvimento (x86 ou x86_64). Supoe-se que tenha o [[tutoriais:yocto_project|Yocto Project]] instalado. Modifique o Makefile de acordo com as suas necessidades.
====== OpenEmbedded======
OpenEmbedded não é mais suportado. No lugar dele o Yocto Project deve ser usado.[[tutoriais:yocto_project| Como instalar o Yocto Project]].
É possível compilar um programa para o Overo utilizando uma máquina x86/x86_64, através de compilação cruzada. Para isso você deve ter o ambiente [[tutoriais:open_embeddded|OpenEmbedded]] instalado. A forma mais direta é utilizando o compilador para ARM que se encontra na árvore do OpenEmbedded. No caso de uma máquina de 64 bits, o diretório é: $OVEROTOP/tmp/sysroots/x86_64-linux/usr/armv7a/bin/arm-angstrom-linux-gnueabi-gcc-4.3.3
Alternativamente pode-se criar um arquivo com o conteúdo
if [[ -z "${KERNEL_CROSS_BUILD_ENVIRONMENT_SOURCED}" ]]; then
MACHINE=overo
# normally OETMP will be ${OVEROTOP}/tmp, but really it is whatever TMPDIR
# in ${OVEROTOP}/build/conf/site.conf points to.
OETMP=${OVEROTOP}/tmp
# OETMP=/oe5
SYSROOTSDIR=${OETMP}/sysroots
STAGEDIR=${SYSROOTSDIR}/`uname -m`-linux/usr
export KERNELDIR=${SYSROOTSDIR}/${MACHINE}-angstrom-linux-gnueabi/kernel
PATH=${PATH}:${STAGEDIR}/bin:${STAGEDIR}/armv7a/bin
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
export ARCH="arm"
export CROSS_COMPILE="arm-angstrom-linux-gnueabi-"
export CC="arm-angstrom-linux-gnueabi-gcc"
export LD="arm-angstrom-linux-gnueabi-ld"
export STRIP="arm-angstrom-linux-gnueabi-strip"
export KERNEL_CROSS_BUILD_ENVIRONMENT_SOURCED="true"
echo "Altered environment for cross building a kernel module with OE tools."
else
echo "Cross build environment already configured."
fi
Salve-o, por exemplo com o nome overo-source-me.txt. Sempre que quiser mudar as configurações de compilação normal para compilação cruzada digite:
source overo-source-me.txt
Essa configuração vai ficar ativa até o fim da sessão.