After almost two years of development, the release of the BusyBox 1.37 package is presented, implementing 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 1.37 branch is positioned as unstable, full stabilization will be provided in version 1.37.1, which is expected in a few months. The project code is distributed under the GPLv2 license.
BusyBox's modular nature allows for the creation of a single, unified executable file containing any set of utilities implemented in the package (each utility is available as a symbolic link to the file). The size, composition, and functionality of the utility collection can be varied depending on the needs and capabilities of the embedded platform being built for. The package is self-contained, and can be statically linked with uclibc to create a working system on top of the kernel. Linux All you need to do is create a few device files in the /dev directory and prepare configuration files. Compared to the previous release 1.36, the RAM consumption of a typical BusyBox 1.37 build has increased by 1535 bytes (from 1022792 to 1024327 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.
Notable changes in BusyBox 1.37 include:
- Added implementation of the getfattr utility for displaying extended file attributes.
- udhcpd implements optional support for the BOOTP protocol.
- The hwclock utility now has the ability to display and set RTC (Real-Time Clock) parameters. For example, to read "hwclock --param-get bsm", and to change "hwclock -p bsm=1".
- The "ip link" command now supports configuring CAN devices using the netlink interface ("ip link set type can").
- The find utility implements the "-ok command" option to run a command with a preliminary request from the user to confirm this operation.
- Another batch of fixes for the ash and hush shells has been included, aimed at improving compatibility with other shells. Support for autocompletion of function names and aliases using the Tab key has been added. A built-in implementation of the "false" command has been added to hush.
- awk implements the "-E" flag for reading script text from a file.
- The od utility implements the "-B" option (synonymous with "-t o2") to output as 2-byte octal values.
- In the time utility, the "-f FMT" option allows escaping characters using the "\escape" and "%%" sequences.
- The top utility has improved display of large PIDs.
- readlink has added support for the "--" separator and improved POSIX compatibility with regard to the use of the "-n" option.
- The start-stop-daemo command now has the "-O/--output" (output redirection) and "-d DIR" (change default directory) options.
- ntpd provides client and server compatibility Server NTP with time after 2038.
Source: opennet.ru
