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 при передаче исходящей почты.
Статья была написана как рабочие заметки на память.
Читать далее: https://radix-linux.su/blog/index.php?date=2024-11-09&post=00
В следующей статье рассматривается настройка почтового сервера в части, касающейся политики SMTP MTA Strict Transport Security (MTA-STS). MTA-STS — стандарт, который был разработан для обеспечения использования TLS для подключений между почтовыми серверами. Крупные провайдеры почтовых служб, такие как Google, давно используют политику MTA-STS, описанную в стандарте RFC 8461. В нашей стране, среди первых оказалась служба Mail.ru, которая с 2020 года начала применять MTA-STS.
Здесь рассмотрен лишь частный случай настройки собственного почтового сервера, касающийся только приема вхдящей почты. Известно, что не все OpenSource почтовые серверы поддерживают политику MTA-STS при передаче исходящей почты.
Статья была написана как рабочие заметки на память.
Читать далее: https://radix-linux.su/blog/index.php?date=2024-11-09&post=00
👍3
Rust Custom Triplet
Если вы создаете новую систему или собственный GNU/Linux дистрибутив, вам может понадобится иметь собственный целевой триплет. Например, x86_64-radix-linux-gnu для CPU Intel или AMD.
Целевые триплеты описывают платформу, на которой выполняется код, и являются основной концепцией системы сборки GNU. Обычно триплет содержит три поля: название семейства/модели CPU, поставщика и имя операционной системы. Кроме того, триплет может иметь дополнительное поле, отражающее Application Binary Interface (ABI), например: gnu, gnueabihf, gnu_ilp32.
В данной статье приведен простой пример добавления компиляторам Clang и Rust нового целевого триплета.
Читать далее: https://radix-linux.su/blog/?date=2024-11-11&post=00
Оставив коментарий, вы попадете в RcL-chat, где сможете задать вопросы или сделать замечания.
Enjoy.
Если вы создаете новую систему или собственный GNU/Linux дистрибутив, вам может понадобится иметь собственный целевой триплет. Например, x86_64-radix-linux-gnu для CPU Intel или AMD.
Целевые триплеты описывают платформу, на которой выполняется код, и являются основной концепцией системы сборки GNU. Обычно триплет содержит три поля: название семейства/модели CPU, поставщика и имя операционной системы. Кроме того, триплет может иметь дополнительное поле, отражающее Application Binary Interface (ABI), например: gnu, gnueabihf, gnu_ilp32.
В данной статье приведен простой пример добавления компиляторам Clang и Rust нового целевого триплета.
Читать далее: https://radix-linux.su/blog/?date=2024-11-11&post=00
Оставив коментарий, вы попадете в RcL-chat, где сможете задать вопросы или сделать замечания.
Enjoy.
👍3
Некоторые посты отправляются на Dzen https://dzen.ru/rxlinux (не знаю, полезно ли это кому-нибудь).
Дзен
Radix cross Linux | Дзен
Канал автора «Radix cross Linux» в Дзен ⭐: Linux distribution for embedded systems and personal computers.
🔥2
Система сборки
Сборка дистрибутива Radix cross Linux осуществляется собственной системой сборки, которая, в свою очередь, является вполне самостоятельным продуктом.
Любой разработчик может воспользоваться нашей системой сборки, поддерживающей богатый набор инструментов, для создания собственных программ.
Система сборки Radix cross Linux достаточно подробно описана на странице Overview.
Здесь мы рассмотим новые аспекты использования системы сборки на простых примерах "Здравствуй, Мир!" для создания независимых пользовательских приложений с применением набора инструментариев Radix cross Linux.
Предыдущие версии системы сборки не подразумевали использования компиляторов Clang и Rust как основных cross-компиляторов. Однако современные реалии привели нас к необходимости использования собственных инструментариев LLVM и RUST, но не в качестве основных.
Дело в том, что множество современных пакетов прикладных программ, помимо GCC, используют компиляторы языка Rust и набор LLVM. Разработчиков привлекает тот момент, что для поддержки множества архитектур целевых устройств достаточно установить одно средство, вместо использования нескольких инструментариев (Toolchain), собранных из исходного кода GCC.
Читать далее ≫
Telegram: @rxlinux
Сборка дистрибутива Radix cross Linux осуществляется собственной системой сборки, которая, в свою очередь, является вполне самостоятельным продуктом.
Любой разработчик может воспользоваться нашей системой сборки, поддерживающей богатый набор инструментов, для создания собственных программ.
Система сборки Radix cross Linux достаточно подробно описана на странице Overview.
Здесь мы рассмотим новые аспекты использования системы сборки на простых примерах "Здравствуй, Мир!" для создания независимых пользовательских приложений с применением набора инструментариев Radix cross Linux.
Предыдущие версии системы сборки не подразумевали использования компиляторов Clang и Rust как основных cross-компиляторов. Однако современные реалии привели нас к необходимости использования собственных инструментариев LLVM и RUST, но не в качестве основных.
Дело в том, что множество современных пакетов прикладных программ, помимо GCC, используют компиляторы языка Rust и набор LLVM. Разработчиков привлекает тот момент, что для поддержки множества архитектур целевых устройств достаточно установить одно средство, вместо использования нескольких инструментариев (Toolchain), собранных из исходного кода GCC.
Читать далее ≫
Telegram: @rxlinux
👍2
Статья "Здравствуй, Мир!", на Habr-е, получила 5 голосов: 2 - за, 3 - против. Причина, которую выдал мне Habr, выглядит странно: Ничего не понял после прочтения - 33.33% ; Другое - 66.67%.
Пролистали до конца: 20.6%
Прочитали четверть текста: 9%
Дочитали: 1.4%
Подскажите, что я сделал не правильно?
Пролистали до конца: 20.6%
Прочитали четверть текста: 9%
Дочитали: 1.4%
Подскажите, что я сделал не правильно?
Следующая статья будет о сборке прошивок для микроконтроллеров GD32VF103 от GigaDevice (опять же с помощью Системы сборки).
У меня еще один вопрос. А дело вот в чем. Я никогда не соревновался с такими продуктами как Yocto и BuildRoot (у меня всего 1000 поддерживаемых пакетов). Но вот система сборки не уступает.
Что будет если я скажу, что build-system может выступать как замена Yocto и BuildRoot ?
https://openhub.net/p/radix
Что будет если я скажу, что build-system может выступать как замена Yocto и BuildRoot ?
https://openhub.net/p/radix
Система сборки (подключение инструментов)
В этой статье мы рассмотрим, как подключить к системе сборки новый toolchain и использовать его в работе над проектом простого приложения для платы Longan Nano на базе микроконтроллера GD32VF103CBT6 от компании GigaDevice.
Система сборки создавалась для обеспечения параллельной сборки множества прошивок для линеек различных устройств, построенных на CPU с разными архитектурами. Однако если возникает необходимость, к ней можно подключать новые устройства. Именно этот процесс мы и рассмотрим.
Ведь у каждого Bare-metal разработчика наверняка в шкафу лежит масса всяческих плат и проводочков, но, для каждого из них, проекты исходников разбросаны по разным каталогам и найти нужный, со временем, становится все труднее и труднее.
Если в проектах, основанных на Yocto или BuildRoot, вы поставляете свой код в чужой репозиторий, то здесь наоборот, вы подключаете систему сборки к своему дереву каталогов, где хранятся ваши личные проекты. Одним словом, система сборки дает вам несколько иной уровень независимости, ну и про импортозамещение тоже забывать нельзя.
Читать далее »
Telegram: @rxlinux
В этой статье мы рассмотрим, как подключить к системе сборки новый toolchain и использовать его в работе над проектом простого приложения для платы Longan Nano на базе микроконтроллера GD32VF103CBT6 от компании GigaDevice.
Система сборки создавалась для обеспечения параллельной сборки множества прошивок для линеек различных устройств, построенных на CPU с разными архитектурами. Однако если возникает необходимость, к ней можно подключать новые устройства. Именно этот процесс мы и рассмотрим.
Ведь у каждого Bare-metal разработчика наверняка в шкафу лежит масса всяческих плат и проводочков, но, для каждого из них, проекты исходников разбросаны по разным каталогам и найти нужный, со временем, становится все труднее и труднее.
Если в проектах, основанных на Yocto или BuildRoot, вы поставляете свой код в чужой репозиторий, то здесь наоборот, вы подключаете систему сборки к своему дереву каталогов, где хранятся ваши личные проекты. Одним словом, система сборки дает вам несколько иной уровень независимости, ну и про импортозамещение тоже забывать нельзя.
Читать далее »
Telegram: @rxlinux
Добавлен в лист ожидания на distrowatch.com:
New distributions added to waiting list:
Radix Cross Linux. Radix Cross Linux is a Russian distribution built for embedded devices and cross-compiling to a variety of CPU architectures.
https://distrowatch.com/weekly.php?issue=20241028#waiting
New distributions added to waiting list:
Radix Cross Linux. Radix Cross Linux is a Russian distribution built for embedded devices and cross-compiling to a variety of CPU architectures.
https://distrowatch.com/weekly.php?issue=20241028#waiting
Distrowatch
DistroWatch.com: Put the fun back into computing. Use Linux, BSD.
News and feature lists of Linux and BSD distributions.
👍2
Blue Pill (STM32F103C8T6)
Подключил к системе сборки Toolchain arm-none-eabi и пример для платы Blue Pill.
Пример можно найти на ветке Radix cross Linux 1.11 в каталоге doc/examples/hello-blue-pill.
Добавил краткую инструкцию по прошивке.
Не пропадать же добру!
Telegram: @rxlinux
Подключил к системе сборки Toolchain arm-none-eabi и пример для платы Blue Pill.
Пример можно найти на ветке Radix cross Linux 1.11 в каталоге doc/examples/hello-blue-pill.
Добавил краткую инструкцию по прошивке.
Не пропадать же добру!
Telegram: @rxlinux
👍3
В Телеге не разрешают тематические разделы создавать в каналах до тех пор, пока число подписчиков не превысит 200 человек.
Но хотелось бы завести несколько диалогов:
- микроконтроллеры
- загрузчики
- GPU
- минималистичный сборки для встройки
- Desktop окружение
И т. д. и т. п.
Но хотелось бы завести несколько диалогов:
- микроконтроллеры
- загрузчики
- GPU
- минималистичный сборки для встройки
- Desktop окружение
И т. д. и т. п.
Кросс-компиляция NGINX (для случая GCC)
NGINX – это HTTP‑сервер и обратный прокси‑сервер, почтовый прокси‑сервер, а также TCP/UDP прокси‑сервер общего назначения, изначально написанный Игорем Сысоевым. Уже длительное время он обслуживает серверы многих высоконагруженных сайтов.
Однако кросс‑компиляция NGINX практически невозможна, поскольку разработанные Игорем Сысоевым скрипты конфигурирования исходного кода в большинстве случаев используют так называемую процедуру "Try Run".
Те кто знаком с утилитами Autoconf, Automake знают, что проверки необходимых параметров системы и кросс‑компилятора осуществляются различными процедурами, которые, в свою очередь, могут применять попытки сборки исходного кода (Try compile), компоновки объектных файлов (Try link) и, наконец, попытки запуска тестовых программ (Try Run).
Естественно, если речь идет о кросс‑сборке, операции "Try Run" недопустимы, ведь мы не можем запустить программу, собранную под целевую архитектуру отличающуюся от архитектуры машины сборки на самой машине сборки.
В Autotools проблемы, связанные с невозможностью запуска целевых программ на сборочной машине в некоторых случаях решаются кешированием переменных, которые могу быть переопределены пользователем в файле ‑‑cache‑file или заданы в командной строке вызова скрипта ./configure.
Скрипты Игоря Сысоева не предусматривают такого переопределения машинно‑зависимых величин. Однако величин, которые необходимо задать во время конфигурирования исходных кодов NGINX достаточно много. К ним, в первую очередь, относятся размеры типов данных. Именно с них мы и начнем.
Читать далее »
Telegram: @rxlinux
URL: https://radix-linux.su/
NGINX – это HTTP‑сервер и обратный прокси‑сервер, почтовый прокси‑сервер, а также TCP/UDP прокси‑сервер общего назначения, изначально написанный Игорем Сысоевым. Уже длительное время он обслуживает серверы многих высоконагруженных сайтов.
Однако кросс‑компиляция NGINX практически невозможна, поскольку разработанные Игорем Сысоевым скрипты конфигурирования исходного кода в большинстве случаев используют так называемую процедуру "Try Run".
Те кто знаком с утилитами Autoconf, Automake знают, что проверки необходимых параметров системы и кросс‑компилятора осуществляются различными процедурами, которые, в свою очередь, могут применять попытки сборки исходного кода (Try compile), компоновки объектных файлов (Try link) и, наконец, попытки запуска тестовых программ (Try Run).
Естественно, если речь идет о кросс‑сборке, операции "Try Run" недопустимы, ведь мы не можем запустить программу, собранную под целевую архитектуру отличающуюся от архитектуры машины сборки на самой машине сборки.
В Autotools проблемы, связанные с невозможностью запуска целевых программ на сборочной машине в некоторых случаях решаются кешированием переменных, которые могу быть переопределены пользователем в файле ‑‑cache‑file или заданы в командной строке вызова скрипта ./configure.
Скрипты Игоря Сысоева не предусматривают такого переопределения машинно‑зависимых величин. Однако величин, которые необходимо задать во время конфигурирования исходных кодов NGINX достаточно много. К ним, в первую очередь, относятся размеры типов данных. Именно с них мы и начнем.
Читать далее »
Telegram: @rxlinux
URL: https://radix-linux.su/
Дистрибутив Radix cross Linux не является разработкой "на основе". Все, начиная с инструментариев и заканчивая готовыми загрузочными образами, готовится самостоятельно из открытых исходных кодов с применением cross-компиляторов. Устройства, на которых работает система, выбираются исходя из наличия свободных драйверов и загрузчиков, а также возможности приобрести целевое оборудование в России.
ПО, авторы которого не предусмотрели возможность cross-сборки, не включается в состав системы.
В основном, дистрибутив предназначен для инженеров использующих одноплатные компьютеры в работе или в качестве хобби, напрмер, для организации домашней сети.
Загрузочные образы содержат локальный репозиторий пакетов и поэтому установка системы не требует подключения к сети Internet.
Telegram: @rxlinux
ПО, авторы которого не предусмотрели возможность cross-сборки, не включается в состав системы.
В основном, дистрибутив предназначен для инженеров использующих одноплатные компьютеры в работе или в качестве хобби, напрмер, для организации домашней сети.
Загрузочные образы содержат локальный репозиторий пакетов и поэтому установка системы не требует подключения к сети Internet.
Telegram: @rxlinux
Возможно ли выделить ту часть артефактов Radix, которые и являются собственно этим проектом? Какая на них лицензия (если есть)?
Разумеется можно. В проекте 4 основных репозитория:
1) sources - его клон расположен на FTP-сервере и служит для сбора оригинальных исходников из Internet (лицензия MIT).
2) Toolchains - здесь готовятся инструменты для сборки (лицензия MIT).
3) build-system - Система сборки (лицензия RADIX почти равна лицензии Apache v2 [но требование распространять главный принцип работы]), которая подключается к следующему репозиторию:
4) System - непосредственно репозиторий сборки дистрибутива (лицензия RADIX).
Первый репозиторий отчуждаемый, то есть пользователь может создать клон на собственном FTP-сервере и самостоятельно указать свой сервер как источник для репозиториев 2, 3, 4
Второй репозиторий, пользователь может клонировать и строить собственные toolchain-ы, если ему не хватает существующих.
Третий, - также доступен для самостоятельного использования, как написано в статье Система сборки.
Четвертый, - содержит сценарии сборки пакетов и создания образов Radix cross Linux. Данный репозиторий нацелен на сборку полной системы (возможна сборка по слоям: base, X11, MATE, ...).
Таким образом все сценарии сборки (артефакты Radix) находятся в 4-м репозитории и подпадают под лицензию (Radix cross Linux). Все используемые лицензии приведены на странице Licenses.
Разумеется можно. В проекте 4 основных репозитория:
1) sources - его клон расположен на FTP-сервере и служит для сбора оригинальных исходников из Internet (лицензия MIT).
2) Toolchains - здесь готовятся инструменты для сборки (лицензия MIT).
3) build-system - Система сборки (лицензия RADIX почти равна лицензии Apache v2 [но требование распространять главный принцип работы]), которая подключается к следующему репозиторию:
4) System - непосредственно репозиторий сборки дистрибутива (лицензия RADIX).
Первый репозиторий отчуждаемый, то есть пользователь может создать клон на собственном FTP-сервере и самостоятельно указать свой сервер как источник для репозиториев 2, 3, 4
Второй репозиторий, пользователь может клонировать и строить собственные toolchain-ы, если ему не хватает существующих.
Третий, - также доступен для самостоятельного использования, как написано в статье Система сборки.
Четвертый, - содержит сценарии сборки пакетов и создания образов Radix cross Linux. Данный репозиторий нацелен на сборку полной системы (возможна сборка по слоям: base, X11, MATE, ...).
Таким образом все сценарии сборки (артефакты Radix) находятся в 4-м репозитории и подпадают под лицензию (Radix cross Linux). Все используемые лицензии приведены на странице Licenses.
👍2
Следует добавить, если заказчик решит построить сборку собственного дистрибутива на собственных серверах, то мы можем оказать ему полное содействие (даже название можно сменить, если дистрибутив заказчика будет нацелен на другие задачи, не совпадающие с целями Radix cross Linux, и не будет конкурировать). Но это отдельная тема.
Прискорбно наблюдать, как в GNU Compiler Collection (GCC) добавляют компиляторы не заботясь о кросс-сборке. Так, например, компилятор Modula-2 не кросс-компиляемый. Во время конфигурирования просто забыли добавить —host триплет (что приводит к ошибке сразу) и, кроме того, утилиты mlink, mc, которые должны работать на build-машине, собираются кроссом на целевую машину. В результате, естественно, происходит ошибка при запуске mlink на build-машине (во время сборки GCC).
Подобных ошибок множество, например, при компоновке библиотеки gmp использутся левые build, host, target триплеты и без наложения pathch-ей на Makefile.in собрать кроссом GCC не получится.
Люди забывают, что (в случае GCC):
—build - это машина, на которой собирают GCC;
—host - это машина, на которой будет работать собранная коллекция компиляторов (GCC);
—target - это машина, для которой готовятся программы с помощью GCC на host-машине.
В общем, компилятор Modula-2 не готов и в сборку GCC добавлен не будет.
Rust, вообще не понятно зачем, добавили в GCC. Он (тот что в составе GCC) вообще не может готовить программы.
Отрадно то, что к компилятору языка D, в составе GCC, нет никаких претензий. Разве что runtime у него великоват.
Подобных ошибок множество, например, при компоновке библиотеки gmp использутся левые build, host, target триплеты и без наложения pathch-ей на Makefile.in собрать кроссом GCC не получится.
Люди забывают, что (в случае GCC):
—build - это машина, на которой собирают GCC;
—host - это машина, на которой будет работать собранная коллекция компиляторов (GCC);
—target - это машина, для которой готовятся программы с помощью GCC на host-машине.
В общем, компилятор Modula-2 не готов и в сборку GCC добавлен не будет.
Rust, вообще не понятно зачем, добавили в GCC. Он (тот что в составе GCC) вообще не может готовить программы.
Отрадно то, что к компилятору языка D, в составе GCC, нет никаких претензий. Разве что runtime у него великоват.
❤1
Baikal-M (BE-1000)
На базе SoC BE-M1000 компании «Байкал Электроникс» создано множество материнских плат и плат для встроенных систем. Наверное, самыми распространенными можно считать материнские платы Эдельвейс TF307.
Сам SoC BE-1000 имеет восемь ядер Arm® Cortex™-A57, работающих на частоте 1.5 GHz, и поддерживает кэш L1, L2, and L3. Видеоподсистема включает два контроллера (LVDS and HDMI), а также HD видео декодер. Графический ускоритель Arm Mali™-T628 содержит восемь ядер.
Также SoC BE-M1000 содержит два контроллера памяти DDR3/4 и множество интерфейсов: PCIe Gen3, 10 Gb Ethernet, 1 Gb Ethernet, USB 3.0, USB 2.0, SATA 6G, eMMC/SD, I2S, SPI, UART, I2C, GPIO, и так далее. SoC соответствует технологии Arm TrustZone® и предоставляет все возможности, необходимые для создания надежных систем.
Мы получили плату TF307-MB-S-D Rev. 4.0 от компании BaikalElectronics и портировали на нее систему Radix cross Linux.
Читать далее »
Telegram: @rxlinux
На базе SoC BE-M1000 компании «Байкал Электроникс» создано множество материнских плат и плат для встроенных систем. Наверное, самыми распространенными можно считать материнские платы Эдельвейс TF307.
Сам SoC BE-1000 имеет восемь ядер Arm® Cortex™-A57, работающих на частоте 1.5 GHz, и поддерживает кэш L1, L2, and L3. Видеоподсистема включает два контроллера (LVDS and HDMI), а также HD видео декодер. Графический ускоритель Arm Mali™-T628 содержит восемь ядер.
Также SoC BE-M1000 содержит два контроллера памяти DDR3/4 и множество интерфейсов: PCIe Gen3, 10 Gb Ethernet, 1 Gb Ethernet, USB 3.0, USB 2.0, SATA 6G, eMMC/SD, I2S, SPI, UART, I2C, GPIO, и так далее. SoC соответствует технологии Arm TrustZone® и предоставляет все возможности, необходимые для создания надежных систем.
Мы получили плату TF307-MB-S-D Rev. 4.0 от компании BaikalElectronics и портировали на нее систему Radix cross Linux.
Читать далее »
Telegram: @rxlinux
🔥1
