Se você está usando o PyMaemo deve ter reparado na mensagem de erro "sem_post: Function not implemented"
quando chama o Python2.5 no target ARMEL do Chinook. Isso tem a ver, entre outras coisas, com funcionalidades não implementadas na versão do Qemu usada no Scratchbox. O Lauro Venâncio reuniu os patches necessários pra modernizar esse bicho, criou um projeto no SourceForge e pretende mantê-los sincronizados com o head do CVS do Qemu até os caras se dignarem a implementar as melhorias.
Se você quer usar o Qemu ARM EABI em seu Scratchbox, siga as instruções abaixo. Lembre de fechar quaisquer seções abertas do Scratchbox.
Compilar o Qemu ARM EABI
Na máquina host, instale o gcc-3.4 e baixe o qemu com os patches já aplicados.
$ sudo apt-get install gcc-3.4
$ svn co https://qemu-arm-eabi.svn.sourceforge.net/svnroot/qemu-arm-eabi/trunk qemu-arm-eabi
$ cd qemu-arm-eabi
$ ./configure --target-list=arm-linux-user --static
$ make
Update: o luck sentiu falta da zlib no processo de compilação:
$ sudo apt-get install
zlib1g-dev
Update 2: o lauro resolveu organizar o repo dele, criando branches, tag e trunk. As instruções acima foram atualizadas.
Instalar no Qemu ARM EABI no Scratchbox
Como se pode ver, o binário gerado foi linkado estaticamente, então nada de dependências cabulosas, basta copiar para o lugar certo:
$ sudo cp arm-linux-user/qemu-arm /scratchbox/devkits/cputransp/bin/qemu-arm-eabi-sb2
Edite o cputransp-methods:
$ sudo vim /scratchbox/devkits/cputransp/etc/cputransp-methods
e adicione a linha:
qemu-arm-eabi-sb2
Depois edite o arquivo config do seu target (ou dos targets) ARMEL:
vim /scratchbox/users/USERNAME/targets/SDK_ARMEL.config
e altere a variável do método de transparência do CPU para:
SBOX_CPUTRANSPARENCY_METHOD=/scratchbox/devkits/cputransp/bin/qemu-arm-eabi-sb2
Veja também:
Pingback: Qemu ARM EABI no Scratchbox: O Script « Head Like a Hole