Release of a minimalistic set of system utilities BusyBox 1.34

The release of the BusyBox 1.34 package is presented 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 package size of less than 1 MB. The first release of the new branch 1.34 is positioned as unstable, full stabilization will be provided in version 1.34.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.33, the BusyBox 1.34 typical assembly has increased its RAM consumption by 9620 bytes (from 1032724 to 1042344 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 the developers of BusyBox, both through the courts and through out-of-court agreements, have repeatedly successfully influenced companies that do not provide access to the source code of GPL programs. At the same time, the author of BusyBox strongly objects to such protection - believing that it breaks his business.

BusyBox 1.34 highlights the following changes:

  • Added a new ascii utility with an interactive table of ASCII character names.
  • Added a new utility crc32 for calculating checksums.
  • The built-in http server supports the DELETE, PUT and OPTIONS methods.
  • Udhcpc provides the ability to change the default network interface name.
  • The implementation of TLS protocols now supports elliptic curves secp256r1 (P256)
  • The development of the ash and hush command shells has continued. In hush, the handling of the ^D command has been brought into line with the behavior of ash and bash, the bash-specific $'str' construct has been implemented, and the ${var/pattern/repl} replacement operations have been optimized.
  • A large portion of corrections and improvements have been made to the implementation of the awk utility.
  • Added "-i" option to base32 and base64 utilities to ignore invalid characters.
  • In the bc and dc utilities, the handling of the BC_LINE_LENGTH and DC_LINE_LENGTH environment variables is close to the GNU utilities.
  • Added --getra and --setra options to the blockdev utility.
  • The "-p" option has been added to the chattr and lsattr utilities. lsattr has expanded the number of supported ext2 FS flags.
  • The options β€œ-n” (disable overwriting) and β€œ-t DIR” (specify the target directory) have been added to the cp utility.
  • In cpio, the construction β€œcpio -d -p A/B/C” has been adjusted.
  • The β€œ-t TYPE” option has been added to the df utility (limiting the output to a specific file type).
  • Added -b option to du utility (equivalent to 'β€”apparent-size β€”block-size=1').
  • Added option β€œ-0” to the env utility (terminating each line with a character with code zero).
  • The β€œ-h” option (readable output) has been added to the free utility.
  • Added option "-t" (ignore failures) to ionice utility.
  • The login utility now supports the LOGIN_TIMEOUT environment variable.
  • Added options β€œ-t” (specify the target directory to move) and β€œ-T” (treat the second argument as a file) to the mv utility.
  • The "-s SIZE" option (number of bytes to be cleared) has been added to the shred utility.
  • The "-a" option has been added to the taskset utility (apply CPU affinity for all process threads).
  • The timeout, top, watch and ping utilities now support non-integer values ​​(NN.N).
  • The "-z" option has been added to the uniq utility (use the zero-coded character as a delimiter).
  • The β€œ-t” option (archive check) has been added to the unzip utility.
  • The vi editor allows the use of regular expressions in the ':s' command. Added expandtab option. Improved implementations for moving between paragraphs, selecting ranges, and undoing changes.
  • The xxd utility implements the -i (C-style output) and -o DISPLAYOFFSET options.
  • The wget utility allows processing HTTP 307/308 codes for redirects. Added FEATURE_WGET_FTP option to enable/disable FTP support.
  • Added "iflag=count_bytes" option to the dd utility.
  • The cut utility implements the toybox-compatible options β€œ-O OUTSEP”, β€œ-D” and β€œ-F LIST”.

Source: opennet.ru

Add a comment