Después de casi dos años de desarrollo, se presenta la versión del paquete BusyBox 1.37 con la implementación de un conjunto de utilidades estándar de UNIX, organizadas en un único archivo ejecutable y optimizadas para un mínimo consumo de recursos del sistema, con un tamaño total de menos de 1 MB. La primera versión de la nueva rama 1.37 se posiciona como inestable; la estabilización completa estará disponible en la versión 1.37.1, que se espera en unos meses. El código del proyecto se distribuye bajo la licencia GPLv2.
La naturaleza modular de BusyBox permite crear un único archivo ejecutable que contiene un conjunto arbitrario de utilidades implementadas en el paquete (cada utilidad está disponible como un enlace simbólico a este archivo). Se puede variar el tamaño, la composición y la funcionalidad de la colección de utilidades según las necesidades y capacidades de la plataforma embebida para la que se realiza la compilación. El paquete es autónomo; con una compilación estática usando uclibc, solo se requiere crear algunos archivos de dispositivo en el directorio /dev y preparar los archivos de configuración para crear un sistema operativo sobre el núcleo de Linux. En comparación con la versión anterior 1.36, el consumo de memoria del conjunto típico BusyBox 1.37 ha aumentado en 1535 bytes (de 1022792 a 1024327 bytes).
BusyBox es una herramienta principal en la lucha contra la violación de la GPL en los firmware. Las organizaciones Software Freedom Conservancy (SFC) y Software Freedom Law Center (SFLC), en representación de los desarrolladores de BusyBox, han influido exitosamente en las empresas que no proporcionan acceso al código fuente de programas bajo GPL, tanto por vía judicial como mediante la celebración de acuerdos extrajudiciales. Al mismo tiempo, el autor de BusyBox se opone a dicha protección, creyendo que arruina su negocio.
Entre los cambios notables en BusyBox 1.37:
- Se ha añadido la implementación de la utilidad getfattr para mostrar los atributos extendidos de los archivos.
- En udhcpd se ha implementado el soporte opcional para el protocolo BOOTP.
- En la utilidad hwclock se ha añadido la posibilidad de mostrar y establecer parámetros del RTC (Reloj en Tiempo Real). Por ejemplo, para leer «hwclock —param-get bsm», y para cambiar «hwclock -p bsm=1».
- En el comando «ip link» se ha añadido soporte para la configuración de dispositivos CAN utilizando la interfaz netlink («ip link set type can»).
- En la utilidad find se ha implementado la opción «-ok comando» para ejecutar un comando con una confirmación previa del usuario sobre dicha operación.
- Se incluye otra tanda de correcciones para los intérpretes de comandos ash y hush, enfocadas en mejorar la compatibilidad con otros intérpretes. Se ha añadido soporte para la autocompleción de nombres de funciones y alias con la tecla Tab. En hush se ha añadido una implementación integrada del comando «false».
- En awk se ha implementado la bandera «-E» para leer texto de script desde un archivo.
- En la utilidad od se ha implementado la opción «-B» (sinónimo de «-t o2») para la salida en forma de valores octales de 2 bytes.
- En la utilidad time, la opción «-f FMT» permite el escape de caracteres mediante las secuencias «\escape» y «%%».
- En la utilidad top, se ha mejorado la visualización de identificadores PID grandes.
- En readlink se ha añadido soporte para el separador «—» y se ha mejorado la compatibilidad con el estándar POSIX en relación con el uso de la opción «-n».
- En el comando start-stop-daemon se han añadido las opciones «-O/—output» (redirigir salida) y «-d DIR» (cambiar directorio predeterminado).
- En ntpd se ha asegurado la compatibilidad del cliente y servidores NTP con tiempo después del año 2038.
Fuente: opennet.ru
