ลักษณะโมดูลาร์ของ BusyBox ทำให้สามารถสร้างไฟล์ปฏิบัติการแบบรวมหนึ่งไฟล์ที่มีชุดยูทิลิตี้ตามอำเภอใจที่ใช้งานในแพ็คเกจ (แต่ละยูทิลิตี้มีอยู่ในรูปแบบของลิงก์สัญลักษณ์ไปยังไฟล์นี้) ขนาด องค์ประกอบ และฟังก์ชันการทำงานของคอลเลกชันยูทิลิตี้อาจแตกต่างกันไป ขึ้นอยู่กับความต้องการและความสามารถของแพลตฟอร์มฝังตัวที่กำลังดำเนินการประกอบ แพ็คเกจนี้มีอยู่ในตัวเอง เมื่อสร้างแบบคงที่ด้วย uclibc เพื่อสร้างระบบการทำงานบนเคอร์เนล Linux คุณเพียงแค่สร้างไฟล์อุปกรณ์หลายไฟล์ในไดเร็กทอรี /dev และเตรียมไฟล์คอนฟิกูเรชัน เมื่อเปรียบเทียบกับรุ่นก่อนหน้า 1.30 ปริมาณการใช้ RAM ของแอสเซมบลี BusyBox 1.31 ทั่วไปลดลง 86 ไบต์ (จาก 1008478 เป็น 1008392 ไบต์)
BusyBox เป็นเครื่องมือหลักในการต่อสู้กับการละเมิด GPL ในเฟิร์มแวร์ Software Freedom Conservancy (SFC) และ Software Freedom Law Center (SFLC) ในนามของนักพัฒนา BusyBox ทั้งผ่านทาง
การเปลี่ยนแปลงต่อไปนี้ถูกเน้นใน BusyBox 1.31:
- เพิ่มคำสั่งใหม่: ts (การใช้งานไคลเอนต์และเซิร์ฟเวอร์สำหรับโปรโตคอล TSP (Time-Stamp Protocol)) และ i2ctransfer (การสร้างและการส่งข้อความ I2C);
- เพิ่มการรองรับตัวเลือก DHCP ให้กับ udhcp
100 (ข้อมูลโซนเวลา) และ 101 (ชื่อโซนเวลาในฐานข้อมูล TZ) สำหรับ IPv6 - เพิ่มการรองรับการผูกชื่อโฮสต์แบบคงที่กับไคลเอนต์ใน udhcpd
- Ash และ Hush Shell ใช้ตัวอักษรตัวเลข "BASE#nnnn" การใช้งานคำสั่ง ulimit ได้รับการทำให้เข้ากันได้กับ bash รวมถึงตัวเลือก “-i RLIMIT_SIGPENDING” และ “-q RLIMIT_MSGQUEUE” เพิ่มการสนับสนุนสำหรับ "รอ -n" เพิ่มตัวแปร EPOCH ที่เข้ากันได้กับ bash;
- เชลล์เงียบใช้ตัวแปร "$-" ที่แสดงรายการตัวเลือกเชลล์ที่เปิดใช้งานตามค่าเริ่มต้น
- รหัสสำหรับการส่งผ่านค่าโดยการอ้างอิงถูกถ่ายโอนไปยัง bc จากอัปสตรีม เพิ่มการรองรับฟังก์ชันโมฆะและความสามารถในการทำงานกับค่า ibase สูงถึง 36
- ใน brctl คำสั่งทั้งหมดถูกแปลงให้ทำงานโดยใช้ pseudo-FS /sys;
- รวมรหัสของยูทิลิตี้ fsync และ sync แล้ว
- การใช้งาน httpd ได้รับการปรับปรุงแล้ว ปรับปรุงการประมวลผลส่วนหัว HTTP และทำงานในโหมดพร็อกซี รายการประเภท MIME ประกอบด้วย SVG และ JavaScript
- มีการเพิ่มตัวเลือก “-c” ใน losstup (บังคับให้ตรวจสอบขนาดไฟล์ที่เกี่ยวข้องกับอุปกรณ์วนซ้ำอีกครั้ง) รวมถึงตัวเลือกสำหรับการสแกนพาร์ติชัน mount และ losstup ให้การสนับสนุนการทำงานโดยใช้ /dev/loop-control;
- ใน ntpd ค่า SLEW_THRESHOLD เพิ่มขึ้นจาก 0.125 เป็น 0.5
- เพิ่มการรองรับการกำหนดค่า Null ให้กับ sysctl;
- เพิ่มการรองรับค่าเศษส่วนในตัวเลือก "-n SEC" เพื่อรับชม
- เพิ่มความสามารถในการรัน mdev เป็นกระบวนการเบื้องหลัง
- ยูทิลิตี้ wget ใช้แฟล็ก "-o" เพื่อระบุไฟล์ที่จะเขียนบันทึก เพิ่มการแจ้งเตือนเกี่ยวกับการเริ่มต้นและสิ้นสุดการดาวน์โหลด
- เพิ่มการรองรับคำสั่ง AYT IAC เพื่อ telnetd;
- เพิ่มคำสั่ง 'dG' ให้กับ vi (ลบเนื้อหาจากบรรทัดปัจจุบันไปยังจุดสิ้นสุดของไฟล์);
- เพิ่มตัวเลือก 'oflag=append' ให้กับคำสั่ง dd;
- เพิ่มธง '-H' ลงในยูทิลิตี้ด้านบนเพื่อให้สามารถสแกนแต่ละเธรดได้
เช่นกัน เมื่อสองสัปดาห์ก่อน
ในบรรดานวัตกรรมของ Toybox 0.8.1 เราสามารถสังเกตได้:
- บรรลุระดับของฟังก์ชันการทำงานที่เพียงพอสำหรับการสร้าง Android ในสภาพแวดล้อมที่ใช้ยูทิลิตี้ Toybox
- มีการรวมคำสั่ง mcookie และ devmem ใหม่ และคำสั่ง tar, gunzip และ zcat ที่เขียนใหม่จะถูกย้ายจากสาขาการทดสอบ
- มีการเสนอการใช้งาน vi ใหม่สำหรับการทดสอบ
- คำสั่ง find รองรับตัวเลือก "-wholename/-iwholename" แล้ว
"-printf" และ "-บริบท"; - เพิ่มตัวเลือก "--exclude-dir" เพื่อ grep;
- ตอนนี้ Echo รองรับตัวเลือก "-E" แล้ว
- เพิ่มการรองรับ "UUID" เพื่อเมานต์
- คำสั่ง date จะคำนึงถึงโซนเวลาที่ระบุในตัวแปรสภาพแวดล้อม TZ
- เพิ่มการรองรับช่วงสัมพัทธ์ (+N) ให้กับ sed
- ปรับปรุงความสามารถในการอ่านของเอาต์พุต ps, top และ iotop
ที่มา: opennet.ru