====== 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.