Как мне скомпилировать что-нибудь для Linux, если у меня недостаточно места для установки GCC?

sedраствор:

sed '10 s/.*/'"$(md5sum checkme.txt | cut -d' ' -f1)"'/' a.txt
  • 10 s/.*/<md5sum result>/-заменить содержимое 10-й строки
23
12.12.2019, 04:21
2 ответа

Обычно для встраиваемых устройств программы не компилируются непосредственно на них. Удобнее делать то, что называется cross-compilation, то есть компилировать на обычном ПК под другую архитектуру, чем x86.

Вы сказали, что вы новичок в Linux; к вашему сведению, вы столкнулись с огромной проблемой :кросс -компиляция для встроенных устройств — непростая работа.

Я изучил вашу систему HMI и заметил некоторые результаты, которые говорят о Yocto. Короче говоря,Yocto— это целая структура для создания прошивки для встраиваемых устройств.

Поскольку ваш ЧМИ широко использует проекты с открытым исходным кодом, (Linux, возможно, busybox и т. д., )производитель должен предоставить вам способ перестроить все компоненты с открытым исходным кодом самостоятельно. Обычно для этого вам понадобитсяBSP(Board Support Package). Производитель оборудования обычно отправляет его:

  • Использование проекта buildroot, позволяющего пересобрать всю прошивку с нуля.
  • Использование метаданных yocto, добавленных к новой копии соответствующего проекта yocto, также позволит вам пересобрать всю вашу прошивку.
  • Реже — куча дрянных скриптов и предварительно -собранный компилятор.

Так что, если бы я был тобой, я бы:

  1. Обратитесь в службу поддержки производителя, чтобы запросить материалы для восстановления встроенного ПО, как это подразумевает использование открытого исходного кода.
  2. Параллельно поищите в Google «ваш ЧМИ + yocto», «ваш ЧМИ + buildroot» и т. д.

Погуглив еще больше, я обнаружил метаданные Yocto на github .

Вы можете проверить машины, реализуемые этой мета, в каталоге conf/machine мета.

В настоящее время определено пять машин под следующими кодовыми именами:

  • us01 -комплект
  • ус02 -комплект
  • us03 -комплект
  • usom01
  • usom02

Итак, я предлагаю вам разобраться в этом. Это, вероятно, способ, которым вы можете создавать программное обеспечение самостоятельно. Вы также можете проверить эту страницу в учетной записи github, которая может дать вам еще несколько подсказок.

63
27.01.2020, 19:41

Я согласен с ответом бинарника относительно перекрестной -компиляции. Однако, если кто-то все еще хочет компилировать непосредственно на машине с таким консервативным оборудованием, я бы порекомендовал взглянуть на меньший компилятор, такой как Tiny C Compiler (tcc ), который занимает около 100 КБ на архитектуре x86.. Я укажу, однако, что он расширяет поддержку только до ISO C99, а не C11.

3
27.01.2020, 19:41

Теги

Похожие вопросы