This is about using busybox alone , not under buildroot or uClinux-dist.
You can download the latest snapshot or stable release from busybox.net .
Busybox, .config for cross compile
#
# Build Options
#
CONFIG_STATIC=y
# CONFIG_BUILD_LIBBUSYBOX is not set
# CONFIG_FEATURE_FULL_LIBBUSYBOX is not set
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
CONFIG_LFS=y
USING_CROSS_COMPILER=y
CROSS_COMPILER_PREFIX="nios2-linux-uclibc-"
EXTRA_CFLAGS_OPTIONS="-Dfork=vfork -Ddaemon=clone"
# CONFIG_BUILD_AT_ONCE is not set
#
# Installation Options
#
# CONFIG_INSTALL_NO_USR is not set
CONFIG_INSTALL_APPLET_SYMLINKS=y
# CONFIG_INSTALL_APPLET_HARDLINKS is not set
# CONFIG_INSTALL_APPLET_DONT is not set
PREFIX="/home/hippo/rootfs"
I used this flags before, (but not now)
EXTRA_CFLAGS_OPTIONS="-D__uClinux__ -Dfork=vfork"Busybox, Makefile add elf2flt flag
busybox_unstripped: .depend $(LIBBUSYBOX_SONAME) $(BUSYBOX_SRC) $(libraries-y)
$(do_link) $(PROG_CFLAGS) $(PROG_LDFLAGS) $(CFLAGS_COMBINE)
-Wl,-elf2flt="-s 16000" -Wl,-v -Wl,-d
-o $@ -Wl,--start-group
$(APPLETS_DEFINE) $(APPLET_SRC)
$(BUSYBOX_DEFINE) $(BUSYBOX_SRC) $(libraries-y)
$(LDBUSYBOX) $(LIBRARIES)
-Wl,--end-group
busybox: busybox_unstripped
$(Q)cp busybox_unstripped busybox
# $(do_strip)
There is an important issue about busybox. It takes more memory on MMU-less arch.
So I moved away from busybox a little. I use stand alone init, sash, and servers from uClinux-dist. I built others utils into busybox. see
UClinuxDist .