Опубликован выпуск проекта ELKS 0.6 (Embeddable Linux Kernel Subset), развивающего Linux-подобную операционную систему для 16-разрядных процессоров Intel 8086, 8088, 80188, 80186, 80286 и NEC V20/V30. ОС может использоваться как на старых компьютерах класса IBM-PC XT / AT, так и на SBC / SoC / FPGA, воссоздающих архитектуру IA16.
Проект развивается с 1995 года и начинался как ответвление ядра Linux для устройств без блока управления памятью (MMU). Исходные тексты распространяются под лицензией GPLv2. Система поставляется в форме образов для записи на floppy-диски или запуска в эмуляторе QEMU.
Предлагается два варианта сетевого стека – штатный TCP/IP стек ядра Linux и стек ktcp, работающий в пространстве пользователя. Из сетевых карт поддерживаются Ethernet-адаптеры, совместимые с NE2K и SMC. Также возможно создания каналов связи через последовательный порт при помощи SLIP и CSLIP. Из файловых систем поддерживаются Minix v1, FAT12, FAT16 и FAT32. Настройка процесса загрузки осуществляется через сценарий /etc/rc.d/rc.sys.
Помимо ядра Linux, адаптированного для 16-разрядных систем, проектом развивается набор стандартных утилит (ps, bc, tar, du, diff, netstat, mount, sed, xargs, grep, find, telnet, meminfo и т.п.), включая совместимый с bash командный интерпретатор, консольный оконный менеджер screen, текстовые редакторы Kilo и vi, графическое окружение на базе X-сервера Nano-X. Многие компоненты пространства пользователя заимствованы из Minix, включая формат исполняемых файлов.
В новом выпуске:
- Добавлен интерпретатор языка BASIC, пригодный для рабочих станций и систем, прошиваемых в ПЗУ. В том числе реализованы команды для работы с файлами (LOAD/SAVE/DIR) и графикой (MODE, PLOT, CIRCLE и DRAW).
- Добавлена программа для работы с архивами tar.
- Добавлены команды man и eman для показа man-руководств, а также обеспечена поддержка показа сжатых man-страниц.
- В реализацию bash встроена команда test (“[“).
- Добавлена команда “net restart”. Переписана команда nslookup.
- В команду mount добавлена возможность показа информации о примонтированных разделах.
- Повышена скорость работы команды ls на разделах с ФС FAT.
- Значительно улучшена работа и поддержка 8-разрядных систем в сетевом драйвере NE2K.
- Переписан FTP-сервер ftpd, в котором появилась поддержка команды SITE и возможность выставления таймаутов.
- Для всех сетевых приложений реализована поддержка резолвинга имён DNS через вызов in_gethostbyname.
- В команду sys добавлена поддержка копирования всего диска.
- Добавлена новая команда setup для быстрой настройки имени хоста и IP-адреса.
- В /bootopts добавлены параметры LOCALIP=, HOSTNAME=, QEMU=, TZ=, sync= и bufs=.
- В порт для компьютера PC-98 добавлена поддержка жёстких дисков SCSI и IDE, добавлен новый загрузчик BOOTCS, реализована поддержка загрузки из внешнего файла, расширена поддержка дисковых разделов.
- В порт для процессоров 8018X добавлена поддержка запуска из ПЗУ и улучшена обработка прерываний.
- В стандартной Си библиотеке добавлена математическая библиотека и обеспечена возможность работы с числами с плавающей запятой в функциях printf/sprintf, strtod, fcvt, ecvt. Переписан и значительно ускорен код функции strcmp. Предложена более компактная реализация функции printf. Добавлены функции in_connect и in_resolv.
- В ядре улучшена поддержка файловой системы FAT, увеличено до 6 максимальное число точек монтирования, добавлена поддержка установки часового пояса, добавлены системные вызовы uname, ustatfs и alarm, переписан код для работы с таймером.