Встраиваемое подмножество ядра Linux
Семейство ОС | Unix-подобный |
---|---|
Первоначальный выпуск | 0.0.76 (20 мая 1999 г | )
Последний выпуск | 0.7.0 / 3 августа 2023 г |
Репозиторий | |
Доступно в | Английский |
ядра Тип | Монолитный |
Лицензия | Лицензия GPL v2 [1] |
Официальный сайт | github |
Подмножество встроенного ядра Linux ( ELKS ), ранее известное как Linux-8086 , представляет собой Linux-подобное операционной системы ядро . Это подмножество ядра Linux , предназначенное для 16-битных компьютеров с ограниченными ресурсами процессора и памяти, таких как машины на базе Intel 8086 и совместимые микропроцессоры, не поддерживаемые 32-битной Linux . [2] [3]
Возможности и совместимость
[ редактировать ]ELKS — это бесплатное программное обеспечение , доступное по лицензии GNU General Public License (GPL). Он может работать с ранними 16-битными (например, 8086, 8088 ) и многими 32-битными x86 компьютерами , такими как IBM PC-совместимые системы, а также с более поздними моделями x86 в реальном режиме . Другая полезная область — одноплатные микрокомпьютеры , предназначенные в качестве обучающих инструментов для « домашних » проектов ( хакерство аппаратного обеспечения ), а также встроенные системы контроллеров (например, автоматизация ). [4]
Ранние версии ELKS также работали на Psion 3a и 3aR SIBO (SIxteen Bit Organiser) КПК с процессорами NEC V30 , [4] [5] предоставление другого возможного поля работы ( железа гаджета ), если его портировать на такую платформу. Эта попытка получила название ELKSibo. [6] Из-за отсутствия интереса поддержка SIBO была удалена из версии 0.4.0.
Собственные программы ELKS могут эмулироваться с помощью Elksemu, что позволяет использовать код 8086 под Linux-i386. [7] Также существует попытка предоставить ELKS с Eiffel совместимую библиотеку, . [8]
История
[ редактировать ]Разработка Linux-8086 началась в 1995 году разработчиками ядра Linux Аланом Коксом и Чадом Пейджем как ответвление стандартного Linux. К началу 1996 года проект был переименован в ELKS (Embeddable Linux Kernel Subset), а в 1997 году появился первый веб-сайт. [9] был создан. Версия ELKS 0.0.63 вышла 8 августа того же года. 22 июня 1999 года была доступна версия ELKS 0.0.77, первая версия, способная запускать графический интерфейс пользователя ( Window System Nano-X ). 21 июля ELKS загрузился на КПК Psion с архитектурой SIBO. ELKS 0.0.82 вышел 10 января 2000 года. Благодаря включению порта SIBO он стал первой официальной версией, работающей на другом компьютерном оборудовании, отличном от исходной базы 8086. 3 марта того же года проект был зарегистрирован на SourceForge . [10]
6 января 2001 года Кокс объявил ELKS «фактически мертвым». [11] Тем не менее, 17 июня 2001 года вышел выпуск 0.0.84. Чарилаос (Гарри) Калогиру добавил поддержку сетей TCP/IP семь дней спустя, и в том же году 17 ноября ELKS достиг версии 0.0.90. 20 апреля 2002 года Калогиру добавлено управление памятью с возможностью замены дисков , а через девять дней появилась версия ELKS 0.1.0, считающаяся первой бета-версией . [12] К концу года, 18 декабря, выходит EDE (Elks Distribution Edition, дистрибутив на основе ядра ELKS), версия 0.0.5. [13] 6 января 2003 г. вышел ELKS 0.1.2, 3 мая 2006 г. последовало обновление до 0.1.3, первый официальный выпуск после долгого перерыва в разработке. [12]
Была запланирована разработка FlightLinux, операционной системы реального времени для космических кораблей , но проект, для которого она предназначалась ( UoSAT-12 ), в конечном итоге остановился на операционной системе qCF от Quadron Corporation. [14]
Текущий статус и использование
[ редактировать ]С января 2012 года ELKS снова находится в разработке. CVS Репозиторий был перенесен в Git в феврале 2012 года, и в новый репозиторий были добавлены многочисленные исправления из списка рассылки Linux-8086. Версия 0.1.4 вышла 19 февраля 2012 года и была выпущена Джоди Брюшоном в память о Райли Уильямс, бывшем соразработчике. В него вошли обновленные образы дискет , исправление ошибок компиляции предыдущей версии и удаление неиспользуемых кодов. [15] 10 мая 2012 года BusyELKS был добавлен в репозиторий Джоди Брюшоном в попытке заменить автономные двоичные файлы и воспользоваться преимуществами общего кода (ELKS не поддерживает общие библиотеки ). Двоичные файлы, подобные BusyBox, пытаются сэкономить место с помощью символических ссылок, устраняя избыточные фрагменты кода и объединяя отдельные программы в один более крупный двоичный файл. [16] 14 ноября 2013 года разработка проекта переехала на GitHub . [17] Элементарная поддержка Ethernet и FAT была добавлена в 2017 году. [18]
С момента его разветвления в 1995 году в этот проект внесли свой вклад более 35 разработчиков. По состоянию на март 2015 года разработка проекта ELKS снова активилась, достигнув рубежа в 1000 коммитов исходного кода 8 марта 2015 года. По состоянию на июнь 2018 года исправлено множество ошибок. и улучшения были выполнены с помощью еще 583 коммитов, что привело к выпуску 0.2.1. В марте 2019 года проект завершил переход от устаревшего компилятора BCC к более позднему GCC-IA16 ( GNU Compiler Collection — Intel Architecture 16 ), а активность разработки возросла, когда Грегори Хаэрр возглавил его в качестве ведущего разработчика. В течение 2019 и 2020 годов ELKS перешла из статуса «загружаемой, нестабильной» в стабильную Linux-подобную систему для небольших машин с Ethernet, TCP/IP, FAT16/32, многопользовательским последовательным портом и многими другими функциями. [19] Когда в ноябре 2020 года был выпущен ELKS 0.4.0, количество коммитов превысило 3000.
Основываясь на фундаменте, созданном в версии 0.4.0, деятельность по разработке продолжалась в течение 2021 года, при этом Грегори Хаэрр по-прежнему оставался ведущим разработчиком при поддержке пяти активных участников. Команда выполнила 220 коммитов с октября 2021 года до выпуска 0.5.0 8 февраля 2022 года. [20] Четыре месяца спустя, 7 июня 2022 года, была выпущена версия 0.6.0, установившая новый уровень или частоту выпусков и указав на очень высокий уровень активности. [21]
Версия 0.4.0
[ редактировать ]Версия 0.4.0 стала важной вехой для ELKS, превратив систему из экспериментальной в полезную для неразработчиков, и включала следующие основные улучшения:
- Документация вики [22]
- Основные улучшения ядра — размер, стабильность, надежность, скорость, системные вызовы и функции отладки.
- Надежный стек TCP/IP, реализованный как процесс пользовательского режима, поддерживающий TCP, ICMP , ARP .
- Поддержка сети на уровне пользователя для telnet /telnetd и передачи файлов.
- Поддержка последовательного IP и Ethernet (NE1K/ NE2K /WD8003).
- Множество новых и обновленных команд пользовательского уровня, включая ash и sash оболочки .
- Множество улучшений в цепочке инструментов перекрестной разработки, поддерживающих больше моделей памяти, упрощающих перенос большего количества приложений.
- Надежная поддержка файловых систем FAT16 /32 и Minix1 , включая загрузку из /root в файловых системах FAT.
- Улучшенная поддержка консоли и последовательного порта : последовательная консоль, высокоскоростной последовательный ввод-вывод.
- Поддержка MBR , параметры загрузки через /bootopts.
- Обновленная система меню для настройки и сборки в Linux и MacOS, позволяющая неразработчикам создавать собственные образы для дискет размером от 360 КБ до 2,88 МБ.
Версия 0.5.0
[ редактировать ]Версия 0.5.0 стала еще одной значимой вехой для ELKS с рядом важных улучшений, дополнений и поддержкой 2 новых платформ — японской PC-98 и 8018X . Улучшения включали: [23]
- Инструменты отладки ядра и сети, улучшения набора инструментов , очистки для облегчения переноса на новые платформы.
- Улучшена стабильность и производительность сетевого стека.
- Собственные программы ftp/ftpd, расширяющие поддержку протоколов уровня сетевых приложений до telnet , ftp , http и raw tcp ( netcat ).
- Улучшена конфигурация времени выполнения через файл конфигурации /bootopts.
- XMS - поддержка систем 386 и 286 , обеспечивающая большие буферы памяти.
- Новый SSD драйвер
- Поддержка сжатых исполняемых файлов [24]
- Поддержка сред с очень низким объемом памяти (256 КБ)
- библиотеки и системных вызовов Улучшения
- Поддержка ядра для секторов переменного размера (для PC-98 ) платформы
- Новые файлы конфигурации запуска для сети и запоминающих устройств.
- Улучшена поддержка сети при работе в QEMU.
Начиная с версии 0.5.0 ELKS представляет собой полноценную небольшую систему Linux и универсальный инструмент для тестирования, диагностики и запуска старинных ПК с ограниченными ресурсами. Улучшенная переносимость, продемонстрированная добавлением новых платформ, открывает путь к активизации разработки следующей версии.
Версия 0.6.0
[ редактировать ]Выпущенная 7 июня 2022 года версия 0.6.0 определила новый уровень для ELKS, о чем свидетельствует гораздо более короткий, чем обычно, цикл выпуска. Скорость, с которой система развивается и совершенствуется, в сочетании с недавно приобретенной надежностью и удобством использования создали спрос на «обновленные пакетные версии» со стороны новых пользователей.
Версия 0.6.0 включала множество улучшений и оптимизаций как на уровне системы, так и на уровне приложений. Новые дополнения включали: [21]
- Интерпретатор BASIC с демонстрационными программами
- Страницы руководства
- Расширенная поддержка новых платформ — PC98 и 8081x, в частности поддержка дисков SCSI и IDE для PC98.
- Исправления/улучшения ядра, библиотеки и сети
- Новые команды, такие как tar , man и compress.
Между версиями 0.5.0 и 0.6.0 команда выполнила 200 коммитов, более половины — Грегори Хаэрра.
Версия 0.7.0
[ редактировать ]Он был выпущен 3 августа 2023 года. [25]
См. также
[ редактировать ]- ТайниЛинукс
- микроКлинукс
- Fuzix OS , Linux-подобная ОС для 8-битных архитектур.
Ссылки
[ редактировать ]- ^ «Файл ЛИЦЕНЗИИ на GitHub» . Гитхаб .
- ^ Создание встроенных систем Linux . Карим Ягмур (2-е изд.). Севастополь [Калифорния]: O'Reilly Media. 2008. с. 7. ISBN 978-0-596-52968-0 . ОСЛК 273049576 .
{{cite book}}
: CS1 maint: другие ( ссылка ) - ^ Данеш, Арман (2006). ОсвоениеTM Linux . Майкл Джанг (2-е изд.). Хобокен: Джон Уайли и сыновья. п. 904. ИСБН 978-0-7821-5277-7 . OCLC 437171498 .
- ^ Перейти обратно: а б Введение в ELKS
- ^ «Информация о СИБО» . Архивировано из оригинала 21 октября 2001 года . Проверено 2 марта 2014 г.
{{cite web}}
: CS1 maint: bot: исходный статус URL неизвестен ( ссылка ) - ^ «Информация об ЭЛКСибо» . Архивировано из оригинала 27 марта 2005 года . Проверено 2 марта 2014 г.
{{cite web}}
: CS1 maint: bot: исходный статус URL неизвестен ( ссылка ) - ^ Справочная страница Элксему
- ^ Реализация библиотеки ELKS Eiffel.
- ^ «Архивная копия» . Архивировано из оригинала 24 сентября 2001 года . Проверено 16 ноября 2006 г.
{{cite web}}
: CS1 maint: архивная копия в заголовке ( ссылка ) ) - ^ elks.sourceforge.net
- ^ 6 января 2001 г., «обновление статуса Аланом Коксом» . Архивировано из оригинала 20 сентября 2001 года . Проверено 16 ноября 2006 г.
{{cite web}}
: CS1 maint: bot: исходный статус URL неизвестен ( ссылка ) - ^ Перейти обратно: а б «Информация о старой версии, например, о ELKS 0.1.0, первой бета-версии» . Архивировано из оригинала 16 марта 2014 г. Проверено 2 марта 2014 г.
- ^ Объявление о выпуске EDE 0.0.5.
- ^ Linux-8086: Летный Linux
- ^ «ELKS релиз 0.1.4» . Архивировано из оригинала 21 февраля 2012 г. Проверено 19 февраля 2012 г.
- ^ Введение BusyELKS
- ^ Информация о переезде ELKS на GitHub.
- ^ «ELKS теперь поддерживает Ethernet — Linux для 8086» . www.spinics.net . Проверено 25 июня 2018 г.
- ^ «ELKS v0.4.0 История предварительных версий и авторы · Выпуск № 873 · ghaerr/elks» . Гитхаб . Проверено 9 апреля 2021 г.
- ^ «Выпуск ELKS v0.5.0 · ghaerr/elks» . Гитхаб . Проверено 9 февраля 2022 г.
- ^ Перейти обратно: а б «Выпуск ELKS v0.6.0 · ghaerr/elks» . Гитхаб . Проверено 17 июня 2022 г.
- ^ «ЭЛКС вики» . Гитхаб . Проверено 9 апреля 2021 г.
- ^ «Выпуск ELKS v0.5.0 · ghaerr/elks» . Гитхаб . Проверено 9 февраля 2022 г.
- ^ «[ядро] Реализация сжатых исполняемых файлов в ELKS от ghaerr · Запрос на извлечение № 912 · ghaerr/elks» . Гитхаб . Проверено 10 апреля 2021 г.
- ^ ЭЛКС v0.7.0