Release of a minimalistic set of system utilities BusyBox 1.31

Submitted by package release Busybox 1.31 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.31 is positioned as unstable, full stabilization will be provided in version 1.31.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 1.30 release, BusyBox 1.31's typical build has reduced RAM consumption by 86 bytes (from 1008478 to 1008392 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.31 highlights the following changes:

  • Added new commands: ts (client and server implementation for TSP (Time-Stamp Protocol)) and i2ctransfer (creating and sending I2C messages);
  • Support for DHCP options added to udhcp 100 (information about the time zone) and 101 (name of the time zone in the TZ database) for IPv6;
  • Added support for static bindings of hostnames to clients in udhcpd;
  • The ash and hush shells implement the numeric literals "BASE#nnnn". Improved bash implementation of the ulimit command, including adding "-i RLIMIT_SIGPENDING" and "-q RLIMIT_MSGQUEUE" options. Added support for "wait -n". Added bash-compatible EPOCH variables;
  • The hush shell implements the "$-" variable, which lists the shell options enabled by default;
  • The code for passing values ​​by reference has been moved to bc from upstream, support for void functions and the ability to work with ibase values ​​up to 36 have been added;
  • In brctl, all commands are translated to work using pseudo-FS /sys;
  • Merged fsync and sync utilities code;
  • Improved implementation of httpd. Improved handling of HTTP headers and work in proxy mode. The list of MIME types includes SVG and JavaScript;
  • Added "-c" option to losetup (force recheck the size of the file associated with the loop device), as well as an option to scan partitions. mount and losetup now support /dev/loop-control;
  • In ntpd, SLEW_THRESHOLD increased from 0.125 to 0.5;
  • Support for assigning empty values ​​has been added to sysctl;
  • Watch added support for fractional values ​​in the "-n SEC" option;
  • Added the ability to run mdev as a background process;
  • The wget utility implements the "-o" flag to specify the file to write the log to. Added notifications about the start and end of the download;
  • Added support for AYT IAC command to telnetd;
  • Added 'dG' command to vi (delete content from current line to end of file);
  • Added 'oflag=append' option to dd command;
  • Added '-H' flag to top utility to enable per-thread scanning mode.

Also, two weeks ago took place Release Toybox 0.8.1, 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 188 basic commands out of 220 planned have already been implemented.

New features in Toybox 0.8.1 include:

  • Achieved a level of functionality sufficient to build Android in an environment based on the Toybox utilities.
  • New mcookie and devmem commands are included, rewritten tar, gunzip and zcat commands are moved from the test branch.
  • A new implementation of vi is proposed for testing.
  • Added support for "-wholename/-iwholename" options to find command
    "-printf" and "-context";

  • Added "--exclude-dir" option to grep;
  • echo added support for the "-E" option.
  • Support for "UUID" has been added to mount.
  • The date command now takes into account the time zone set in the TZ environment variable.
  • Added support for relative ranges (+N) to sed.
  • Improved readability of ps, top and iotop output.

Source: opennet.ru

Add a comment