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

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

final-system/busybox: Always put 'make' at the start of the command line

This tells make to set these internal to it variables rather than having
the shell set the variables and then launch make. This is slightly
safer and works correctly.

  • Property mode set to 100644
File size: 5.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
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
11  <title>BusyBox-&busybox-version;</title>
12
13  <indexterm zone="ch-system-busybox">
14    <primary sortas="a-BusyBox">BusyBox</primary>
15  </indexterm>
16
17  <sect2 role="package">
18    <title/>
19
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
26     a fairly complete environment for any small or embedded system.</para>
27
28  </sect2>
29
30  <sect2 role="installation">
31    <title>Installation of BusyBox</title>
32
33    <para os="a">First ensure the BusyBox source is completely clean:</para>
34
35<screen os="b"><userinput>make distclean</userinput></screen>
36
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>
40    </note>
41
42    <para os="f">The following tells BusyBox to use the default
43      configuration:</para>
44
45<screen os="g"><userinput>make ARCH="${CLFS_ARCH}" defconfig</userinput></screen>
46
47    <para os="fa">Disable building both ifplugd and inetd as they both have
48      issues building against musl:</para>
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
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
65    <para os="h">Compile the package:</para>
66
67<screen os="i"><userinput>make ARCH="${CLFS_ARCH}" CROSS_COMPILE="${CLFS_TARGET}-"</userinput></screen>
68
69    <para os="j">Install the package:</para>
70
71<screen os="k"><userinput>make ARCH="${CLFS_ARCH}" CROSS_COMPILE="${CLFS_TARGET}-"\
72  CONFIG_PREFIX="${CLFS}/targetfs" install</userinput></screen>
73
74    <para os="l">If you're going to build your kernel with modules, you will need
75    to make sure <command>depmod.pl</command> is available:</para>
76
77<screen os="m"><userinput>cp examples/depmod.pl ${CLFS}/cross-tools/bin
78chmod 755 ${CLFS}/cross-tools/bin/depmod.pl</userinput></screen>
79
80  </sect2>
81
82  <sect2 id="contents-busybox" role="content">
83    <title>Contents of BusyBox</title>
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.