source: clfs-embedded/BOOK/final-system/common/busybox.xml@ e1348bb

Last change on this file since e1348bb was 5092368, checked in by Andrew Bradford <andrew@…>, 8 years ago

busybox: v1.24 additional sed lines for config

In newer versions of busybox we need to disable the utmp/wtmp feature in
the defconfig as musl does not support it and we need to disable the
ipsvd program (similar to inetd) from being built due to huge header
confusion which results in build failures from conflicts between linux
and libc provided header structures.

  • Property mode set to 100644
File size: 5.1 KB
RevLine 
[e666df1]1<?xml version="1.0" encoding="ISO-8859-1"?>
[bd48e48]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[e666df1]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="ch-system-busybox" role="wrap">
9 <?dbhtml filename="busybox.html"?>
10
[364d698]11 <title>BusyBox-&busybox-version;</title>
[e666df1]12
13 <indexterm zone="ch-system-busybox">
[364d698]14 <primary sortas="a-BusyBox">BusyBox</primary>
[e666df1]15 </indexterm>
16
17 <sect2 role="package">
18 <title/>
19
[537fc5a]20 <para>BusyBox combines tiny versions of many common UNIX utilities into a
21 single small executable. It provides replacements for most of the utilities
22 you usually find in GNU fileutils, shellutils, etc. The utilities in
23 BusyBox generally have fewer options than their full-featured GNU cousins;
24 however, the options that are included provide the expected functionality
25 and behave very much like their GNU counterparts. BusyBox provides
[e666df1]26 a fairly complete environment for any small or embedded system.</para>
27
28 </sect2>
29
30 <sect2 role="installation">
[364d698]31 <title>Installation of BusyBox</title>
[e666df1]32
[6280230]33 <para os="a">First ensure the BusyBox source is completely clean:</para>
[e666df1]34
[6280230]35<screen os="b"><userinput>make distclean</userinput></screen>
36
[76135be]37 <note os="e"> <para>We tell BusyBox to use the generic defconfig. For those
38 for more adventurous, you can use <command>make menuconfig</command>,
39 and create a custom or modified configuration for your build.</para>
[3800899]40 </note>
41
[76135be]42 <para os="f">The following tells BusyBox to use the default
43 configuration:</para>
[de798fc]44
[76135be]45<screen os="g"><userinput>ARCH="${CLFS_ARCH}" make defconfig</userinput></screen>
[e666df1]46
[d22b691]47 <para os="fa">Disable building both ifplugd and inetd as they both have
[dd423a0]48 issues building against musl:</para>
[d22b691]49
50<screen os="fb"><userinput>sed -i 's/\(CONFIG_\)\(.*\)\(INETD\)\(.*\)=y/# \1\2\3\4 is not set/g' .config
51sed -i 's/\(CONFIG_IFPLUGD\)=y/# \1 is not set/' .config</userinput></screen>
52
[5092368]53 <para os="fc">Disable the use of utmp/wtmp as musl does not support
54 them:</para>
55
56<screen os="fd"><userinput>sed -i 's/\(CONFIG_FEATURE_WTMP\)=y/# \1 is not set/' .config
57sed -i 's/\(CONFIG_FEATURE_UTMP\)=y/# \1 is not set/' .config</userinput></screen>
58
59 <para os="fe">Disable the use of ipsvd for both TCP and UDP as it has issues
60 building against musl (similar to inetd's issues):</para>
61
62<screen os="ff"><userinput>sed -i 's/\(CONFIG_UDPSVD\)=y/# \1 is not set/' .config
63sed -i 's/\(CONFIG_TCPSVD\)=y/# \1 is not set/' .config</userinput></screen>
64
[6280230]65 <para os="h">Compile the package:</para>
[e666df1]66
[76135be]67<screen os="i"><userinput>ARCH="${CLFS_ARCH}" CROSS_COMPILE="${CLFS_TARGET}-" make</userinput></screen>
[e666df1]68
[6280230]69 <para os="j">Install the package:</para>
[e666df1]70
[76135be]71<screen os="k"><userinput>ARCH="${CLFS_ARCH}" CROSS_COMPILE="${CLFS_TARGET}-" make \
[3450c8f]72 CONFIG_PREFIX="${CLFS}/targetfs" install</userinput></screen>
[e666df1]73
[6280230]74 <para os="l">If you're going to build your kernel with modules, you will need
[537fc5a]75 to make sure <command>depmod.pl</command> is available:</para>
[f23b5ee]76
[6280230]77<screen os="m"><userinput>cp examples/depmod.pl ${CLFS}/cross-tools/bin
[0ed1461]78chmod 755 ${CLFS}/cross-tools/bin/depmod.pl</userinput></screen>
[f23b5ee]79
[e666df1]80 </sect2>
81
82 <sect2 id="contents-busybox" role="content">
[364d698]83 <title>Contents of BusyBox</title>
[e666df1]84
85 <segmentedlist>
86 <segtitle>Installed programs</segtitle>
87
88 <seglistitem>
89 <seg>To be Written</seg>
90 </seglistitem>
91 </segmentedlist>
92
93<!--
94 <variablelist>
95 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
96 <?dbfo list-presentation="list"?>
97 <?dbhtml list-presentation="table"?>
98
99 <varlistentry id="bash">
100 <term><command>bash</command></term>
101 <listitem>
102 <para>A widely-used command interpreter; it performs many types of
103 expansions and substitutions on a given command line before executing
104 it, thus making this interpreter a powerful tool</para>
105 <indexterm zone="ch-system-bash bash">
106 <primary sortas="b-bash">bash</primary>
107 </indexterm>
108 </listitem>
109 </varlistentry>
110
111 <varlistentry id="bashbug">
112 <term><command>bashbug</command></term>
113 <listitem>
114 <para>A shell script to help the user compose and mail standard
115 formatted bug reports concerning <command>bash</command></para>
116 <indexterm zone="ch-system-bash bashbug">
117 <primary sortas="b-bashbug">bashbug</primary>
118 </indexterm>
119 </listitem>
120 </varlistentry>
121
122 <varlistentry id="sh">
123 <term><command>sh</command></term>
124 <listitem>
125 <para>A symlink to the <command>bash</command> program; when invoked
126 as <command>sh</command>, <command>bash</command> tries to mimic the
127 startup behavior of historical versions of <command>sh</command> as
128 closely as possible, while conforming to the POSIX standard as
129 well</para>
130 <indexterm zone="ch-system-bash sh">
131 <primary sortas="b-sh">sh</primary>
132 </indexterm>
133 </listitem>
134 </varlistentry>
135
136 </variablelist>
137-->
138 </sect2>
139
140</sect1>
Note: See TracBrowser for help on using the repository browser.