6

Is there a package manager for busybox devices? After all Busybox utilities are quite restricted. I suppose one would have to compile it for specific device.

Since I am asking on Unix/Linux exchange and Busybox was made for Linux, I assumed that it was clear that os in question is Linux.

  • 3
    Busybox is a shell, not a distribution. This is a peculiar question. Mixing hardware architecture into it ("...specific device") makes it more peculiar. What device are you asking about really? What OS does it run? Are you asking about package installation on embedded devices? – Wildcard Jan 13 '18 at 1:04
  • Apparently this is a common question for Busybox: busybox.net/FAQ.html#build_system Maybe we should address it here for their sake? – jdwolf Jan 13 '18 at 1:32
  • 2
    @Wildcard I thought it was quite clear. Yes Busybox is not a distro (it isn't a shell either really). Since I am asking on Unix/Linux exchange and Busybox was made for Linux, I assumed that it was clear that os in question is Linux. – user1561358 Jan 13 '18 at 19:41
  • I don't understand what a "package manager for busybox" would look like. Something that modifies the binary to add more tools to it? – Michael Mrozek Jan 18 '18 at 17:03
  • 1
    I will try to make it more clear. Suppose that you have a device running linux kernel and using Busybox binary for all tools and such. Now suppose that you want to install some software on the device. Busybox doesn't have a package manager integrated, unless you count rpm as one. So you have to install that first. How would you do it? – user1561358 Jan 19 '18 at 14:12
2

Entware is the "Ultimate repo for embedded devices". You can install it on routers, but I guess it would also work on other kind of busy-box devices. Check the wiki for how to install it.

4

BusyBox is what is called a multicall binary. Meaning it is one binary that has multiple utility functions. If called as a shell it runs as a shell, if called as the ls command it runs the ls command.

It acts as a replacement to many standard tools used on Linux and Unix-like systems with a small memory footprint. It replaces the functionality of other software like GNU coreutils, util-linux, iproute, etc and its intent is usually to be targeted to the requirements of a specific embedded system.

Therefor if the desire is to have a package manager of utilities in fact.. this is what busybox replaces and is designed not to be. So you can simply use the suite of tools busybox replaces.

You can select which utilities are included in busybox when you build it during compiling. Its not intended to be configured after the fact.

https://www.busybox.net/FAQ.html#build_system

  • Ok suppose I have only busybox on my device, and I need something that it doesn't have. How would I install that something? Now suppose I need package manager. How would I install it? – user1561358 Jan 19 '18 at 14:19
  • @user1561358 Now there is a good question to ask here. I'll say generally many embedded systems do not use package managers they use software to build images and then write the images to the embedded system. The installation is then fixed. Some software like OpenWRT has a package manager built in. Some other software like the Linux subsystem of Android has ways of adding a package manager. It depends on your embedded device. – jdwolf Jan 19 '18 at 14:32
  • In my case it's steam link. I had some success with installing libraries on it with rpm (that is included). But anything more complicated like dpkg, runs into symbol dependency issues. And unlike library dependencies, these are harder to solve. – user1561358 Jan 19 '18 at 15:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.