Radix
Среда разработки встроенных систем или дистрибутивов на основе GNU/Linux.
Собственная система сборки позволяет создавать приложения для целевых
устройств различной архитектуры и назначения, от микроконтроллеров до
серверов общего назначения.
Cross Linux
Дистрибутив Radix Linux для встроенных систем,
построенный на классических принципах кросс-разработки.
Наряду с возможностью простой инсталляции, путем прошивки внутренней памяти,
данный дистрибутив обладает пакетным менеджером, позволяющим устанавливать
отдельные пакеты, не нарушая при этом целостности операционной системы.
Radix Platform
Основной
репозиторий платформы
Radix.Linux
содержит сценарии сборки дистрибутива, который обладает наиболее полной
функциональностью. Разработка специальных систем может основываться на
других принципах. Однако в случае создания компактных систем, основной
репозиторий
будет полезен как источник шаблонов для сценариев сборки отдельных
компонентов программного обеспечения.
BFK 3.1 is a single board computer powered by Baikal-T1 microprocessor with
1.2GHz Two P5600 MIPS 32r5 cores, L2 1 Mbyte cache, DDR3-1600 memory controller,
PCIe Gen.3 controller, 1 port: 10 Gb Ethernet and 2 ports: 1 Gb Ethernet.
Khadas Vim is a miniature single-board computer powered by Amlogic S905X SoC with
2.0 GHz 64Bit Quad-Core CPU ARM® Cortex™-A53 and 750MHz+ Penta Core ARM®
Mali™-450 GPU.
The MIPS Creator CI20 platform is a feature laden MIPS/Imagination Linux and Android
development system. It incorporates an Ingenic JZ4780 SoC which includes a 1.2GHz dual
core MIPS32 processor and Imagination PowerVR SGX540 GPU.
Enybox X2 is a miniature TV Box made in aluminum case and powered by SoC Amlogic S912
with 1.5 GHz 64Bit Octa-Core CPU ARM® Cortex™-A53 and 750MHz+ ARM®
Mali™-T820MP3 GPU.
Firefly-RK3288 is a Development Board powered by RK3288 SoC with 1.8 GHz Quad-Core CPU
ARM® Cortex™-A17 and Mali™-T764 GPU with support for OpenGL ES
1.1/2.0/3.0, OpenVG1.1, OpenCL, Directx11.
ODROID-C2 is a 64-bit single board computer with Amlogic ARM® Cortex™-A53(ARMv8)
1.5Ghz quad core CPU, Mali™-450 GPU (3 Pixel-processors + 2 Vertex shader processors),
2Gbyte DDR3 SDRAM and Gigabit Ethernet.
The Nit6Q board is one of the boards included into Nitrogen6X line from Boundary Devices
company. This is a single board computer based on the Quad-core 1.0GHz ARM®
Cortex™-A9 processor and Vivante™ GC2000 Accelerated 2D/3D Graphics.
The OMAP5432 EVM board from Texas Instruments is an evaluation module featuring a dual
core 1.5GHz ARM® Cortex™-A15 MPCore™ processor and a dual core
PowerVR® SGX544 3D graphics processor.
The Cubieboard is a feature laden ARM® Linux and Android development system. It
incorporates an Allwinner A10 SoC which includes a 1.0GHz ARM® Cortex™-a8
processor and ARM® Mali™-400 GPU.
The Cubietrack is a feature laden ARM® Linux and Android development system. It
incorporates an Allwinner A20 SoC which includes a dual-core ARM® Cortex™-a7
processor and ARM® Mali™-400 MP2 GPU.
The MinnowBoard MAX/Turbot is a compact and affordable open source hardware platform that
puts the power of a 64-bit Intel® Atom™ E38xx Series System on a Chip (SoC) in
a small but versatile form factor.
Supported Hardware
Поддерживая множество устройств с различной архитектурой, мы стараемся не только обеспечить
монолитность создаваемых дистрибутивов с точки зрения межпакетных зависимостей, но и примерно
одинаковую функциональность целевой системы. Краткий перечень поддерживаемых устройств можно
найти в разделе Devices.
Создание любого дистрибутива начинается с осознания того, что количество пакетов, которые необходимы
для работы современных операционных систем, уже давно перевалило за сотни. Если посмотреть, например,
на любой популярный дистрибутив Linux, то в его репозитории можно обнаружить несколько тысяч, а то
и десятков тысяч пакетов, разработанных разными людьми и, что не маловажно, с применением различных
систем автоматизации сборки. То есть дело не только в количестве пакетов, но и в том, что создателю
дистрибутива необходимо поддерживать еще и несколько систем автоматизации сборки. Далее возникает
вопрос поддержки различных архитектур целевых устройств и еще множество вопросов, количество которых
растет по мере погружения в суть с виду простой задачи построения собственного дистрибутива или
задачи портирования Linux на какое-либо устройство.
Система сборки передназначена
для создания дистрибутивов операционных систем, работающих на устройствах с различной архитектурой.
Система предоставляет возможность независимой разработки и быстрой сборки продуктов в условиях, когда
существует набор целевых устройств с разной архитектурой. Подключение кросс-компиляторов осуществляется
автоматически согласно списку целевых устройств, заданного разработчиком в начале сценария сборки.
Процесс создания отдельных пакетов программ в среде
Radix.Linux,
с точки зрения сборки, инсталляции и деинсталляции пакетов на целевой файловой системе, практически
ни чем не отличается от обычной работы на персональной машине в однородной среде. Так, после сборки
пакета и его инсталяции на целевую файловую систему, разработчик может деинсталлировать пакет,
а также очистить кросс-окружение для того, чтобы другие программы во время сборки считали, что
данный пакет не существует в системе.
Toolchains
Для всех поддерживаемых устройств мы создаем специальные средства разработки. Это позволяет
обеспечить монолитность системы и избежать потенциальных ошибок, связанных с версионностью
компонуемых библиотек. Так например, если toolchain создан на базе ядра
Linux и GNU Libc
определенных версий, то и целевая система будет разрабатываться на основе именно этих версий.
Не менее важным является тот факт, что если мы будем использовать toolchain-ы сторонних
производителей, то мы попадем в полную зависимость от версий базовых компонентов системы,
на основе которых собран тот или иной toolchain. Однако если у пользователя
Системы сборки
Radix.Linux
есть собственные наборы toolchain-ов, то их подключение и использование не составит для
него большого труда. Весь процесс подключения новых toolchain-ов описан в разделе
«New Toolchain Connection»
вводной статьи.
Возможность получения исходного кода программы является необходимым условием свободного
распространения продукта, однако этого не достаточно для того, чтобы продукт стал действительно
свободным. Особенно это касается сложных продуктов, где из-за большого объема исходного кода
изучение продукта становится физически невозможным, что, в свою очередь, препятствует
совершенствованию продукта другими инженерами. Даже наличие вразумительной сопровождающей
документации не может в полной мере обеспечить полное владение продуктом со стороны пользователей.
Наш подход состоит в том, что помимо исходного кода мы стараемся предоставить
исходные идеи, которые были положены в основу создания
продукта. Только информация о фундаментальных принципах работы системы может сделать пользователя
полноправным владельцем.
Если вы разрабатываете устройства или линейки устройств на базе микропроцессоров
и вам необходим собственный, легко поддерживаемый GNU/Linux дистрибутив, настроенный
для работы на вашем оборудовании в соответствии с требованиями заказчиков, то вы
можете рассчитывать на нашу поддержку.
Мы разработаем для вас дистрибутив, переносимый на все ваши устройства, а также создадим
для ваших инженеров удобную среду, удовлетворяющую современным требованиям CM, CI,
Continuous Delivery и Release Management.
Вы сможете обновлять программное обеспечение до самых свежих оригинальных версий,
что особенно важно для новейших архитектур, поддержка которых обеспечивается только
в последних версиях ядра Linux и коллекции компиляторов GNU.
Вы также можете рассчитывать на поддержку в вопросах, связанных с инсталляцией и обновлением
программного обеспечения на стороне заказчика.