blob: 67c696c4c5706857758d301e21cfecf35b3f8a7d [file] [log] [blame]
Eric Andersen6c4a6b12004-10-08 10:50:08 +00001<!--#include file="header.html" -->
2
3
4<h3>Frequently Asked Questions</h3>
5
6This is a collection of some of the more frequently asked questions
7about BusyBox. Some of the questions even have answers. If you
8have additions to this FAQ document, we would love to add them,
9
10<ol>
11<li><a href="#kernel">Which Linux kernel versions are supported?</a>
12<li><a href="#arch">Which architectures does BusyBox run on?</a>
13<li><a href="#libc">Which C libraries are supported?</a>
14<li><a href="#commercial">Can I include BusyBox as part of the software on my device?</a>
15<li><a href="#bugs">I think I found a bug in BusyBox! What should I do?!</a>
16<li><a href="#job_control">Why do I keep getting "sh: can't access tty; job control
17 turned off" errors? Why doesn't Control-C work within my shell?</a>
Eric Andersen75a7e192005-01-13 17:23:28 +000018<li><a href="#getting_started">How can I get started using BusyBox?</a>
Eric Andersen6c4a6b12004-10-08 10:50:08 +000019<li><a href="#demanding">I demand that you to add &lt;favorite feature&gt; right now! How come
20 you don't answer all my questions on the mailing list instantly? I demand
21 that you help me with all of my problems <em>Right Now</em>!</a>
22<li><a href="#helpme">I need help with BusyBox! What should I do?</a>
23<li><a href="#contracts">I need you to add &lt;favorite feature&gt;! Are the BusyBox developers willing to
24 be paid in order to fix bugs or add in &lt;favorite feature&gt;? Are you willing to provide
25 support contracts?</a>
Mike Frysinger77dbe732005-04-17 04:32:22 +000026<li><a href="#external">Where can I find other small utilities since busybox does not include the features I want?</a></li>
Eric Andersen6c4a6b12004-10-08 10:50:08 +000027<li><a href="#support">I think you guys are great and I want to help support your work!</a>
Rob Landleyde7f9b72005-07-31 04:27:19 +000028<li><a href="#optimize">I want to make busybox even smaller, how do I go about it?</a>
29
Eric Andersen6c4a6b12004-10-08 10:50:08 +000030
31
32</ol>
33
34
35<hr />
36<p>
37<h2><a name="kernel">Which Linux kernel versions are supported?</a></h2>
38<p>
39
40
41 Full functionality requires Linux 2.2.x or better. A large fraction of the
42 code should run on just about anything. While the current code is fairly
43 Linux specific, it should be fairly easy to port the majority of the code
44 to support, say, FreeBSD or Solaris, or Mac OS X, or even Windows (if you
45 are into that sort of thing).
46
47
48<hr />
49<p>
50<h2><a name="arch">Which architectures does BusyBox run on?</a></h2>
51<p>
52
53
54 BusyBox in general will build on any architecture supported by gcc.
55 Kernel module loading for 2.2 and 2.4 Linux kernels is currently
56 limited to ARM, CRIS, H8/300, x86, ia64, x86_64, m68k, MIPS, PowerPC,
57 S390, SH3/4/5, Sparc, v850e, and x86_64 for 2.4.x kernels.
58
59 With 2.6.x kernels, module loading support should work on all architectures.
60
61
62<hr />
63<p>
64<h2><a name="libc">Which C libraries are supported?</a></h2>
65<p>
66
67
68 uClibc and glibc are supported. People have been looking at newlib and
69 dietlibc, but they are currently considered unsupported, untested, or
70 worse. Linux-libc5 is no longer supported. If you require a small C
71 library, you should probably use uClibc.
72
73
74<hr />
75<p>
Eric Andersen62e00372004-10-08 11:11:02 +000076<h2><a name="commercial">Can I include BusyBox as part of the software on my device?</h2>
Eric Andersen6c4a6b12004-10-08 10:50:08 +000077
78 Yes. As long as you <a href="http://busybox.net/license.html">fully comply
79 with the generous terms of the GPL BusyBox license</a> you can ship BusyBox
80 as part of the software on your device.
81
Eric Andersen75a7e192005-01-13 17:23:28 +000082 <br>
Eric Andersen6c4a6b12004-10-08 10:50:08 +000083 <a href="#support">Please consider sharing some of the money you make.</a>
84
85
86<hr />
87<p>
88<h2><a name="bugs">I think I found a bug in BusyBox! What should I do?</h2>
89<p>
90
Eric Andersenff4b9242005-01-31 13:05:02 +000091
92<p>
93
94 If you simply need help with using or configuring BusyBox, please submit a
95 detailed description of your problem to the BusyBox mailing list at <a
96 href="mailto:busybox@mail.busybox.net"> busybox@mail.busybox.net</a>.
97 Please do not send private email to Erik (the maintainer of BusyBox) asking
98 for private help unless you are planning on paying for consulting services.
99 When we answer questions on the BusyBox mailing list, it helps everyone,
100 while private answers help only you...
Eric Andersen6c4a6b12004-10-08 10:50:08 +0000101
102 <p>
103
Eric Andersenff4b9242005-01-31 13:05:02 +0000104 The developers of BusyBox are busy people, and have only so much they can
105 keep in their brains at a time. As a result, bug reports sometimes get
106 lost when posted to the mailing list. To prevent your bug report from
107 getting lost, if you find a bug in BusyBox, please use the <a
108 href="http://bugs.busybox.net/">BusyBox Bug and Patch Tracking System</a>
109 to submit a detailed bug report.
Eric Andersen6c4a6b12004-10-08 10:50:08 +0000110
Eric Andersenff4b9242005-01-31 13:05:02 +0000111 <p>
Eric Andersen6c4a6b12004-10-08 10:50:08 +0000112
Eric Andersenff4b9242005-01-31 13:05:02 +0000113 The same also applies to patches... Regardless of whether your patch is a
114 bug fix or adds shiney new features, please post your patch to the <a
115 href="http://bugs.busybox.net/">BusyBox Bug and Patch Tracking System</a>
116 to make certain it is properly considered.
Eric Andersen6c4a6b12004-10-08 10:50:08 +0000117
Eric Andersen6c4a6b12004-10-08 10:50:08 +0000118
119<hr />
120<p>
121<h2><a name="job_control">Why do I keep getting "sh: can't access tty; job control
122 turned off" errors? Why doesn't Control-C work within my shell?</a></h2>
123<p>
124
125 Job control will be turned off since your shell can not obtain a controlling
126 terminal. This typically happens when you run your shell on /dev/console.
127 The kernel will not provide a controlling terminal on the /dev/console
128 device. Your should run your shell on a normal tty such as tty1 or ttyS0
129 and everything will work perfectly. If you <em>REALLY</em> want your shell
130 to run on /dev/console, then you can hack your kernel (if you are into that
131 sortof thing) by changing drivers/char/tty_io.c to change the lines where
132 it sets "noctty = 1;" to instead set it to "0". I recommend you instead
133 run your shell on a real console...
134
135
136<hr />
137<p>
Eric Andersen9395ca42004-10-13 09:42:10 +0000138<h2><a name="getting_started">How can I get started using BusyBox?</a></h2>
139<p>
140
141 An easy method to build your own basic BusyBox based system, is to
142 follow these simple steps:
143 <ul>
Eric Andersen6ddc0d72005-02-21 22:04:21 +0000144 <li> Point your web browser <a href="http://buildroot.uclibc.org/">here</a>
145 <li> Download a copy of buildroot
Eric Andersen9395ca42004-10-13 09:42:10 +0000146 <li> Unpack the tarball on your Linux system somewhere
147 <li> run 'make' and configure things to taste.
148 <li> run 'unset CC'. Some Linux systems (i.e. Gentoo) set 'CC'
149 in the system environment which messes up cross compiles.
150 <li> run 'make'
151 <li> go have lunch, drink a pop, call a friend, play a video game, etc
152 till it finishes downloading software and compiling things.
153 <li> You should now have a shiny new BusyBox based system.
154 </ul>
155
156
157<hr />
158<p>
Eric Andersen6c4a6b12004-10-08 10:50:08 +0000159<h2><a name="demanding">I demand that you to add &lt;favorite feature&gt; right now! How come
160 you don't answer all my questions on the mailing list instantly? I demand
161 that you help me with all of my problems <em>Right Now</em>!</a></h2>
162<p>
163
164 You have not paid us a single cent and yet you still have the product of
165 many years of our work. We are not your slaves! We work on BusyBox
166 because we find it useful and interesting. If you go off flaming us, we
167 will ignore you.
168
169
170<hr />
171<p>
172<h2><a name="helpme">I need help with BusyBox! What should I do?</a></h2>
173<p>
174
175 If you find that you need help with BusyBox, you can ask for help on the
176 BusyBox mailing list at busybox@mail.busybox.net. In addition to the BusyBox
177 mailing list, Erik (andersee), Manuel (mjn3) and others are known to hang out
178 on the uClibc IRC channel: #uclibc on irc.freenode.net.
179
180 <p>
181
182 <b>Please do not send private email to Erik, Manuel, or the other BusyBox
183 contributors asking for private help unless you are planning on paying for
184 consulting services.</b>
185
186 <p>
187
188 When we answer questions on the BusyBox mailing list, it helps everyone
189 since people with similar problems in the future will be able to get help
190 by searching the mailing list archives. Private help is reserved as a paid
191 service. If you need to use private communication, or if you are serious
192 about getting timely assistance with BusyBox, you should seriously consider
193 paying for consulting services.
194
195 <p>
196
197
198
199<hr />
200<p>
201<h2><a name="contracts">I need you to add &lt;favorite feature&gt;! Are the BusyBox
202 developers willing to be paid in order to fix bugs or add in &lt;favorite feature&gt;?
203 Are you willing to provide support contracts?</a></h2>
204<p>
205
206 Sure! Now you have our attention! What you should do is contact <a
207 href="mailto:andersen@codepoet.org">Erik Andersen</a> of <a
208 href="http://codepoet-consulting.com/">CodePoet Consulting</a> to bid
209 on your project. If Erik is too busy to personally add your feature, there
210 are many other active BusyBox contributors who will almost certainly be able
Eric Andersen6feb2002004-12-20 18:10:03 +0000211 to help you out. Erik can contact them privately, and may even let you to
Eric Andersen9395ca42004-10-13 09:42:10 +0000212 post your request for services on the mailing list.
Eric Andersen6c4a6b12004-10-08 10:50:08 +0000213
214
215<hr />
216<p>
Mike Frysingeref614ec2005-04-17 07:25:32 +0000217<h2><a name="external">Where can I find other small utilities since busybox
Mike Frysinger77dbe732005-04-17 04:32:22 +0000218 does not include the features I want?</a></h2>
219<p>
220 We maintain such a <a href="tinyutils.html">list</a> on this site!
221
222
223<hr />
224<p>
Eric Andersen6c4a6b12004-10-08 10:50:08 +0000225<h2><a name="support">I think you guys are great and I want to help support your work!</a></h2>
226<p>
227
Eric Andersenfdab4b12005-02-09 06:44:36 +0000228 Wow, that would be great! If you would like to make a donation to help
229 support BusyBox, and/or request features, you can click here:
Eric Andersen6c4a6b12004-10-08 10:50:08 +0000230
231 <!-- Begin PayPal Logo -->
232 <center>
233 <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
234 <input type="hidden" name="cmd" value="_xclick">
235 <input type="hidden" name="business" value="andersen@codepoet.org">
236 <input type="hidden" name="item_name" value="Support BusyBox">
Eric Andersen9395ca42004-10-13 09:42:10 +0000237 <input type="hidden" name="image_url" value="http://codepoet-consulting.com/images/codepoet.png">
Eric Andersen6c4a6b12004-10-08 10:50:08 +0000238 <input type="hidden" name="no_shipping" value="1">
239 <input type="image" src="images/donate.png" name="submit" alt="Make donation using PayPal">
240 </form>
241 </center>
242 <!-- End PayPal Logo -->
243
244 If you prefer to contact Erik directly to make a donation, donate hardware,
245 request support, etc, you can contact
246 <a href="http://codepoet-consulting.com/">CodePoet Consulting</a> here.
247 CodePoet Consulting can accept both Visa and MasterCard for those that do not
248 trust PayPal...
249
250<hr />
Rob Landleyc7a3e1b2005-07-31 04:25:00 +0000251<p>
252<h2><a name="optimize">I want to make busybox even smaller, how do I go about it?</a></h2>
253<p>
254 To conserve bytes it's good to know where they're being used, and the
255 size of the final executable isn't always a reliable indicator of
256 the size of the components (since various structures are rounded up,
257 so a small change may not even be visible by itself, but many small
258 savings add up).
259</p>
260<p>
Rob Landleyd1fa5852005-09-05 10:25:51 +0000261 The busybox Makefile can generate a report of how much space is actually
262 being used by each function and variable. Run "<b>make sizes</b>" (preferably
263 with CONFIG_DEBUG off) to get a list of symbols and the amount of
264 space allocated for each one, sorted by size.
Rob Landleyc7a3e1b2005-07-31 04:25:00 +0000265</p>
266<hr />
Eric Andersen6c4a6b12004-10-08 10:50:08 +0000267
Rob Landleyc7a3e1b2005-07-31 04:25:00 +0000268
269
Eric Andersen6c4a6b12004-10-08 10:50:08 +0000270<br>
271<br>
272<br>
273
274<!--#include file="footer.html" -->