РАЗРАБОТКА ЭЛЕКТРОНИКИ НА ЗАКАЗ*АСУ ТП*АВТОМАТИЗИРОВАННЫЕ СИСТЕМЫ УПРАВЛЕНИЯ*АВТОМАТИЗАЦИЯ ПРОЦЕССОВ*РАЗРАБОТКА ОБОРУДОВАНИЯ*НЕСТАНДАРТНОЕ ОБОРУДОВАНИЕ*ТЕХНИЧЕСКАЯ КОНСУЛЬТАЦИЯ*ИЗГОТОВЛЕНИЕ ДЕТАЛЕЙ НА ЗАКАЗ*ЭКОНОМИЯ ЭЛЕКТРОЭНЕРГИИ НА ПРЕДПРИЯТИИ*КИЕВ
Инженерные
решения

   +38 044 227-97-66 

  +38 067 442-08-41

   +38 050 415-00-37 

ПН-ПТ с 9 до 16 обед с 12 до 13

01.07.2020г. Создан дистрибутив Linux, который загружается за треть секунды

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

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

        В соответствии с описанием, 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.

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

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

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

 

 

Источник: https://internetua.com/sozdan-distributiv-linux-kotoryi-zagrujaetsya-za-tret-sekundy