1.00 is stable
[oweals/busybox.git] / docs / busybox.net / FAQ.html
1 <!--#include file="header.html" -->
2
3
4 <h3>Frequently Asked Questions</h3>
5
6 This is a collection of some of the more frequently asked questions
7 about BusyBox.  Some of the questions even have answers. If you
8 have 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>
18 <li><a href="#demanding">I demand that you to add &lt;favorite feature&gt; right now!   How come
19         you don't answer all my questions on the mailing list instantly?  I demand
20         that you help me with all of my problems <em>Right Now</em>!</a>
21 <li><a href="#getting_started">How can I get started using BusyBox?</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>
26 <li><a href="#support">I think you guys are great and I want to help support your work!</a>
27
28
29 </ol>
30
31
32 <hr />
33 <p>
34 <h2><a name="kernel">Which Linux kernel versions are supported?</a></h2>
35 <p>
36
37
38     Full functionality requires Linux 2.2.x or better.  A large fraction of the
39     code should run on just about anything.  While the current code is fairly
40     Linux specific, it should be fairly easy to port the majority of the code
41     to support, say, FreeBSD or Solaris, or Mac OS X, or even Windows (if you
42     are into that sort of thing).
43
44
45 <hr />
46 <p>
47 <h2><a name="arch">Which architectures does BusyBox run on?</a></h2>
48 <p>
49
50
51     BusyBox in general will build on any architecture supported by gcc.
52     Kernel module loading for 2.2 and 2.4 Linux kernels is currently
53     limited to ARM, CRIS, H8/300, x86, ia64, x86_64, m68k, MIPS, PowerPC,
54     S390, SH3/4/5, Sparc, v850e, and x86_64 for 2.4.x kernels.
55
56     With 2.6.x kernels, module loading support should work on all architectures.
57
58
59 <hr />
60 <p>
61 <h2><a name="libc">Which C libraries are supported?</a></h2>
62 <p>
63
64
65     uClibc and glibc are supported.  People have been looking at newlib and
66     dietlibc, but they are currently considered unsupported, untested, or
67     worse.  Linux-libc5 is no longer supported.  If you require a small C
68     library, you should probably use uClibc.
69
70
71 <hr />
72 <p>
73 <h2><a name="commercial">Can I include BusyBox as part of the software on my device?</h2>
74
75     Yes.  As long as you <a href="http://busybox.net/license.html">fully comply
76     with the generous terms of the GPL BusyBox license</a> you can ship BusyBox
77     as part of the software on your device.
78
79     <a href="#support">Please consider sharing some of the money you make.</a>
80
81
82 <hr />
83 <p>
84 <h2><a name="bugs">I think I found a bug in BusyBox!  What should I do?</h2>
85 <p>
86
87     If you find a problem with BusyBox, please submit a detailed bug report to
88     the BusyBox mailing list at <a href="mailto:busybox@mail.busybox.net">
89     busybox@mail.busybox.net</a>.  Please do not send private email to Erik
90     (the maintainer of BusyBox) asking for private help unless you are planning
91     on paying for consulting services.  When we answer questions on the BusyBox
92     mailing list, it helps everyone, while private answers help only you...
93
94     <p>
95
96     If you find bugs, please submit a detailed bug report to the BusyBox mailing
97     list at busybox@mail.busybox.net.  A well-written bug report should include a
98     transcript of a shell session that demonstrates the bad behavior and enables
99     anyone else to duplicate the bug on their own machine. The following is such
100     an example:
101
102 <pre>
103         To: busybox@mail.busybox.net
104         From: diligent@testing.linux.org
105         Subject: /bin/date doesn't work
106
107         Package: BusyBox
108         Version: 1.00
109
110         When I execute BusyBox 'date' it produces unexpected results.
111         With GNU date I get the following output:
112
113                 $ date
114                 Fri Oct  8 14:19:41 MDT 2004
115
116         But when I use BusyBox date I get this instead:
117
118                 $ date
119                 illegal instruction
120
121         I am using Debian unstable, kernel version 2.4.27 on a x86 system,
122         and the latest uClibc from CVS.  Thanks for the wonderful program!
123
124           -Diligent
125 </pre>
126
127     Note the careful description and use of examples showing not only what BusyBox
128     does, but also a counter example showing what an equivalent GNU app does.  Bug
129     reports lacking proper detail may never be fixed...  Thanks for understanding.
130
131 <hr />
132 <p>
133 <h2><a name="job_control">Why do I keep getting "sh: can't access tty; job control
134         turned off" errors?  Why doesn't Control-C work within my shell?</a></h2>
135 <p>
136
137     Job control will be turned off since your shell can not obtain a controlling
138     terminal.  This typically happens when you run your shell on /dev/console.
139     The kernel will not provide a controlling terminal on the /dev/console
140     device.  Your should run your shell on a normal tty such as tty1 or ttyS0
141     and everything will work perfectly.  If you <em>REALLY</em> want your shell
142     to run on /dev/console, then you can hack your kernel (if you are into that
143     sortof thing) by changing drivers/char/tty_io.c to change the lines where
144     it sets "noctty = 1;" to instead set it to "0".  I recommend you instead
145     run your shell on a real console...
146
147
148 <hr />
149 <p>
150 <h2><a name="getting_started">How can I get started using BusyBox?</a></h2>
151 <p>
152
153     An easy method to build your own basic BusyBox based system, is to
154     follow these simple steps:
155     <ul>
156         <li> Point your web browser <a href="/cgi-bin/cvsweb/buildroot/">here</a>
157         <li> Click on "Download tarball"
158         <li> Unpack the tarball on your Linux system somewhere
159         <li> run 'make' and configure things to taste.
160         <li> run 'unset CC'.   Some Linux systems (i.e. Gentoo) set 'CC'
161             in the system environment which messes up cross compiles.
162         <li> run 'make'
163         <li> go have lunch, drink a pop, call a friend, play a video game, etc
164                 till it finishes downloading software and compiling things.
165         <li> You should now have a shiny new BusyBox based system.
166     </ul>
167
168
169 <hr />
170 <p>
171 <h2><a name="demanding">I demand that you to add &lt;favorite feature&gt; right now!   How come
172         you don't answer all my questions on the mailing list instantly?  I demand
173         that you help me with all of my problems <em>Right Now</em>!</a></h2>
174 <p>
175
176     You have not paid us a single cent and yet you still have the product of
177     many years of our work.  We are not your slaves!  We work on BusyBox
178     because we find it useful and interesting.  If you go off flaming us, we
179     will ignore you.
180
181
182 <hr />
183 <p>
184 <h2><a name="helpme">I need help with BusyBox!  What should I do?</a></h2>
185 <p>
186
187     If you find that you need help with BusyBox, you can ask for help on the
188     BusyBox mailing list at busybox@mail.busybox.net.  In addition to the BusyBox
189     mailing list, Erik (andersee), Manuel (mjn3) and others are known to hang out
190     on the uClibc IRC channel: #uclibc on irc.freenode.net.
191
192     <p>
193
194     <b>Please do not send private email to Erik, Manuel, or the other BusyBox
195     contributors asking for private help unless you are planning on paying for
196     consulting services.</b>
197
198     <p>
199
200     When we answer questions on the BusyBox mailing list, it helps everyone
201     since people with similar problems in the future will be able to get help
202     by searching the mailing list archives.  Private help is reserved as a paid
203     service.  If you need to use private communication, or if you are serious
204     about getting timely assistance with BusyBox, you should seriously consider
205     paying for consulting services.
206
207     <p>
208
209
210
211 <hr />
212 <p>
213 <h2><a name="contracts">I need you to add &lt;favorite feature&gt;!  Are the BusyBox
214         developers willing to be paid in order to fix bugs or add in &lt;favorite feature&gt;?
215         Are you willing to provide support contracts?</a></h2>
216 <p>
217
218     Sure!  Now you have our attention!  What you should do is contact <a
219         href="mailto:andersen@codepoet.org">Erik Andersen</a> of <a
220         href="http://codepoet-consulting.com/">CodePoet Consulting</a> to bid
221     on your project.  If Erik is too busy to personally add your feature, there
222     are many other active BusyBox contributors who will almost certainly be able
223     to help you out.  Erik can contact them privatly, and may even let you to
224     post your request for services on the mailing list.
225
226
227 <hr />
228 <p>
229 <h2><a name="support">I think you guys are great and I want to help support your work!</a></h2>
230 <p>
231
232     Wow, that would be great!  Erik personally pays for all the bandwidth, and
233     all servers used for busybox.net out of his own pocket.  If you would like
234     to make a donation to help support BusyBox, and/or request features, you
235     can click here:
236
237     <!-- Begin PayPal Logo -->
238     <center>
239     <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
240         <input type="hidden" name="cmd" value="_xclick">
241         <input type="hidden" name="business" value="andersen@codepoet.org">
242         <input type="hidden" name="item_name" value="Support BusyBox">
243         <input type="hidden" name="image_url" value="http://codepoet-consulting.com/images/codepoet.png">
244         <input type="hidden" name="no_shipping" value="1">
245         <input type="image" src="images/donate.png" name="submit" alt="Make donation using PayPal">
246     </form>
247     </center>
248     <!-- End PayPal Logo -->
249
250     If you prefer to contact Erik directly to make a donation, donate hardware,
251     request support, etc, you can contact
252     <a href="http://codepoet-consulting.com/">CodePoet Consulting</a> here.
253     CodePoet Consulting can accept both Visa and MasterCard for those that do not
254     trust PayPal...
255
256 <hr />
257
258 <br>
259 <br>
260 <br>
261 <br>
262 <br>
263 <br>
264 <br>
265 <br>
266 <br>
267 <br>
268 <br>
269 <br>
270 <br>
271 <br>
272 <br>
273 <br>
274 <br>
275 <br>
276 <br>
277 <br>
278 <br>
279 <br>
280 <br>
281 <br>
282 <br>
283 <br>
284 <br>
285 <br>
286 <br>
287 <br>
288 <br>
289 <br>
290 <br>
291 <br>
292 <br>
293 <br>
294 <br>
295 <br>
296 <br>
297 <br>
298 <br>
299 <br>
300 <br>
301 <br>
302 <br>
303 <br>
304 <br>
305 <br>
306 <br>
307 <br>
308 <br>
309 <br>
310 <br>
311 <br>
312 <br>
313 <br>
314 <br>
315 <br>
316 <br>
317 <br>
318 <br>
319 <br>
320 <br>
321 <br>
322
323 <!--#include file="footer.html" -->
324