Como alterar quais sçs de toolchain utilizam

4

Estou tentando compilar o OpeniBoot em um dispositivo ARM, ou seja, o PocketCHIP, conforme este guia (abeto com algumas pequenas modificações, considerando que não estou usando um Raspberry Pi.). O OpeniBoot é um bootloader de baixo nível projetado para ser instalado em dispositivos Apple, como o iPod Touch ou iPhone. Ele permite que o usuário execute um kernel Linux ao lado do kernel do iOS padrão, bem como execute outras operações de baixo nível.

Eu consegui compilar e instalar quase todas as dependências listadas para compilar o binário do OpeniBoot. No entanto, ao executar scons iPhone4 , recebo um erro:

chip@chip:~/openiBoot$ scons iPhone4
...
arch-arm/asmhelpers.sx: Assembler messages:
arch-arm/asmhelpers.sx:212: Error: selected processor does not support 'wfi'
scons: *** [arch-arm/iPhone4_asmhelpers.o] Error 1
scons: building terminated because of errors.

Eu pesquisei esse erro e descobri esta solução :

Fixed it by adding "-mcpu=cortex-a8" to the compiler options.

Eu já tentei anexar a opção ao comando scons, em uma sintaxe semelhante a esta:

scons -mcpu=cortex-a8 iPhone4

sem sucesso.

Então a pergunta é: Como posso passar opções para o compilador ao usar scons ?

- EDITAR

Eu já resolvi essa questão, alterando uma linha no arquivo "ARMEnviroment.SConscript" para os gostos deste:

plat_flags = ['-mlittle-endian', '-mfpu=vfp', '-mthumb', '-mthumb-interwork', '-fPIC', '-mcpu=cortex-a8']

No entanto, vejo agora um novo erro ao compilar:

chip@chip:~/openiBoot$ scons iPhone4
...
arch-arm/entry.sx:0: error: bad value (cortex-a8) for -mcpu= switch
scons: *** [arch-arm/iPhone4_entry.o] Error 1
scons: building terminated because of errors.

Acredito que isso seja porque scons ainda está usando o conjunto de ferramentas antigo instalado com apt-get , GCC-4.9.2, em vez de usar o openiboot-toolchain que eu tinha compilado (e acredito que seja necessário para compilar este programa ).

Então a questão é, como eu altero qual toolchain scons usa para compilar o código?

    
por kittensauce 15.08.2017 / 14:50

0 respostas