Difference between revisions of "EBC Exercise 27 BusyBox"
(Updated for 2011, included httpd) |
m (→Compiling BusyBox: Updated for 2012) |
||
| Line 4: | Line 4: | ||
== Compiling BusyBox == | == Compiling BusyBox == | ||
| − | We'll attack getting BusyBox like we did getting the kernel ([[ | + | We'll attack getting BusyBox like we did getting the kernel ([[EBC Exercise 01 Using bitbake for Kernel and U-boot]]) though the paths will be slightly different. Make sure you have commented out |
<pre> | <pre> | ||
# INHERIT += " rm_work " | # INHERIT += " rm_work " | ||
</pre> | </pre> | ||
| − | in the '''local.conf''' file. See [[ | + | in the '''local.conf''' file. See [[EBC Exercise 01 Using bitbake for Kernel and U-boot]] for details. |
Check and see what you already have for previous installations: | Check and see what you already have for previous installations: | ||
| − | + | ||
| − | $ source ~/.oe/environment- | + | host$ '''source ~/.oe/environment-oecore''' |
| − | $ time bitbake busybox | + | host$ '''time bitbake busybox''' |
| − | $ cd ~/BeagleBoard/oe/build/tmp- | + | host$ '''cd ~/BeagleBoard/oe/build/tmp-angstrom_2010_x-eglibc/work/beagleboard-angstrom-linux-gnueabi''' |
| − | $ ls | + | host$ '''ls''' |
| − | + | ||
| − | My bitbake took about | + | My bitbake took about 1.5 minutes to download and compile. |
When you did ''ls'' did you see '''BusyBox'''? I didn't. Do this to find it: | When you did ''ls'' did you see '''BusyBox'''? I didn't. Do this to find it: | ||
| − | + | ||
| − | $ cd ~/BeagleBoard/oe/build/tmp- | + | host$ '''cd cd ~/BeagleBoard/oe/build/tmp-angstrom_2010_x-eglibc/work''' |
| − | $ find . -name "*busybox*" | + | host$ '''find . -name "*busybox*"''' |
| − | + | ||
The ''find'' command will find all files and directories that contain the name <code>busybox</code>. | The ''find'' command will find all files and directories that contain the name <code>busybox</code>. | ||
BusyBox is not a Beagle specific compile, so it appears in a different location. Change to the BusyBox directory and look around. Can you find the source? Hint: they aren't in a git directory. | BusyBox is not a Beagle specific compile, so it appears in a different location. Change to the BusyBox directory and look around. Can you find the source? Hint: they aren't in a git directory. | ||
Revision as of 15:05, 2 January 2012
Compiling BusyBox
We'll attack getting BusyBox like we did getting the kernel (EBC Exercise 01 Using bitbake for Kernel and U-boot) though the paths will be slightly different. Make sure you have commented out
# INHERIT += " rm_work "
in the local.conf file. See EBC Exercise 01 Using bitbake for Kernel and U-boot for details.
Check and see what you already have for previous installations:
host$ source ~/.oe/environment-oecore host$ time bitbake busybox host$ cd ~/BeagleBoard/oe/build/tmp-angstrom_2010_x-eglibc/work/beagleboard-angstrom-linux-gnueabi host$ ls
My bitbake took about 1.5 minutes to download and compile.
When you did ls did you see BusyBox? I didn't. Do this to find it:
host$ cd cd ~/BeagleBoard/oe/build/tmp-angstrom_2010_x-eglibc/work host$ find . -name "*busybox*"
The find command will find all files and directories that contain the name busybox.
BusyBox is not a Beagle specific compile, so it appears in a different location. Change to the BusyBox directory and look around. Can you find the source? Hint: they aren't in a git directory.
Configuring BusyBox
You can now configure BusyBox.
make xconfig
After saving the configuration changes to update the .config file, it is a simple matter of running make.
$ make
My make took about 1 minute to compile.
Copy it to your Beagle and test it out. Just typing busybox will tell you what commands it knows. Try some of them.
$ busybox $ busybox ls
For extra fun try.
$ busybox httpd
Yup, you are now running a web server. Your task is to figure out where to put the web pages it is serving. If you get something interesting going post your Beagle's address here.
| URL | Name | Notes |
|---|---|---|
| mr814.dhcp.rose-hulman.edu | Mark A. Yoder | My first Beagle web page. |
Shrinking BusyBox
How big is the busybox file? Try making it smaller by removing commands you don't use. How big is it if you just have ls? How much bigger is it when you add httpd? Try your own combinations. Report your findings to the class.