Difference between revisions of "Step-by-step Buildroot/Busybox Root File System"
Line 33: | Line 33: | ||
<pre> | <pre> | ||
− | # Go to some convenient folder | + | # Go to some convenient folder, home if you like |
cd ~ | cd ~ | ||
# Get the example files | # Get the example files | ||
Line 45: | Line 45: | ||
</pre> | </pre> | ||
+ | Here are the files you now have: | ||
+ | <li>rootfs.tar.gz. The resulting root file system image. You can write this to your SD-Card if you just want to see it work | ||
+ | <li>buildroot-2012.11.tar.bz2. This is the current version of buildroot | ||
+ | <li>odroidu2_just_busybox_defconfig. This is the tested buildroot configuration we need, it only includes busybox and nothing else. | ||
+ | <li>nfs-mounting-boot.tgz. This is a boot partition image. You can extract this to your SD-Card boot partition, if you don't want to build your own kernel we need a kernel that included the smsc95xx driver for odroid-U2 in order to bring up the network. | ||
+ | </pre> | ||
− | + | ||
+ | === Expand buildroot and Configure it === | ||
+ | In the buildroot-example directory | ||
<pre> | <pre> | ||
− | cp | + | # expand the tarball |
+ | tar -xvjf buildroot-2012.11.tar.bz2 | ||
+ | # Add our configuration | ||
+ | cp odroidu2_just_busybox_defconfig buildroot-2012.11/configs/ | ||
+ | # move to the buildroot top directory. This is where you drive buildroot from | ||
+ | cd buildroot-2012.11 | ||
+ | # and select our configuration | ||
+ | make odroidu2_just_busybox_defconfig | ||
</pre> | </pre> | ||
+ | |||
+ | === Build the Root File System === | ||
+ | I hope this amazes you! The buildroot guys have done a terrific service to the community. Visit them here: [http://www.buildroot.org/ Buildroot] | ||
+ | |||
+ | The make could take some time, depending on which packages you already have installed. | ||
+ | <pre> | ||
+ | make | ||
+ | </pre> | ||
+ | |||
+ | That's all there is to it. | ||
+ | <li> ./output/images/rootfs.tar.gz holds the root file system tarball | ||
+ | |||
+ | <pre> | ||
+ | ls output/build | ||
+ | </pre> | ||
+ | These are the packages that were downloaded, configured and patched for cross-building: | ||
+ | busybox-1.20.2 host-ccache-3.1.7 host-fakeroot-1.18.2 host-makedevs-undefined | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | === Next Steps === | ||
+ | You can add packages, like openssl, dropbear, or any of hundreds of others by doing 'make menuconfig' in the buildroot-2012.11 directory. It can be an iterative process since you generally need to make dependent libraries before the apps that need them. | ||
+ | |||
+ | You can add applets to busybox by running 'make menuconfig' in the output/build/busybox-1.20.2 directory |
Revision as of 15:47, 19 January 2013
UNDER CONSTRUCTION -- ACTIVE EDITING, PLEASE DON'T MAKE CHANGES
This tutorial is for Developers. It is written to work with the odroidu2-ubuntu or odroidu2-debian SD-Card images [is this specific enough?]
It is not for Android developers.
Contents
Introduction
Did you know you can easily make a very small custom-built Linux system? The key is to use the famous "Buildroot" package. This tutorial presents an example to get you started.
You can add additional packages as you like. Many products have been built using this technique with busybox playing the central role.
Prerequisites
Overview
We are going to:
Download Example Files
You can use your browser, or use web get.
# Go to some convenient folder, home if you like cd ~ # Get the example files wget http://odroid.us/odroid/users/osterluk/buildroot-example/buildroot-example.tgz wget http://odroid.us/odroid/users/osterluk/buildroot-example/buildroot-example.tgz.md5sum md5sum -c buildroot-example.tgz.md5sum # Assuming the md5sum is correct, continue tar -xvf buildroot-example.tgz cd buildroot-example
Here are the files you now have:
Expand buildroot and Configure it
In the buildroot-example directory
# expand the tarball tar -xvjf buildroot-2012.11.tar.bz2 # Add our configuration cp odroidu2_just_busybox_defconfig buildroot-2012.11/configs/ # move to the buildroot top directory. This is where you drive buildroot from cd buildroot-2012.11 # and select our configuration make odroidu2_just_busybox_defconfig
Build the Root File System
I hope this amazes you! The buildroot guys have done a terrific service to the community. Visit them here: Buildroot
The make could take some time, depending on which packages you already have installed.
make
That's all there is to it.
ls output/build
These are the packages that were downloaded, configured and patched for cross-building: busybox-1.20.2 host-ccache-3.1.7 host-fakeroot-1.18.2 host-makedevs-undefined
Next Steps
You can add packages, like openssl, dropbear, or any of hundreds of others by doing 'make menuconfig' in the buildroot-2012.11 directory. It can be an iterative process since you generally need to make dependent libraries before the apps that need them.
You can add applets to busybox by running 'make menuconfig' in the output/build/busybox-1.20.2 directory