Recompile BusyBox with the following applets that are not included in OpenWrt's default BusyBox:
arping
chpasswd
cksum
diff
find (seems to be in owrt 24.10)
hostname
shred
ssty
tac
telnet
tty
xxd
pgrep
pkill
editing savehistory
and busybox applet
You can download my new busybox for TP-Link Archer C7 v2 on my Releases page.
Copy it to your OpenWRT
scp busybox_1.36.1-r42_mips_24kc.ipk root@sw-marion:/tmp/
and install it on your router
opkg install /tmp/busybox_1.36.1-r42_mips_24kc.ipk
and reboot it!
Doing a ls -al overlay/upper/bin/busybox rom/bin/busybox you can know the size of BusyBox.
For busybox 1.36.1 on OpenWrt 24.10.4, its size is 20% bigger:
-rwxr-xr-x 1 root root 393253 Jul 27 19:42 overlay/upper/bin/busybox
-rwxr-xr-x 1 root root 327717 Oct 19 18:37 rom/bin/busybox
I don't know why the openwrt team doesn't add these commands... but I'd like to know.
You need the following tools to compile OpenWrt, the package names vary between distributions. A complete list with distribution specific packages is found in the Build System Setup documentation.
For busybox 1.36.1 on OpenWrt 24.10.4
Download the SDK, untar it, mv it to a small name, and cd to it. Then run feeds to obtain all the latest package definitions and get busybox, then run usign to get a key-build, then copy .config.ow.czo (my defition of BusyBox), then make!
wget https://downloads.openwrt.org/releases/24.10.4/targets/ath79/generic/openwrt-sdk-24.10.4-ath79-generic_gcc-13.3.0_musl.Linux-x86_64.tar.zst
tar -xf openwrt-sdk-24.10.4-ath79-generic_gcc-13.3.0_musl.Linux-x86_64.tar.zst
mv openwrt-sdk-24.10.4-ath79-generic_gcc-13.3.0_musl.Linux-x86_64 owrt
cd owrt
./scripts/feeds update -a
./scripts/feeds install busybox
./staging_dir/host/bin/usign -G -s ./key-build -p ./key-build.pub -c "Local build key"
# stop here for devel
perl -i -pe 's,^PKG_RELEASE:=.*$,PKG_RELEASE:=42,' package/feeds/base/busybox/Makefile
cp ../.config.ow.czo .config
make package/busybox/compile
The package is in bin/packages/mips_24kc/base/busybox_1.36.1-r42_mips_24kc.ipk.
backup:
cd ..
rsync -av owrt/ ooo
cd owrt
and:
make menuconfig
In the config, choose:
Base system -->
[*] Customize busybox options -->
Settings -->
[*] Include busybox applet
Coreutils -->
[*] cksum (4.1 kb) (NEW)
then at line ~4000, CONFIG_BUSYBOX_CONFIG_HAVE_DOT_CONFIG=y, and go for diff!
vimdiff .config ../.config.ow.czo
perl -i -pe 's,^PKG_RELEASE:=.*$,PKG_RELEASE:=30,' package/feeds/base/busybox/Makefile
cp -f ../.config.ow.czo .config
make package/busybox/compile
- Forum: For usage, projects, discussions and hardware advise.
- Support Chat: Channel
#openwrton oftc.net.
- Bug Reports: Report bugs in OpenWrt
- Dev Mailing List: Send patches
- Dev Chat: Channel
#openwrt-develon oftc.net.
OpenWrt is licensed under GPL-2.0