Fedora7busybox compilation 1.4.2 and 1.5.1

Source: Internet
Author: User
Fedora7busybox compilation 1.4.2 and 1.5.1 -- Linux general technology-Linux programming and kernel information. The following is a detailed description. Environment: fedora 7
Compiler: Cross Compiler 3.3.2
Busybox: 1.4.2

1. Modification

Modify Makefile in busybox
Modify ARCH and CROSS_COMPILE to the following
ARCH? = Arm
CROSS_COMPILE? =/Usr/local/arm/3.3.2/bin/arm-linux-

Ii. Configuration

[Root @ localhost busybox-1.4.2] # make defconfig
[Root @ localhost busybox-1.4.2] # make xconfig

Modify the configuration as follows:
Busybox Settings
Build Options
[] Build BusyBox as a static binary
// If this option is selected, an error occurs. Therefore, only dynamic compilation is supported.

Miscellaneous Utilities
[] Readahead // If Busybox Settings ---> Build Options ----> [] Build with Large File Support is removed
// This option will not appear.
[] If taskset // is selected, an error occurs.

Linux Module Utilities
  • Support version 2.2.x to 2.4.x Linux kernels

    Shells
    Choose your default shell
    Select ash

    Three compilations

    [Root @ localhost busybox-1.4.2] # make all install

    [Root @ localhost busybox-1.4.2] # cd _ install/bin/

    [Root @ localhost bin] # pwd
    /Root/maoyong/busybox-1.4.2/_ install/bin

    [Root @ localhost bin] # ls
    Addgroup catv cpio dmesg fdflush hostname iprule login more nice ps sed su uname
    Adduser chattr date dumpkmap fgrep ip iptunnel ls mount pidof pwd setarch sync uncompress
    Ash chgrp dd echo getopt ipaddr kill lsattr mountpoint ping rm sh tar usleep
    Bbconfig chmod delgroup ed grep ipcalc linux32 mkdir mt ping6 rmdir sleep touch vi
    Busybox chown deluser egrep gunzip iplink linux64 mknod mv pipe_progress rpm stat true watch
    Cat cp df false gzip iproute ln mktemp netstat printenv run-parts stty umount zcat

    [Root @ localhost bin] # file busybox
    Busybox: ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), for GNU/Linux 2.0.0, stripped

    4. view the shared library files
    Run the arm-linux-readelf-a $ {PROGRAM} | grep "Shared library" command"
    [Root @ localhost bin] # pwd
    /Root/maoyong/busybox-1.4.2/_ install/bin

    [Root @ localhost bin] # arm-linux-readelf-a busybox | grep "Shared library"

    0x00000001 (NEEDED) Shared library: [libcrypt. so.1]
    0x00000001 (NEEDED) Shared library: [libm. so.6]
    0x00000001 (NEEDED) Shared library: [libc. so.6]

    As shown above
    Libcrypt. so.1
    Libm. so.6
    Libc. so.6
    A file is a shared library file required by busybox. You need to copy it and its related link files
    The lib directory of the file system you created.

    (Note: The link files related to libcrypt. so.1 libm. so.6 libc. so.6 must also be copied to the lib directory)


    Environment: fedora 7
    Compiler: Cross Compiler 3.3.2
    Busybox: 1.5.1
    (Busy1.5.1 can be statically compiled without errors :))

    1. Modification

    Modify Makefile in busybox
    Modify ARCH and CROSS_COMPILE to the following
    ARCH? = Arm
    CROSS_COMPILE? =/Usr/local/arm/3.3.2/bin/arm-linux-

    Ii. Configuration

    [Root @ localhost busybox-1.5.1] # make defconfig
    [Root @ localhost busybox-1.5.1] # make xconfig

    Modify the configuration as follows:
    Busybox Settings
    Build Options
  • Build BusyBox as a static binary
    // Select this static compilation option.

    Miscellaneous Utilities
    [] If taskset // is selected, an error occurs.

    Other operations are the same as those of 1.4.2.

    [Root @ localhost busybox-1.5.1] # make all install

    Finally, the bin sbin usr directory will be generated in the busybox-1.5.1/_ install/directory

    [Root @ localhost busybox-1.5.1] # cd _ install/
    [Root @ localhost _ install] # ls
    Bin linuxrc sbin usr

    [Root @ localhost busybox-1.5.1] # cd _ install/

    [Root @ localhost _ install] # ls
    Bin linuxrc sbin us

    [Root @ localhost _ install] # cd bin
    [Root @ localhost bin] # ls
    Addgroup chattr date dumpkmap fgrep ip iptunnel ls mount pidof pwd setarch sync uncompress
    Adduser chgrp dd echo getopt ipaddr kill lsattr mountpoint ping rm sh tar usleep
    Ash chmod delgroup ed grep ipcalc linux32 mkdir mt ping6 rmdir sleep touch vi
    Busybox chown deluser egrep gunzip iplink linux64 mknod mv pipe_progress rpm stat true watch
    Cat cp df false gzip iproute ln mktemp netstat printenv run-parts stty umount zcat
    Catv cpio dmesg fdflush hostname iprule login more nice ps sed su uname

    [Root @ localhost bin] # file busybox
    Busybox: ELF 32-bit LSB executable, ARM, version 1, statically linked, stripped
    (There is no output information with busybox1.4.2 because it is statically compiled and does not need to be used.

    [Root @ localhost bin] # arm-linux-readelf-a busybox | grep "Shared library"
    [Root @ localhost bin] #
  • Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.