source: clfs-embedded/BOOK/final-system/x86/busybox.xml@ 06beb7a

Last change on this file since 06beb7a was 2567553, checked in by Joe Ciccone <jciccone@…>, 16 years ago

Updated Busybox to 1.12.1.
Patched uClibc so struct flock doesn't get redefined.

  • Property mode set to 100644
File size: 5.7 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 single small
21 executable. It provides replacements for most of the utilities you usually find in GNU
22 fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than
23 their full-featured GNU cousins; however, the options that are included provide the
24 expected functionality and behave very much like their GNU counterparts. BusyBox provides
25 a fairly complete environment for any small or embedded system.</para>
26
27 </sect2>
28
29 <sect2 role="installation">
30 <title>Installation of Busybox</title>
31
32 <para os="p1">The following patch fixes some issues that are related to the
33 headers we are using:</para>
34
35<screen os="p2"><userinput>patch -Np1 -i ../&busybox-fixes-patch;</userinput></screen>
36
37 <para os="p3">The following patch corrects some includes in
38 <filename>iptunnel.c</filename> to be compatible with the sanatized
39 kernel headers installed earlier:</para>
40
41<screen os="p4"><userinput>patch -Np1 -i ../&busybox-iptunnel_headers-patch;</userinput></screen>
42
43 <para os="a">Create the default configuration:</para>
44
45<screen os="b"><userinput>make defconfig</userinput></screen>
46
47 <note os="c">
48 <para>Below we are just telling Busybox to use the default configuration of
49 uClibc. For those for more adventureous, you can use make menuconfig, and
50 do a more custom build of your Busybox.</para>
51 </note>
52
53 <para os="d">We will need to edit the configuration file, to make sure everything gets
54 compiled:</para>
55
56<screen os="e"><userinput>BUSYBOX_OPTIONS="CONFIG_DMALLOC CONFIG_BUILD_AT_ONCE CONFIG_BUILD_LIBBUSYBOX
57 CONFIG_FEATURE_SH_IS_NONE CONFIG_LOCALE_SUPPORT CONFIG_TFTP CONFIG_FTPGET
58 CONFIG_FTPPUT CONFIG_IPCALC CONFIG_TFTP CONFIG_HUSH CONFIG_LASH
59 CONFIG_MSH CONFIG_INETD CONFIG_DPKG CONFIG_RPM2CPIO CONFIG_RPM
60 CONFIG_FOLD CONFIG_LOGNAME CONFIG_OD CONFIG_CRONTAB CONFIG_UUDECODE
61 CONFIG_UUENCODE CONFIG_SULOGIN CONFIG_DC CONFIG_DEBUG_YANK_SUSv2
62 CONFIG_DEBUG_INIT CONFIG_DEBUG_CROND_OPTION CONFIG_FEATURE_UDHCP_DEBUG
63 CONFIG_TASKSET CONFIG_CHATTR CONFIG_FSCK CONFIG_LSATTR CONFIG_CHPST
64 CONFIG_SETUIDGID CONFIG_ENVUIDGID CONFIG_ENVDIR CONFIG_SOFTLIMIT
65 CONFIG_FEATURE_2_4_MODULES"
66for config in $BUSYBOX_OPTIONS; do
67 cp .config{,.orig}
68 sed -e "s:${config}=y:${config}=n:" .config.orig &gt; .config
69done
70BUSYBOX_OPTIONS="CONFIG_FEATURE_SH_IS_ASH CONFIG_FEATURE_TRACEROUTE_VERBOSE
71 CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE"
72for config in $BUSYBOX_OPTIONS; do
73 cp .config{,.orig}
74 sed -e "s:# ${config} is not set:${config}=y:" .config.orig &gt; .config
75done</userinput></screen>
76
77 <para os="f">Compile the package:</para>
78
79<screen os="g"><userinput>make ARCH=i386 CROSS_COMPILE="${CLFS_TARGET}-" CFLAGS="${BUILD}"</userinput></screen>
80
81 <para os="h">Install the package:</para>
82
83<screen os="i"><userinput>make ARCH=i386 CROSS_COMPILE="${CLFS_TARGET}-" CFLAGS="${BUILD}" \
84 CONFIG_PREFIX="${CLFS}" install</userinput></screen>
85
86 <para os="j">If your going to build your kernel with modules, you will need to make
87 sure <command>depmod.pl</command> is available:</para>
88
89<screen os="k"><userinput>cp examples/depmod.pl ${CLFS}/cross-tools/bin
90chmod 755 ${CLFS}/cross-tools/bin/depmod.pl</userinput></screen>
91
92 </sect2>
93
94 <sect2 id="contents-busybox" role="content">
95 <title>Contents of Busybox</title>
96
97 <segmentedlist>
98 <segtitle>Installed programs</segtitle>
99
100 <seglistitem>
101 <seg>To be Written</seg>
102 </seglistitem>
103 </segmentedlist>
104
105<!--
106 <variablelist>
107 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
108 <?dbfo list-presentation="list"?>
109 <?dbhtml list-presentation="table"?>
110
111 <varlistentry id="bash">
112 <term><command>bash</command></term>
113 <listitem>
114 <para>A widely-used command interpreter; it performs many types of
115 expansions and substitutions on a given command line before executing
116 it, thus making this interpreter a powerful tool</para>
117 <indexterm zone="ch-system-bash bash">
118 <primary sortas="b-bash">bash</primary>
119 </indexterm>
120 </listitem>
121 </varlistentry>
122
123 <varlistentry id="bashbug">
124 <term><command>bashbug</command></term>
125 <listitem>
126 <para>A shell script to help the user compose and mail standard
127 formatted bug reports concerning <command>bash</command></para>
128 <indexterm zone="ch-system-bash bashbug">
129 <primary sortas="b-bashbug">bashbug</primary>
130 </indexterm>
131 </listitem>
132 </varlistentry>
133
134 <varlistentry id="sh">
135 <term><command>sh</command></term>
136 <listitem>
137 <para>A symlink to the <command>bash</command> program; when invoked
138 as <command>sh</command>, <command>bash</command> tries to mimic the
139 startup behavior of historical versions of <command>sh</command> as
140 closely as possible, while conforming to the POSIX standard as
141 well</para>
142 <indexterm zone="ch-system-bash sh">
143 <primary sortas="b-sh">sh</primary>
144 </indexterm>
145 </listitem>
146 </varlistentry>
147
148 </variablelist>
149-->
150 </sect2>
151
152</sect1>
Note: See TracBrowser for help on using the repository browser.