Ответ 1
Я предполагаю, что у вас есть устройство под управлением Linux и shell-access, но ни менеджер пакетов, ни компилятор не установлены.
Итак, вам нужно скомпилировать gcc и всю инструментальную цепочку (по крайней мере binutils) - это довольно просто, потому что скрипты ./configure
gcc, binutils, gdb и т.д. поддерживают кросс-компиляцию с помощью --target=
вариант. Итак, все, что вам нужно сделать, это выяснить целевую архитектуру (uname
help), а затем загрузить, распаковать gcc-источники на Linux-хосте и запустить ./configure --target=$YOUR_TARGET
.
С этим вы теперь можете построить кросс-компилятор gcc - это все еще выполняется на вашем хосте, но создает двоичные файлы для вашей целевой (брандмауэры).
Этого, возможно, уже достаточно для вас, обычный настольный ПК намного быстрее, чем обычный прибор, поэтому имеет смысл собрать все, что вам нужно на настольном ПК, с помощью кросс-компилятора и кросс-binutils.
Но если вы действительно этого хотите, теперь вы также можете использовать свой кросс-компилятор для компиляции gcc на вашей цели (установите это как --host=
) и скомпилируйте для своей цели (установите это как --target
опция).
Вы можете найти информацию о разрешенных хостах/целях и примерах в документации gcc: http://gcc.gnu.org/install/specific.html.