MX-760HD ExtendingOrReplacingBusybox
From MvixCommunity
Busybox within the Unicorn firmware is quite limited. It does the minimum that Unicorn require it to do. But for us, it could really do more.
Unicorn's busybox has many routines missing that would be useful.
For instance grep(1), find(1) and file(1) can be handy when analysing the system. adduser(1), addgroup(1) and passwd(1) are useful for maintaining accounts on the system. unzip(1), bunzip2(1), bzcat(1) and uncompress(1) are useful when working with archives.
It's possible that not all functions of the busybox application will work on the MX-760HD with it's MMU-less architecture.
The following is a list of busybox functions with any relevant information.
| Busybox Function | Function Available In Unicorn's Firmware? | Status |
|---|---|---|
| [ | Yes | Successfully compiles, is untested (Olav's busybox) |
| [[ | No | |
| addgroup | No | |
| adduser | No | |
| adjtimex | No | |
| ar | No | |
| arp | No | |
| arping | No | |
| ash | No | |
| awk | No | Yes, successfully compiles and works (Olav's busybox) |
| basename | Yes | Successfully compiles, is untested (Olav's busybox) |
| bunzip2 | No | |
| busybox | Yes | Successfully compiles, is untested (Olav's busybox) |
| bzcat | No | |
| cal | No | |
| cat | Yes | Successfully compiles, is untested (Olav's busybox) |
| catv | No | |
| chattr | No | |
| chgrp | No | |
| chmod | No | Successfully compiles, is untested (Olav's busybox) |
| chown | No | |
| chpst | No | |
| chroot | No | |
| chvt | No | |
| cksum | No | |
| clear | No | Successfully compiles, is untested (Olav's busybox) |
| cmp | No | Successfully compiles, is untested (Olav's busybox) |
| comm | No | |
| cp | Yes | Successfully compiles, is untested (Olav's busybox) |
| cpio | No | |
| crond | No | |
| crontab | No | |
| cut | No | Successfully compiles, is untested (Olav's busybox) |
| date | Yes | Successfully compiles, is untested (Olav's busybox) |
| dc | No | |
| dd | No | |
| deallocvt | No | |
| delgroup | No | |
| deluser | No | |
| df | Yes | Successfully compiles, is untested (Olav's busybox) |
| dhcprelay | No | |
| diff | No | |
| dirname | No | Successfully compiles, is untested (Olav's busybox) |
| dmesg | No | No - successfully compiles, does not work (Olav's busybox) |
| dnsd | No | |
| dos2unix | No | |
| dpkg | No | |
| dpkg-deb | No | |
| du | No | Successfully compiles, is untested (Olav's busybox) |
| dumpkmap | No | |
| dumpleases | No | |
| echo | No | Successfully compiles, is untested (Olav's busybox) |
| ed | No | |
| egrep | No | Successfully compiles, is untested (Olav's busybox) |
| eject | No | |
| env | No | Successfully compiles, is untested (Olav's busybox) |
| envdir | No | |
| envuidgid | No | |
| expr | No | Successfully compiles, is untested (Olav's busybox) |
| fakeidentd | No | |
| false | Yes | Successfully compiles, is untested (Olav's busybox) |
| fbset | No | |
| fdflush | No | |
| fdformat | No | |
| fdisk | No | |
| fgrep | No | Successfully compiles, is untested (Olav's busybox) |
| find | No | Successfully compiles, is untested (Olav's busybox) |
| fold | No | Successfully compiles, is untested (Olav's busybox) |
| free | Yes | Successfully compiles, is untested (Olav's busybox) |
| freeramdisk | No | |
| fsck | No | |
| fsck.minix | No | |
| ftpget | No | |
| ftpput | No | |
| fuser | No | |
| getopt | No | |
| getty | No | |
| grep | No | Successfully compiles, is untested (Olav's busybox) |
| gunzip | Yes | |
| gzip | Yes | |
| halt | No | |
| hdparm | No | Successfully compiles, is untested (Olav's busybox) |
| head | No | Yes, successfully compiles and works (Olav's busybox) |
| hexdump | No | |
| hostid | No | |
| hostname | Yes | |
| httpd | No | |
| hwclock | No | |
| id | Yes | |
| ifconfig | Yes | Successfully compiles, is untested (Olav's busybox) |
| ifdown | No | |
| ifup | No | |
| inetd | No | |
| init | Yes | |
| insmod | Yes | Successfully compiles, is untested (Olav's busybox) |
| install | No | |
| ip | No | |
| ipaddr | No | |
| ipcalc | No | |
| ipcrm | No | |
| ipcs | No | |
| iplink | No | |
| iproute | No | |
| iprule | No | |
| iptunnel | No | |
| kill | Yes | Successfully compiles, is untested (Olav's busybox) |
| killall | Yes | Successfully compiles, is untested (Olav's busybox) |
| killall5 | No | |
| klogd | No | |
| lash | No | Successfully compiles, is untested (Olav's busybox) |
| last | No | |
| length | No | Successfully compiles, is untested (Olav's busybox) |
| less | No | |
| linux32 | No | |
| linux64 | No | |
| linuxrc | No | |
| ln | No | Successfully compiles, is untested (Olav's busybox) |
| loadfont | No | |
| loadkmap | No | |
| logger | No | |
| login | Yes | |
| logname | No | |
| logread | No | |
| losetup | No | |
| ls | Yes | Successfully compiles, is untested (Olav's busybox) |
| lsattr | No | |
| lsmod | No | Successfully compiles, is untested (Olav's busybox) |
| lzmacat | No | |
| makedevs | No | |
| md5sum | No | |
| mdev | No | |
| mesg | No | |
| mkdir | Yes | Successfully compiles, is untested (Olav's busybox) |
| mkfifo | No | |
| mkfs.minix | No | |
| mknod | No | |
| mkswap | No | |
| mktemp | No | |
| modprobe | No | |
| more | Yes | Successfully compiles, is untested (Olav's busybox) |
| mount | Yes | Successfully compiles, is untested (Olav's busybox) |
| mountpoint | No | |
| msh | Yes | |
| mt | No | |
| mv | No | Successfully compiles, is untested (Olav's busybox) |
| nameif | No | |
| nc | No | |
| netstat | No | Successfully compiles, is untested (Olav's busybox) |
| nice | No | |
| nmeter | No | |
| nohup | No | |
| nslookup | No | |
| od | No | |
| openvt | No | |
| passwd | No | |
| patch | No | |
| pidof | No | Successfully compiles, is untested (Olav's busybox) |
| ping | Yes | Successfully compiles, is untested (Olav's busybox) |
| ping6 | No | |
| pipe_progress | No | |
| pivot_root | No | |
| poweroff | No | |
| printenv | No | |
| printf | No | Successfully compiles, is untested (Olav's busybox) |
| ps | No | Yes, successfully compiles and works (Olav's busybox) |
| pwd | Yes | Successfully compiles, is untested (Olav's busybox) |
| raidautorun | No | |
| rdate | No | |
| readahead | No | |
| readlink | No | |
| readprofile | No | |
| realpath | No | Successfully compiles, is untested (Olav's busybox) |
| reboot | Yes | |
| renice | No | Successfully compiles, is untested (Olav's busybox) |
| reset | Yes | Successfully compiles, is untested (Olav's busybox) |
| resize | No | |
| rm | Yes | Successfully compiles, is untested (Olav's busybox) |
| rmdir | No | Successfully compiles, is untested (Olav's busybox) |
| rmmod | Yes | |
| route | Yes | Successfully compiles, is untested (Olav's busybox) |
| rpm | No | |
| rpm2cpio | No | |
| run-parts | No | |
| runlevel | No | |
| runsv | No | |
| runsvdir | No | |
| rx | No | |
| sed | No | Yes. Successfully compiles and works in Olav's busybox. |
| seq | No | Successfully compiles, is untested (Olav's busybox) |
| setarch | No | |
| setconsole | No | |
| setkeycodes | No | |
| setlogcons | No | |
| setsid | No | |
| setuidgid | No | |
| sh | Yes | Successfully compiles, is untested (Olav's busybox) * |
| sha1sum | No | |
| sleep | No | Successfully compiles, is untested (Olav's busybox) |
| softlimit | No | |
| sort | No | Successfully compiles, is untested (Olav's busybox) |
| split | No | |
| start-stop-daemon | No | |
| stat | No | |
| strings | No | |
| stty | No | |
| su | No | |
| sulogin | No | |
| sum | No | |
| sv | No | |
| svlogd | No | |
| swapoff | No | |
| swapon | No | |
| switch_root | No | |
| sync | No | |
| sysctl | No | |
| syslogd | No | |
| tail | No | Successfully compiles, is untested (Olav's busybox) |
| tar | Yes | |
| tcpsvd | No | |
| tee | No | Successfully compiles, is untested (Olav's busybox) |
| telnet | No | |
| telnetd | Yes | |
| test | Yes | Successfully compiles, is untested (Olav's busybox) |
| tftp | No | |
| time | Yes | |
| top | Yes | Successfully compiles, is untested (Olav's busybox) |
| touch | No | Successfully compiles, is untested (Olav's busybox) |
| tr | No | Successfully compiles, is untested (Olav's busybox) ** |
| traceroute | No | |
| true | Yes | Successfully compiles, is untested (Olav's busybox) |
| tty | No | |
| udhcpc | Yes*** | |
| udhcpd | No | |
| udpsvd | No | |
| umount | Yes | Successfully compiles, is untested (Olav's busybox) |
| uname | No | Successfully compiles, is untested (Olav's busybox) |
| uncompress | No | |
| uniq | No | Successfully compiles, is untested (Olav's busybox) |
| unix2dos | No | |
| unlzma | No | |
| unzip | No | |
| uptime | Yes | Successfully compiles, is untested (Olav's busybox) |
| usleep | No | Successfully compiles, is untested (Olav's busybox) |
| uudecode | No | |
| uuencode | No | |
| vconfig | No | |
| vi | Yes | Successfully compiles, is untested (Olav's busybox) |
| vlock | No | |
| watch | No | |
| watchdog | No | |
| wc | No | Successfully compiles, is untested (Olav's busybox) |
| wget | Yes | Successfully compiles, is untested (Olav's busybox) |
| which | No | |
| who | No | |
| whoami | No | |
| xargs | No | Successfully compiles, is untested (Olav's busybox) |
| yes | No | Successfully compiles, is untested (Olav's busybox) |
| zcat | Yes | |
| zcip | No | |
* sh has been removed from future versions of busybox, presumably replaced by msh.
** tr has been removed from future versions of busybox
*** udhcpc is included in the firmware but not within the internal routines of Unicorn's busybox binary. It has been compiled as a separate binary. This may be because Unicorn have used a different source tree from that of the busybox binary.
More information to come...

