No busybox please

This is my biggest pet-peeve with OpenWRT on “regular” routers: Due to the limited amount of flash they come with small busybox versions for most tools such as ls, bash, vi, etc. On those devices it makes sense (and if you want the full things you probably use usb-extroot and install those over there).

But the Turris has more than enough space so you can put the full vim, bash, zsh, less, ls, etc. including manpages on the device. So please do so! Busybox is great for very limited devices, but compared to the real thing it’s pretty terrible (ps vs ps aux for example, and a lame vi instead of a nice vim)

1 Like

Busybox is a perfect tool set, and i really like it. Also internally owrt using it a lot.
You can always install bash, ps tools and other utilities from the opkg repositories, where is a problem?

1 Like

The problem is, at least with stock OpenWRT, that you manually have to delete some of the busybox symlinks before being able to install and use the proper tools. Also, installing every coreutil separately instead of having e.g. a coreutils-all package is not very nice…

Just create your own coreutils-all meta package, with dependencies and install scripts which will do the job :slight_smile: And i am against changing defaults binaries because it may cause issues with busybox itself (e.g. ash/bash are not always equal).

Wouldn’t tinyssh with some kind of ssh brute force protection be more secure? There is no dynamic memory allocation and the code base is small enough to audit. I would love to see this as preconfigured out of the box with the option to use fwknop.

What does SSH have to do with it?

I think it would be a mistake to diverge too far from the default OpenWRT, but replacing busybox tools with “real” GNU coreutils could certainly be made an option. Maybe even work with upstream so that it becomes easy on all OpenWRT routers. Besides that, you can put whatever you want in the containers that will be possible with LXC and/or Docker

2 Likes

I think at least coreutils versions of some packages should be included, for example the busybox sleep utility only supports an integer value which breaks some scripts.

It’s far better to have the minimalist (openWRT default) versions of packages in the base image to leave the most resources available for whatever packages people want to add.

Hopefully, the build is going to end up being a minimal forking of OpenWRT initially, with the changes/new packages going upstream or into a openWRT feed so that it’s easy to recompile an image with whatever packages you want included.

nobody wants the full blown versions of every package (and having full-blown apache with every option enabled is a security nightmare). Each person wants the minimalist packages for things they aren’t directly working with, but need to make things work, and the more complete packages for what they are tweaking.

1 Like

There’s a huge different between something like Apache and the most basic system utilities. A full Vim (binary+runtime) with about ~10MB would probably be the biggest thing; My /bin and /usr/bin on an OpenWRT running on usbroot with full coreutils, psutils, etc. is still less than 10MB.

I’m pretty sure that those ~15MB of flash memory will not make a difference in any realistic case.

1 Like