Release of a minimalistic set of system utilities BusyBox 1.32

Submitted by package release Busybox 1.32 with the implementation of a set of standard UNIX utilities, designed as a single executable file and optimized for minimal consumption of system resources with a set size of less than 1 MB. The first release of the new branch 1.32 is positioned as unstable, full stabilization will be provided in version 1.32.1, which is expected in about a month. The project code is distributed under the GPLv2 license.

The modular nature of BusyBox makes it possible to form one unified executable file containing an arbitrary set of utilities implemented in the package (each utility is available as a symbolic link to this file). The size, composition, and functionality of the collection of utilities can vary depending on the needs and capabilities of the embedded platform for which the assembly is being carried out. The package is self-contained, when statically built with uclibc, to create a working system on top of the Linux kernel, you only need to create a few device files in the /dev directory and prepare the configuration files. Compared to the previous release 1.31, the BusyBox 1.32 typical assembly has increased its RAM consumption by 3590 bytes (from 1011750 to 1015340 bytes).

BusyBox is the main tool in the fight against GPL violation in firmware. Software Freedom Conservancy (SFC) and Software Freedom Law Center (SFLC) on behalf of BusyBox developers both through court, and by conclusions out-of-court settlements has repeatedly successfully influenced companies that do not provide access to the source code of GPL programs. At the same time, the author of BusyBox in every possible way objects to against such protection - believing that it breaks his business.

BusyBox 1.32 highlights the following changes:

  • Added new command me to run scripts from a given Mimfile (somewhat like a stripped-down make utility);
  • Added "-empty" option to find to check for empty files;
  • The wget utility has expanded the limit on the number of redirects and implemented support for checking TLS certificates when booting with ENABLE_FEATURE_WGET_OPENSSL;
  • Added correct support for pattern list (pattern_list) to grep and added "-R" option (recursively process directory contents);
  • Fixed build issues in Clang 9 and fixed compiler warnings;
  • A large number of fixes have been proposed to the ash and hush shells, aimed at improving compatibility with other shells. Added the ability to autocomplete built-in commands with tabs to ash and hush. New builtins have been stabilized in ash.
  • fdisk now supports HFS and HFS+ partitions;
  • Improved handling of race conditions in init when signals are received;
  • To the visual monitoring utility for system parameters meter added output format "%NT" (aligned time with zeros);
  • The ability to process and display a list of CPUs has been added to taskset (option "-c");
  • Changed the behavior of the "-a" option in tar, which instead of enabling "lzma" compression is now associated with auto-detection by file extension;
  • udhcpc6 added support for "statelessΒ» for DHCPv6 (the server gives only network parameters, without assigning an address);
  • nslookup handles responses without RR records and adds support for SRV records;
  • Added new commands "showmacs" and "showstp" to brctl;
  • Added support for "relay server" parameter to dhcpc;
  • Added setting to syslogd to display time with millisecond precision;
  • httpd, when running in NOMMU mode, allows setting a different home directory and ensures that the '-h' option works when starting a background process;
  • xargs handles arguments enclosed in quotation marks, and ensures the correct behavior of the "-n" option;
  • Fixed bugs in grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, route utilities.

Also, last month took place Release Toybox 0.8.3, an analogue of BusyBox, developed by the former BusyBox maintainer and distributed under the BSD license. The main purpose of Toybox is to enable manufacturers to use a minimalistic set of standard utilities without opening the source code of modified components. By the possibilities of Toybox so far lagging behind from BusyBox, but 272 basic commands (204 fully and 68 partially) have already been implemented out of 343 planned.

New features in Toybox 0.8.3 include:

  • Added new commands rtcwake, blkdiscard, getopt and readelf;
  • "make root" provides the ability to create a working boot environment based only on the Linux kernel and Toybox utilities, which can be loaded using its own init script;
  • Added initial support for modules with separate implementations of utilities that are not included in the main ToyBox;
  • toysh command interpreter brought to 80% readiness (so far there is no support for functions, history, terminal management, job-tasks, $((math)), templates);
  • Added support for additional options to various utilities, including patch, cal, cp, mv, lsattr, chattr, ls, id, netcat, and setsid.

Source: opennet.ru

Add a comment