Mini2440: Building BusyBox as Dynamic Library for Mini2440
During the earlier discussions, we have seen how to build BusyBox as a static library and then boot the Mini2440 FriendlyARM board with uBoot and Linux kernel (with the root file system being built from BusyBox).
In this blog, we will discuss about building BusyBox as a dynamic library.
In order to build BusyBox as a dynamic library, perform the following steps:
- Execute the following command to configure BusyBox.
make ARCH=arm menuconfig
- Select the “Busybox Settings —>” menu item as shown in the below screen shot.
- Select the “Build Options —>” menu item as shown in the below screen shot.
- Ensure that “Build BusyBox as a static library (no shared libs)” is not selected, as shown in the below screen shot.
- Select the “Additional CFLAGS” menu item as shown in the below screen shot.
- Enter “-march=armv4t” in the edit box as shown in the below screen shot.
- Now save the BusyBox configuration and build BusyBox.
- Once BusyBox is built, install BusyBox.
Note: Procedure to build and install BusyBox is same as that discussed during the discussion on “Building BusyBox as a Static Library”.
Once you have installed BusyBox, we have to copy the libraries to the target file system.
In order to copy the libraries to the target file system, perform the following steps:
- Go to the directory where you have install the tool chain for building binaries for Mini2440. For example, on my system, it is as shown in the below command.
- Copy all the library files from “libc/armv4t/lib/*” to “lib” directory in the target file system. For example, on my system, it is as shown in the below command.
cp libc/armv4t/lib/* ~/target_fs/lib/
- Just for reference, here is the complete path for copy.
cp /opt/friendly_arm/toolchain/arm-2011.09/arm-none-linux-gnueabi/libc/armv4t/lib/* ~/target_fs/lib/
You are done. You should be able to successfully boot the Mini2440 FriendlyARM board with the new file system, including BusyBox with shared libary support.