Tabela de conteúdos

Customizar o kernel do Angstrom

OpenEmbedded não é mais suportado. No lugar dele o Yocto Project deve ser usado. Como instalar o Yocto Project.

Criando diretório de trabalho

Para criar um kernel customizado da distribuição Angstrom, é preciso ter o ambiente OpenEmbedded instalado numa máquina de desenvolvimento. Para customizar um kernel sem corromper as recipes originais é necessário criar, na raiz do OE ($OVEROTOP) o diretório user.collection. Ele é uma cópia do diretório org.openembbeded.dev. O bitbake procura primeiro em user.collection e se não achar procura em org.openembbeded.dev.

$ cd $OVEROTOP
$ cp -r org.openembbed.dev/recipes/linux user.collection/recipes

Também deve-se copiar org.openembbed.dev/conf/machine/overo.conf.

$ mkdir user.collection/conf/
$ mkdir user.collection/conf/machine
$ cp org.openembedded/conf/machine/overo.conf user.collection/conf/machine

Customizações

${OVEROTOP}/user.collection/recipes/linux/linux-omap3/overo/defconfig

As configurações de recursos do kernel são feitas nesse arquivo. Ocasionalmente deve-se alterar alguma coisa em:

${OVEROTOP}/tmp/work/overo-angstrom-linux-gnueabi/linux-omap3-(versao utilizada)/git/arch/arm/mach-omap2/board-overo.c

Note que as alterações nesse arquivo são válidas apenas para aquela imagem em específico, e além disso elas só serão aplicadas se feitas por meio de patches (ver documentação sobre spidev). Para que estas definições sejam definitivas basta alterar ao invés desse o seguinte arquivo:

${OVEROTOP}/tmp/sysroots/overo-angstrom-linux-gnueabi/kernel/arch/arm/mach-omap2/board-overo.c

No aquivo ${OVEROTOP}/org.openembbed.dev/conf/machine/overo.conf pode-se alterar o PREFERRED_PROVIDER_virtual/kernel, que define qual branch de kernel será compilado, por exemplo 'linux-omap' ou 'linux-omap-pm'.