Система сборки (подключение инструментов)
В этой статье мы рассмотрим, как подключить к системе сборки новый toolchain и использовать его в работе над проектом простого приложения для платы Longan Nano на базе микроконтроллера GD32VF103CBT6 от компании GigaDevice.
Система сборки создавалась для обеспечения параллельной сборки множества прошивок для линеек различных устройств, построенных на CPU с разными архитектурами. Однако если возникает необходимость, к ней можно подключать новые устройства. Именно этот процесс мы и рассмотрим.
Ведь у каждого Bare-metal разработчика наверняка в шкафу лежит масса всяческих плат и проводочков, но для каждого из них проекты исходников разбросаны по разным каталогам и найти нужный со временем становится все труднее и труднее.
Если в проектах, основанных на Yocto или BuildRoot, вы поставляете свой код в чужой репозиторий, то здесь наоборот, вы подключаете систему сборки к своему дереву каталогов, где хранятся ваши личные проекты. Одним словом, система сборки дает вам несколько иной уровень независимости, ну и про импортозамещение тоже забывать нельзя.
tags
Система сборки (примеры)
Система сборки Radix cross Linux достаточно подробно описана на странице Overview.
Здесь мы рассмотим новые аспекты использования системы сборки на простых примерах "Здравствуй, Мир!" для создания независимых пользовательских приложений с применением набора инструментариев Radix cross Linux.
Предыдущие версии системы сборки не подразумевали использования компиляторов Clang и Rust как основных cross-компиляторов. Однако современные реалии привели нас к необходимости использования собственных инструментариев LLVM и RUST, но не в качестве основных (поясним это далее).
Дело в том, что множество современных пакетов прикладных программ, помимо GCC, используют компиляторы языка Rust и набор LLVM. Разработчиков привлекает тот момент, что для поддержки множества архитектур целевых устройств достаточно установить одно средство, вместо использования нескольких инструментариев (Toolchain), собранных из исходного кода GCC.
tags
Rust Custom Triplet
Целевые триплеты описывают платформу, на которой выполняется код, и являются основной концепцией системы сборки GNU. Обычно триплет содержит три поля: название семейства/модели CPU, поставщика и имя операционной системы. Кроме того, триплет может иметь дополнительное поле, отражающее Application Binary Interface (ABI), например: gnu, gnueabihf, gnu_ilp32.
Просмотреть целевой триплет текущей системы можно с помощью команды `gcc -dumpmachine':
bash-5.1$ gcc -dumpmachine x86_64-slackware-linux
Если вы создаете новую систему или собственный GNU/Linux дистрибутив, у вас может возникнуть необходимость иметь собственный целевой триплет. Например, x86_64-radix-linux-gnu для CPU Intel или AMD.
tags
MTA-STS
В данной статье мы рассмотрим настройку почтового сервера в части, касающейся политики SMTP MTA Strict Transport Security (MTA-STS). MTA-STS — стандарт, который был разработан для обеспечения использования TLS для подключений между почтовыми серверами. Крупные провайдеры почтовых служб, такие как Google, давно используют политику MTA-STS, описанную в стандарте RFC 8461. В нашей стране, среди первых оказалась служба Mail.ru, которая с 2020 года начала применять MTA-STS.
Мы рассмотрим лишь частный случай настройки собственного почтового сервера, касающийся только приема вхдящей почты. Известно, что не все OpenSource почтовые серверы поддерживают политику MTA-STS при передаче исходящей почты.
tags
Radix cross Linux 1.9.402
В связи с переходом на новое доменое имя RADIX-LINUX.SU был собран выпуск 1.9.402, основанный на коллекции GCC-12.2.0, binutils-2.40 и GNU Libc 2.37.
Компилятор GNU C++ версии 12.2.0 более не позволяет собирать новейшие версии браузера Chromium, и поэтому необходим переход на версию GCC-14.2.0. Таким образом, выпуск Radix cross Linux 1.9.402 является завершающим в серии 1.9.x.