После почти двух лет разработки представлен релиз пакета BusyBox 1.37 с реализацией набора стандартных утилит UNIX, оформленных в виде единого исполняемого файла и оптимизированных для минимального потребления системных ресурсов при размере комплекта менее 1 Мб. Первый выпуск новой ветки 1.37 позиционируется как нестабильный, полная стабилизация будет обеспечена в версии 1.37.1, которая ожидается через несколько месяцев. Код проекта распространяется под лицензией GPLv2.
Модульный характер BusyBox даёт возможность сформировать один унифицированный исполняемый файл, содержащий в себе произвольный набор реализованных в пакете утилит (каждая утилита доступна в форме символической ссылки на данный файл). Размер, состав и функциональность коллекции утилит можно варьировать в зависимости от потребностей и возможностей встраиваемой платформы, для которой осуществляется сборка. Пакет самодостаточный, при статической сборке с uclibc для создания рабочей системы поверх ядра Linux требуется лишь создать несколько файлов устройств в директории /dev и подготовить файлы конфигурации. По сравнению с прошлым выпуском 1.36 потребление оперативной памяти типовой сборкой BusyBox 1.37 увеличилось на 1535 байт (с 1022792 до 1024327 байт).
BusyBox является основным инструментом в борьбе с нарушением GPL в прошивках. Организации Software Freedom Conservancy (SFC) и Software Freedom Law Center (SFLC) от лица разработчиков BusyBox как через суд, так и путём заключения внесудебных соглашений неоднократно успешно воздействовала на компании, не предоставляющие доступ к исходному коду GPL-программ. В то же время автор BusyBox всячески возражает против такой защиты — считая что она ломает ему бизнес.
Среди заметных изменений в BusyBox 1.37:
- Добавлена реализация утилиты getfattr для показа расширенных атрибутов файлов.
- В udhcpd реализована опциональная поддержка протокола BOOTP.
- В утилиту hwclock добавлена возможность вывода и установки параметров RTC (Real-Time Clock). Например, для чтения «hwclock —param-get bsm», а для изменения «hwclock -p bsm=1».
- В команду «ip link» добавлена поддержка настройки CAN-устройств с использованием интерфейса netlink («ip link set type can»).
- В утилите find реализована опция «-ok команда» для запуска команды с предварительным запросом у пользователя подтверждения данной операции.
- Включена очередная порция исправлений для командных оболочек ash и hush, нацеленных на улучшение совместимости с другими оболочками. Добавлена поддержка автодополнения ввода имён функций и алиасов клавишей Tab. В hush добавлена встроенная реализация команды «false».
- В awk реализован флаг «-E» для чтения текста скрипта из файла.
- В утилите od реализована опция «-B» (синоним «-t o2») для вывода в виде восьмеричных 2-байтовых значений.
- В утилите time в опции «-f FMT» разрешено экранирование символов при помощи последовательностей «\escape» и «%%».
- У утилите top улучшено отображение больших PID-идентификаторов.
- В readlink добавлена поддержка разделителя «—» и улучшена совместимость со стандартом POSIX в отношении применения опции «-n».
- В команду start-stop-daemo добавлены опции «-O/—output» (перенаправление вывода) и «-d DIR» (смена каталога по умолчанию).
- В ntpd обеспечена совместимость клиента и сервера NTP с временем после 2038 года.
Источник: opennet.ru
