Встраиваемая электроника обзавелась Linux, способной загружаться за доли секунды


Разработчик Эрик Моквист создал однофайловый дистрибутив Linux под названием Monolinux. Проект ориентирован на встраиваемые системы и одноплатные ПК, но для каждой модели необходимо собирать отдельную его версию. Запуск модификации для ПК Jiffy занимает всего 0,37 секунды.

Выпущен новый дистрибутив Linux, состоящий в буквальном смысле из одного файла. Над его созданием трудится девелопер Эрик Моквист (Erik Moqvist), ранее разработавший набор инструментов Cantools и платформу Simba.

Исходный код своей разработки Моквист опубликовал на сервисе GitHub, принадлежащем Microsoft. Код распространяется под лицензией открытого ПО Массачусетского технологического института (MIT), созданной в конце 80 годов XX века.

Согласно приложенному описанию, Monolinux создается для работы на встраиваемых системах, а его дистрибутив ориентирован на запуск программ, написанных на языке C и встроенных непосредственно в него.

По заявлению Эрика Моквиста, Monolinux представляет собой статически связанный исполняемый файл. При статическом связывании, в отличие от динамического, содержимое библиотек включается непосредственно в сам исполняемый файл, а не находится в отдельных файлах. Статическое связывание позволяет в том числе, исключить какие-либо конфликты версий этих файлов в целевой системе.

В составе файла Monolinux, утверждает разработчик, есть полноценное ядро Linux со всеми его возможностями, а также RAM-диск с программой для запуска и требуемыми для этого библиотеками.

Такой подход и позволил Моквисту создать однофайловый дистрибутив, в котором присутствуют все подсистемы ядра Linux, в том числе сетевой стек, драйверы для устройств компьютера, на котором он запускается, и алгоритмы работы с файловой системой. Моквист также привел список библиотек, поместившихся в его дистрибутив – это heatshrink, mbedTLS, xz, zlib, bitstream, curl, detools, humanfriendly и ml (си-библиотека Monolinux).

За основу своего детища Моквист взял дистрибутив Linux версии 4.14.78, несмотря на то, что в настоящее время самой актуальной является версия 5.7.4, вышедшая 18 июня 2020 г. В дистрибутиве используется минимальная его конфигурация, дополненная, в то же время, различными улучшениями. В частности, в составе есть патч для устранения задержек в работе драйвера флеш-памяти MMC, что позволяет Monolinux быстрее запускаться на встраиваемых системах с такой памятью.

В текущей версии Monolinux невозможно установить на любой подходящий компьютер. Эрик Моквист по подготовил две редакции своего дистрибутива, по одной для одноплатных компьютеров Raspberry Pi 3 и Jiffy, и попутно рассказал, как быстро загружается его творение в версии для Jiffy. Итоговый размер дистрибутива для этого ПК составил немногим больше 4,9 МБ – в него вошли ядро Linux (3,5 МБ), RAM-диск (1,4 МБ) и дерево устройств (4 КБ).

Одноплатный ПК Jiffy базируется на однокристальной системе i.MX6UL, в составе которой есть процессорный модуль ARMv7-A на 528 МГц. Также у компьютера имеются 1 ГБ оперативной памяти стандарта DDR3 и флеш-память eMMC на 4 ГБ. В такой конфигурации Jiffy позволяет Monolinux загружаться, по подсчетам разработчика, за 0,37 секунды – это промежуток времени с момента включения и до полной готовности файловой системы Ext4.

Jiffy, компьютер, на котором Monolinux запускается за треть секунды

0,37 секунды включают в себя 1 мс, затрачиваемые на аппаратную инициализацию системы на чипе, 184 мс на выполнение кода ПЗУ, 86 мс на отработку загрузчика, плюс еще 62 мс нужны для запуска ядра Linux. Оставшиеся 40 мс занимает активация файловой системы.

В качестве загрузчика автор проекта использовал бутлоадер Punchboot. Свой выбор он обосновал тем, что он работает достаточно быстро для Monolinux, хотя с другими загрузчиками, по его словам, он его в этом проекте не сравнивал.

На перезагрузку такой ПК под управлением Monolinux затрачивает еще меньше времени – 0,26 секунды. Выкладки по Raspberry Pi 3 Моквист не предоставляет, как и список ПК, для которых он планирует сделать сборки своего дистрибутива.

Ранее в России создали «легкий» Linux для «Эльбрусов» и «Байкалов».

Ссылки по теме

Неубиваемый российский планшет под Linux выдерживает 100-градусные перепады

За использование Linux и ПО виртуализации детей хотят сдавать в полицию

Отец Linux изменил Intel с процессором AMD и остался доволен

Отец Linux назвал патчи Intel против «чипокалипса» мусором и уродством

Найден способ взлома крупнейших дистрибутивов Linux. Под ударом Ubuntu, Debian, FreeBSD и другие

Microsoft на базе Linux создала сервис безопасности «Интернета вещей»

Huawei хочет скупить отечественный Linux, «Эльбрусы» и российское «железо»

ЦРУ разработало вирусы для взлома Mac и Linux

Россиянин нашел «дыру», жившую 7 лет в ядре Linux для госструктур, банков и критических приложений

Linux проиграл битву технологическим гигантам, заключили гуру

Оставьте отзыв

Ваш емейл адрес не будет опубликован. Обязательные поля отмечены *