Release of a minimalistic set of system utilities BusyBox 1.33

Presented package release BusyBox 1.33 a > with the implementation of a set of standard UNIX utilities, designed in the form of a single executable file and optimized for minimum consumption of system resources with a package size of less than 1 MB. The first release of the new 1.33 branch is positioned as unstable, full stabilization will be provided in version 1.33.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 in the form of 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 you are building. The package is self-contained, when static building with uclibc, to create a working system on top of the Linux kernel, you just need to create a few device files in the / dev directory and prepare the configuration files. Compared to the previous release 1.32, the consumption of RAM by a typical assembly of BusyBox 1.32 has increased by 1761 bytes (from 1020219 to 1021980 bytes).

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

The following changes are highlighted in BusyBox 1.33:

  • A new utility base32 has been added.
  • Added support for the blacklist of kernel modules invalid for loading into the modprobe utility (modprobe.blacklist = module1, module2, …).

  • Support for direct I / O (O_DIRECT mode) has been added to the dd utility.
  • Added support for the “-o nostrictatime”, “-o [no] lazytime” and “-o nosymfollow” options to the mount utility.
  • Added support for the “noprefixroute”, “valid_lft” and “preferred_lft” options to the ip utility. Added support for fwmark / fwmask options for policy routing to ip rule.
  • Support for the standard C library musl has been added to the chrt utility.
  • Several dozen changes have been added to the library libbb, including the infrastructure for fixed pages and added new exec_login_shell (), msleep (), sleep1 () and xsettimeofday () functions.
  • Added support for PASV responses that do not end with ‘) in ftp ‘.
  • Development of the ash and hush command shells continued. Improved support for bash-specific “[[]]” constructs.
  • Added support for “-Ins” options to the date utility and improved compatibility when displaying time zones.
  • Submission is enabled in the login utility syslog information about each invalid password.
  • Allowed ntpd to be started by non-root user (using the “-w” option).
  • The traceroute utility has been significantly improved.
  • Added support for logging via syslog to mdev.

/Release. View in full here.