4

Я пытаюсь скомпилировать OpeniBoot на устройстве ARM, а именно PocketCHIP, в соответствии с данным руководством (но с некоторыми незначительными изменениями, учитывая, что я не использую Raspberry Pi.). OpeniBoot - это специальный низкоуровневый загрузчик, предназначенный для установки на устройства Apple, такие как iPod Touch или iPhone. Это позволяет пользователю запускать ядро Linux вместе со стандартным ядром iOS, а также выполнять другие операции низкого уровня.

Мне удалось скомпилировать и установить почти все перечисленные зависимости, чтобы скомпилировать бинарный файл для OpeniBoot. Однако при запуске scons iPhone4 я получаю сообщение об ошибке:

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.

Я исследовал эту ошибку, и я нашел это решение:

Исправлено это путем добавления «-mcpu = cortex-a8» к опциям компилятора.

Я уже пытался добавить опцию к самой команде scons, используя синтаксис, подобный следующему:

scons -mcpu=cortex-a8 iPhone4

но безрезультатно.

Итак, вопрос: как я могу передать опции компилятору при использовании scons?

--РЕДАКТИРОВАТЬ--

С тех пор я решил этот вопрос, изменив строку в файле «ARMEnviroment.SConscript "на лайки этого:

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

Тем не менее, я теперь сталкиваюсь с новой ошибкой при компиляции:

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.

Я считаю, что это потому, что scons все еще использует старый набор инструментов, установленный с помощью apt-get , GCC-4.9.2, вместо того, чтобы использовать openiboot-toolchain (и я считаю, что это необходимо для компиляции этой программы).

Итак, вопрос в том, как мне изменить, какие scons инструментов используют для компиляции кода?

0