[FS#1380] Provide method of "replacing" busybox to obtain non-distro functionality

LEDE Bugs lede-bugs at lists.infradead.org
Wed Feb 21 09:21:33 PST 2018


A new Flyspray task has been opened.  Details are below. 

User who did this - Jeff Kletsky (jeffsf) 

Attached to Project - OpenWrt/LEDE Project
Summary - Provide method of "replacing" busybox to obtain non-distro functionality
Task Type - Bug Report
Category - Base system
Status - Unconfirmed
Assigned To - 
Operating System - All
Severity - Medium
Priority - Very Low
Reported Version - lede-17.01
Due in Version - Undecided
Due Date - Undecided
Details - The busybox package is compiled in the pre-built images without functionality needed by some users, for example "ip tunnel". 

While a user can compile a local version of the busybox package, there is no straightforward way of installing it on a running system. Apparently opkg required busybox to complete installation of a replacement package so that it cannot be "removed" and then the new version installed.

Without manual manipulation of the package, it appears that a complete re-flash is required. This is "dangerous" as booting into failsafe without a functional busybox may not allow recovery.

At least as I understood the filesystem, it should be possible to recognize that it is busybox being installed and perform something like the following:

* Identify all symlinks installed in the flashed image to busybox
* Identify all symlinks about to be installed by the "new" busybox from the package
* Create a list of "removed" links by comparing the above results
* Install busybox to the overlay
* Update the overlay to "delete" the list of "removed" links

Assuming that the "new" busybox doesn't lack the functionality required for opkg, there shouldn't be a point in time where there is a "broken" busybox in the process.

Additionally, the flash will continue to have an operational "stock"busybox available for failsafe mode.

To be "super safe" it may be appropriate to install the busybox binary in a different location on the overlay, then mv/"relink" it into place.



 

More information can be found at the following URL:
https://bugs.lede-project.org/index.php?do=details&task_id=1380



More information about the lede-bugs mailing list