18

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.

Suppose that you have a device running a Linux kernel and using a 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?

The OS in question is Linux.

2
  • 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, 2018 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, 2018 at 1:32

3 Answers 3

14

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

3
  • 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? Jan 19, 2018 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, 2018 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. Jan 19, 2018 at 15:44
3

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.

2

Check here

 opkg install packagename

P.S. relevant only to Busy Box for OpenWRT. Thanks Jeff

1
  • 3
    It might be worth mentioning explicitly in your answer that you're referring to an OpenWRT page and OpenWRT command; the question makes no mention of OpenWRT, just busybox.
    – Jeff Schaller
    Jul 12, 2020 at 13:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .