How to recompile busybox 1.11.3 with Digi Embedded Linux 4.2 (e.g. enable sendmail)
- extract the busybox source from the Digi Embedded Linux DVD # mount cdrom
- check for any patches Digi has done on busybox # find $PATHTODVD/toolchain -iname \*busybox\*
- change into the source code and apply the patches Digi has done # cd busybox-1.11.3
- Add the Digi cross compilation toolchain to your PATH # export PATH=/usr/local/DigiEL-4.2/bin:$PATH
- Modify the busybox to your needs: e.g. configure some additional features:
- Check how to cross compile busybox in the Makefile Typically you would need to change CROSS_COMPILE, CXX or CC in the Makefile or when callig make. This is very dependent on which application you try to re-compile. For busybox this can be done with:
- Install every file needed into your rootfs Running "make install" will not do the job (without patching it), since this will install on your development PC and not into your Digi Embedded Linux project
- Build and deploy your project to the embedded module ..and test "sendmail". See the busybox or more general sendmail documentation in the web on how to use it.
# tar xjf $PATHTODVD/toolchain/packages/busybox-1.11.3.tar.bz2
check the output for relevant patches for busybox source code..
# patch -p1 < $PATHTODVD/toolchain/builder/packages/busybox/patch/target/busybox-1.11.3-config.patch
# patch -p1 < $PATHTOVDV/toolchain/builder/packages/busybox/patch/target/busybox-1.11.3-version.patch
# make xconfig
-> Select Networking Utilities
-> Check "sendmail"
Save and Quit, graphical config
you can also do this by patching .config of busybox by adding:
# make CROSS_COMPILE=arm-linux-
This will generate a ARM9 busybox binary file in the local build directory:
# file busybox
busybox: ELF 32-bit LSB executable, ARM, ...
Just copy the busybox binary into your roofs under /bin and add a symbolic link for sendmail
If you want this for only one project, add the commands to the add_files.sh of your project.
If all your projects should contain the new busybox with sendmail, add this to the standard rootfs. Be sure to make a backup of your old rootfs_base before.
# install busybox /usr/local/DigiEL-4.2/rootfs/rootfs_base/bin/busybox
# cd /usr/local/DigiEL-4.2/rootfs/rootfs_base/bin
# ln -s busybox sendmail