View Single Post
Posts: 268 | Thanked: 1,053 times | Joined on May 2010 @ The Netherlands
#1
Busybox-power provides an enhanced shell replacement for Maemo. It is built using the latest upstream release, rather than the old source used by default in Maemo.

All patches that Nokia included in Maemo's original BusyBox are reviewed. Newer versions of Nokia's patches are pulled from Debian Sid, while original patches are ported to this latest BusyBox release when they were missing from upstream. Maemo's configuration file for BusyBox has also been checked and updated against the default config from the new BusyBox release.

The result is a drop-in enhanced replacement for Maemo's BusyBox without losing any patched in functionality

This thread covers busybox-power for Diablo and Fremantle (N800/N810/N900). If you're looking for the Harmattan version (N9/N950), please refer to this thread instead.

Functionality included
This package wouldn't be called busybox-power if it didn't have extra functionality. The BusyBox binary in the package has been compiled with support for way more features and utilities than the stock busybox. Besides extra features like swap priority support in swapon, colored ls output and getopts support, the following extra utilities are included in addition to those which are also in the stock BusyBox shell:

bunzip2 bzcat bzip2 cpio cttyhack dnsdomainname dumpkmap ed fbset fdflush hush ip ipaddr iplink iproute iprule mountpoint mt nc pipe_progress popmaildir pscan usleep blockdev bootchartd crond fdisk ifenslave ip iptunnel klogd loadkmap logread makedevs mdev nbd-client raidautorun setconsole sulogin sysctl syslogd vconfig adjtimex arping base64 beep brctl cal catv chpst chrt crontab cryptpw dc devmem diff dos2unix dumpleases eject envdir envuidgid ether-wake fdformat fgconsole flock freeramdisk ftpget ftpput hexdump ionice iostat ipcalc last length less linux32 linux64 loadfont lpd lpq lpr lzcat lzma lzop lzopcat makemime man microcom mkpasswd mpstat nmeter patch pmap readahead reformime resize rev rpm rpm2cpio rtcwake runsv runsvdir rx script scriptreplay setarch setfont setuidgid showkey smemcap softlimit strings sv svlogd tcpsvd telnet tftp timeout traceroute traceroute6 ttysize udhcpc udpsvd unix2dos unlzma unlzop unxz unzip uudecode uuencode vlock volname wall xz xzcat ar acpid add-shell addgroup adduser arp chat delgroup deluser dhcprelay dnsd fakeidentd ftpd hdparm httpd ifplugd inetd lspci ntpd rdate rdev readprofile remove-shell sendmail sha256sum sha512sum telnetd tftpd tunctl udhcpd watchdog zcip whois pstree pwdx groups users setserial nameif ubirsvol sha3sum


There is a screenshot a little bit further down this post which shows all utilities (functions) included in busybox-power.

Other highlights include: Ctrl-R reverse history search, proper shell history handling, Maemo-specific bug fixes and more.
Lastly, busybox-power pulls in over three years of upstream BusyBox work!

Where to download
You can find busybox-power in Maemo's extras(-devel/testing) repository for Fremantle and extras-devel for Diablo. It is listed in the category "utilities" as "Enhanced BusyBox shell". You can also install it via the terminal by executing
Code:
apt-get install busybox-power
A standalone compiled binary (for Fremantle) is available here, for those interested in this.

Warning
This package replaces an essential system binary during installation, namely /bin/busybox. BusyBox has an essential (or better: critical) role in Maemo. This warning will also be given during installation of busybox-power. We have to take this approach, since Nokia decided to create a metapackage, which depends on specific versions of most system packages, unfortunately.

This warning aside, there have been no critical issues so far. A lot of work has been put into busybox-power to minimize the chance of messing stuff up, e.g. by testing intensively, creating md5 hashes during installation, and implementing checks for as much variables as possible. Busybox-power has been installed >250000 times (source) without any confirmed incidents I'm aware of.

About this package
My original intention was to simply provide an updated BusyBox shell; the stock one in Maemo is getting rather old (about 3 years to be precise). After working on Nokia's patches and making sure the new configuration didn't break anything, it was ready to be released. After releasing it, there were requests for an enhanced build with extra features enabled, so I made a separate release for that build. I found myself to be using that build too instead of the package I started out with.

Then it struck me that there was no real reason to maintain both an 'only updated' version and an enhanced version, as the 'only updated' one also had enhancements (brought in by the updated upstream sources). Maintaining two different versions would only fragment shell use in Maemo and had no real purpose. Therefore I started to polish and package up the enhanced binary for a wider audience, and busybox-power was born

The name is chosen as a parody on kernel-power, which basically does the same thing for Maemo's kernel (providing extra features, bugfixes, etcetera).

Screenshots



Last edited by iDont; 2014-01-24 at 17:53.
 

The Following 105 Users Say Thank You to iDont For This Useful Post:
AapoRantalainen, abubakar, ade, amin007110, Andy1210, anthonie, ArchiMark, arcticrobot, Ariadeno, azad1top, brad112358, Char, cheve, chill, conred, Copernicus, debernardis, didymos, drax, enne30, Estel, Fabian Schölzel, fasza2, ffha, frostbyte, fw190, Gill T, handaxe, humble, hxka, ivyking, JimKnopf, Joseph9560, jpala16, kaznovac, kevloral, knobtviker, laasonen, LavaCroft, maacruz, Marshall Banana, mayhem, Mentalist Traceur, MINKIN2, mr id, mr_jrt, mr_pingu, nafajafam, Nikem, NIN101, nokiabot, OVK, pelago, peter2p, peterleinchen, phedders, Pigro, princefakhan, qole, Raimu, realist, reinob, rich c, rolfok, RRvW, sake, saponga, Saturn, shanttu, SHARP66, shawwawa, shrijith1, sifo, Silvarum, sixwheeledbeast, Skaven2k2, Socim, Sohil876, Sourav.dubey, sowwhatyoureap, StefanL, stlpaul, strange1712, stryker9, szopin, Temporal, TiagoTiago, Tigerite, Tiran, TMavica, tokag, totalentropy, Trestry, tuxsavvy, udaychaitanya16, uppercase, vi_, Vlad_on_the_road, wolke, x-lette, Zentenario, zerox, zvogt, _David_