Author Topic: Building BusyBox  (Read 3386 times)

Destroyer

  • Administrator
  • Jr. Member
  • *****
  • Posts: 60
  • Karma: +2/-0
    • Hardcore forensics
Building BusyBox
« on: December 26, 2010, 12:04:47 PM »
Prerequisites
  • Read the Embedded Development tutorial

Busybox:
The source is available here: Busybox

For now I have posted a new binary of  Busybox 1.18.x build (Released 16-Jan-2011):

The actual Binary is available here: BusyBox Binary

Busybox Binary:
MD5: 5BB64DE7B9F86AC12B96C30EB726B2C5
SHA256:49703115049441753CE73B12500A5CF2B336C899E38A34341DB262F532F65414

Busybox Zipfile:
MD5:45AE735FAC4CFC1C0EAE72EC7F77E6E3
SHA256:964AA234C1AE5EB20BC197F55B6153289CE92745A29F0D4AD029F35941CACE0D

Installation
Since Busybox is mainly a developers tool we will not be going into too much detail as regards installation.
Please note I have *NOT* given details to install it and bypass the system utilities, just incase you want to use both sets.

Therefore after it is installed into the system you will need to preface commands as follows:
./system/xbin/busybox {cmd}

$ ./adb shell
# mount -o rw,remount -t ext4 /dev/block/mmcblk0p2 /system
# exit

$./adb push 'location of busybox file'  /system/xbin/busybox
$./adb shell
# cd /system/xbin
# chmod 755 busybox
# ./busybox


Code: [Select]
BusyBox v1.19.0.git (2011-01-27 10:27:56 HKT) multi-call binary.
Copyright (C) 1998-2009 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.


Usage: busybox [function] [arguments]...
   or: [function] [arguments]...

BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable.  Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as!

Currently defined functions:
[, [[, addgroup, adduser, adjtimex, ar, arp, arping, ash,
awk, basename, bunzip2, bzcat, bzip2, cal, cat, catv,
chattr, chgrp, chmod, chown, chpasswd, chpst, chroot,
chrt, chvt, cksum, clear, cmp, comm, cp, cpio, crond,
crontab, cryptpw, cut, date, dc, dd, deallocvt, delgroup,
deluser, df, dhcprelay, diff, dirname, dmesg, dnsd, dos2unix,
du, dumpkmap, dumpleases, echo, ed, egrep, eject, env,
envdir, envuidgid, ether-wake, expand, expr, fakeidentd,
false, fbset, fdflush, fdformat, fdisk, fgrep, find, fold,
free, freeramdisk, fsck, fsck.minix, ftpget, ftpput, fuser,
getopt, getty, grep, gunzip, gzip, halt, hdparm, head,
hexdump, hostid, hostname, httpd, hwclock, id, ifconfig,
ifdown, ifup, inetd, init, insmod, install, ip, ipaddr,
ipcalc, ipcrm, ipcs, iplink, iproute, iprule, iptunnel,
kbd_mode, kill, killall, killall5, klogd, last, length,
less, linux32, linux64, linuxrc, ln, loadfont, loadkmap,
logger, login, logname, logread, losetup, ls, lsattr,
lsmod, lzmacat, makedevs, md5sum, mdev, mesg, microcom,
mkdir, mkfifo, mkfs.minix, mknod, mkswap, mktemp, modprobe,
more, mount, mountpoint, mt, mv, nameif, nc, netstat,
nice, nmeter, nohup, nslookup, od, openvt, passwd, patch,
pgrep, pidof, ping, ping6, pipe_progress, pivot_root,
pkill, poweroff, printenv, printf, ps, pscan, pwd, raidautorun,
rdate, readlink, readprofile, realpath, reboot, renice,
reset, resize, rm, rmdir, rmmod, route, rpm, rpm2cpio,
run-parts, runlevel, runsv, runsvdir, rx, sed, seq, setarch,
setconsole, setkeycodes, setlogcons, setsid, setuidgid,
sh, sha1sum, slattach, sleep, softlimit, sort, split,
start-stop-daemon, stat, strings, stty, su, sulogin, sum,
sv, svlogd, swapoff, swapon, switch_root, sync, sysctl,
syslogd, tail, tar, taskset, tcpsvd, tee, telnet, telnetd,
test, tftp, time, top, touch, tr, traceroute, true, tty,
ttysize, udhcpc, udhcpd, udpsvd, umount, uname, uncompress,
unexpand, uniq, unix2dos, unlzma, unzip, uptime, usleep,
uudecode, uuencode, vconfig, vi, vlock, watch, watchdog,
wc, wget, which, who, whoami, xargs, yes, zcat, zcip


Please report any issues,but above all understand that it is not 'magic'.
Busybox will not support hardware you do not have, that is to say if your Network is not connected then do not expect  commands such as ping, or network time to work until  you have instigated the underlying hardware.

« Last Edit: January 27, 2011, 07:08:10 AM by Admin »

adwin

  • Newbie
  • *
  • Posts: 1
  • Karma: +0/-0
Re: Building BusyBox
« Reply #1 on: April 20, 2011, 01:57:34 AM »
I'm most interested in your busybox Makefile and .config.
Unfortunately, bbconfig is unavailable. Would you mind sharing the aforementioned?

Destroyer

  • Administrator
  • Jr. Member
  • *****
  • Posts: 60
  • Karma: +2/-0
    • Hardcore forensics
Re: Building BusyBox
« Reply #2 on: April 20, 2011, 11:15:08 AM »
Yep not a problem to share the make file,
but it is just a straight build so the default download of Busybox should work.
it may be a few days because it is on my other system (which is non portable and has no internet connection)

HC