sed
раствор:
sed '10 s/.*/'"$(md5sum checkme.txt | cut -d' ' -f1)"'/' a.txt
10 s/.*/<md5sum result>/
-заменить содержимое 10-й строки Обычно для встраиваемых устройств программы не компилируются непосредственно на них. Удобнее делать то, что называется cross-compilation
, то есть компилировать на обычном ПК под другую архитектуру, чем x86.
Вы сказали, что вы новичок в Linux; к вашему сведению, вы столкнулись с огромной проблемой :кросс -компиляция для встроенных устройств — непростая работа.
Я изучил вашу систему HMI и заметил некоторые результаты, которые говорят о Yocto. Короче говоря,Yocto
— это целая структура для создания прошивки для встраиваемых устройств.
Поскольку ваш ЧМИ широко использует проекты с открытым исходным кодом, (Linux, возможно, busybox и т. д., )производитель должен предоставить вам способ перестроить все компоненты с открытым исходным кодом самостоятельно. Обычно для этого вам понадобитсяBSP
(Board Support Package). Производитель оборудования обычно отправляет его:
buildroot
, позволяющего пересобрать всю прошивку с нуля. yocto
, добавленных к новой копии соответствующего проекта yocto, также позволит вам пересобрать всю вашу прошивку. Так что, если бы я был тобой, я бы:
Погуглив еще больше, я обнаружил метаданные Yocto на github .
Вы можете проверить машины, реализуемые этой мета, в каталоге conf/machine мета.
В настоящее время определено пять машин под следующими кодовыми именами:
Итак, я предлагаю вам разобраться в этом. Это, вероятно, способ, которым вы можете создавать программное обеспечение самостоятельно. Вы также можете проверить эту страницу в учетной записи github, которая может дать вам еще несколько подсказок.
Я согласен с ответом бинарника относительно перекрестной -компиляции. Однако, если кто-то все еще хочет компилировать непосредственно на машине с таким консервативным оборудованием, я бы порекомендовал взглянуть на меньший компилятор, такой как Tiny C Compiler (tcc ), который занимает около 100 КБ на архитектуре x86.. Я укажу, однако, что он расширяет поддержку только до ISO C99, а не C11.