Comments 12
Если возиться не хочется, то есть и уже готовые сборки под конкретную систему, например для Raspberry: https://gnutoolchains.com/raspberry/
И даже плагин (платный) для VisualStudio.
+2
хз, я даже ядро собирал прямо на малинке. Кстати, без кулера но с фрезерованным корпусом выше 70-71 не грелась
0
Подскажите, а чем вам Yocto не подошел? Там давно слой для малинки есть — подключил и собирай. Тем более сейчас это, по сути, стандарт для сборки Linux для embedded.
0
Как человек, который сам последние пару дней потратил на знакомство с crosstool-ng, запоздало подправлю автора в двух моментах:
1) Вы собрали не «кросс-компилятор», а т.н. toolchain, в состав которого в т.ч. входят с/с++ компиляторы под определённые архитектуры
2)«Вообще-то Raspberry Buster OS уже сейчас имеет ядро 5.10, но максимум, что можно поставить это только 4.20»
Применительно конкретно к crosstool-ng собирать эти toolchain-ы (и следовательно компилировать код) вы можете под любые версии linux, чьи исходники вам доступны. Для этого в опции со списком доступных версий ядер, который на данный момент действительно заканчивается на 4.20, имеет возможность прописать руками путь к архиву исходников с той версией, которая нужна именно вам.
1) Вы собрали не «кросс-компилятор», а т.н. toolchain, в состав которого в т.ч. входят с/с++ компиляторы под определённые архитектуры
2)«Вообще-то Raspberry Buster OS уже сейчас имеет ядро 5.10, но максимум, что можно поставить это только 4.20»
Применительно конкретно к crosstool-ng собирать эти toolchain-ы (и следовательно компилировать код) вы можете под любые версии linux, чьи исходники вам доступны. Для этого в опции со списком доступных версий ядер, который на данный момент действительно заканчивается на 4.20, имеет возможность прописать руками путь к архиву исходников с той версией, которая нужна именно вам.
0
Добрый! alelam Следую рекомендациям статьи, отличие у меня в том, что стоит официальная сборка Ubuntu 21 на rpi3, на моём ноутбуке (мне слово ноутбук нравится больше слова хост-машина) стоит Ubuntu 20. Дошёл до пункта "4) Собираем crosstool-ng:", вместо make install пытаюсь использовать sudo checkinstall. Получаю шквал ошибок
gzip: /usr/local/share/man/man1/ct-ng.1: No such file or directory
gmake[3]: *** [Makefile:3268: install-data-hook] Error 1
gmake[3]: Leaving directory '/home/a/Downloads/cross-ng/crosstool-ng-1.24.0'
gmake[2]: *** [Makefile:3173: install-data-am] Error 2
gmake[2]: Leaving directory '/home/a/Downloads/cross-ng/crosstool-ng-1.24.0'
gmake[1]: *** [Makefile:3122: install-am] Error 2
gmake[1]: Leaving directory '/home/a/Downloads/cross-ng/crosstool-ng-1.24.0'
make: *** [Makefile:2817: install-recursive] Error 1
**** Installation failed. Aborting package creation.
Restoring overwritten files from backup.../usr/bin/checkinstall: line 95: /usr/bin/gettext: No such file or directory
/usr/bin/checkinstall: line 102: /usr/bin/gettext: No such file or directory
/usr/bin/checkinstall: line 319: /usr/bin/rm: No such file or directory
/usr/bin/checkinstall: line 320: /usr/bin/rm: No such file or directory
/usr/bin/checkinstall: line 95: /usr/bin/gettext: No such file or directory
Не понимаю почему. Думаю ладно, пробую таки make install:
sudo make install
bash: /usr/bin/sudo: No such file or directory
Видимо crosstool-ng-1.24.0 чего-то не знает об устройстве современной Ubuntu, раз пытается класть в несуществующие папки? Что делать?
0
У меня опыта на вашем фоне кот наплакал в таких вещах. На вскидку только могу отметить 3 момента:
1)кроме упомянутых автором мне на хост с Ubuntu 16.04 для сборки ct-ng потребовалось доустановить ещё явно makeinfo и libtool-doc.
2)при компиляции crosstool-ng задействуются 3 папки — собственно папка с исходниками, папка со скомплированным бинарником утилиты, которую можно перед make-ом через ./configure --prefix=/path_to_ct-ng и папка /x-tools с конкретным toolchain-ом, которая по умолчанию в /home/user_name создаётся (пути к двум последним можно емнип и в конфигах задавать)
3)хотел спросить зачем всё через sudo делать, но потом вспомнил, что это возможно фишка у малинок
1)кроме упомянутых автором мне на хост с Ubuntu 16.04 для сборки ct-ng потребовалось доустановить ещё явно makeinfo и libtool-doc.
2)при компиляции crosstool-ng задействуются 3 папки — собственно папка с исходниками, папка со скомплированным бинарником утилиты, которую можно перед make-ом через ./configure --prefix=/path_to_ct-ng и папка /x-tools с конкретным toolchain-ом, которая по умолчанию в /home/user_name создаётся (пути к двум последним можно емнип и в конфигах задавать)
3)хотел спросить зачем всё через sudo делать, но потом вспомнил, что это возможно фишка у малинок
0
Sign up to leave a comment.
Кросс-компилятор для Raspberry Pi4