Cleanup Required!This page or section needs cleanup. You can edit this page to fix wiki markup, redundant content or outdated information. |
Cleanup Required!This page or section needs cleanup. You can edit this page to fix wiki markup, redundant content or outdated information. |
aptitude install subversion build-essential screen
make menuconfigwill tell you if more packages have to be installed via APT by the root user. Here's a table with the package name for each prerequisite separated for different Linux distributions.
| Prerequisite | Debian | Suse | Red Hat | OS X | Fedora |
|---|---|---|---|---|---|
| asciidoc | asciidoc | ? | asciidoc | ? | asciidoc |
| binutils | binutils | binutils | binutils | ? | binutils |
| bzip2 | bzip2 | bzip2 | bzip2 | ? | bzip2 |
| fastjar | fastjar | fastjar | libgcj | ? | libgcj |
| flex | flex | flex | flex | ? | flex |
| g++ | g++ | gcc-c++ | gcc-c++ | ? | gcc-c++ |
| gcc | gcc | gcc | gcc | ? | gcc |
| GNU autoconf | autoconf | autoconf | autoconf | ? | autoconf |
| GNU awk | gawk | gawk | gawk | ? | gawk |
| GNU bison | bison | bison | bison | ? | bison |
| gtk2.0-dev | libgtk2.0-dev | ? | gtk2-devel | ? | gtk2-devel |
| intltool-update | intltool | intltool | intltool | ? | intltool |
| jikes | jikes | jikes | ? | ? | — |
| libz-dev | zlib1g-dev | ? | zlib-devel | ? | zlib-devel |
| make | make | make | ? | ? | make |
| ncurses | ncurses-dev | ncurses-devel | ncurses-devel | ? | ncurses-devel |
| openssl/ssl.h | libssl-dev | libopenssl-devel | openssl-devel | ? | openssl-devel |
| patch | patch | patch | ? | ? | patch |
| perl-ExtUtils-MakeMaker | perl-modules | perl-ExtUtils-MakeMaker | perl-ExtUtils-MakeMaker | ? | perl-ExtUtils-MakeMaker |
| rsync | rsync | rsync | ? | ? | rsync |
| ruby | ruby | ruby | ? | ? | ruby |
| sdcc | sdcc | sdcc | ? | ? | sdcc |
| unzip | unzip | unzip | ? | ? | unzip |
| wget | wget | wget | wget | ? | wget |
| working-sdcc | sdcc-nf | ? | ? | ? | — |
| xgettext | gettext | ? | ? | ? | gettext |
| xsltproc | xsltproc | libxslt | ? | ? | libxslt |
| zlib | zlib1g-dev | zlib-devel | zlib-devel | ? | zlib-devel |
Installation examples:
Debian 5.0:
# aptitude install autoconf bison flex gawk ncurses-dev unzip zlib1g-dev |
Fedora 11:
# yum install autoconf binutils bison bzip2 flex gawk gcc gcc-c++ gettext \
make ncurses-devel patch unzip wget zlib-devel |
openSuSE 11.1
# zypper install autoconf binutils bison bzip2 flex gawk gcc gcc-c++ gettext \
make ncurses-devel patch unzip wget zlib-devel |
Ubuntu:
$ sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk flex |
Notes:
apt-cache search ""
to find a fitting package for a prerequisite
zypper ar "http://download.opensuse.org/repositories/devel:/languages:/perl/openSUSE_11.1/devel:languages:perl.repo"
~+Building Kamikaze HowTo+~
Valid for the following releases: Kamikaze, White Russian
If you are not used to a Linux development environment or not sure how to set it up correctly, then first check out the Setup Build Environment HowTo.
The build-system checks for the requirements and print what's missing on your system. Then install the packages.
To manually check the prerequisites run
$ make prereq
Note for Mac OS X Users: To build your images on a Mac OS X Machine all you need is the package "fileutils" from the fink project. (Tested on Leopard 10.5.3)
Login with a normal user, not root! Create a directory inside your home to hold the OpenWrt code. Then checkout the development code with Subversion (All about using Subversion). Accept the certificate when asked, you can verify its correctness with a browser and the same URL.
$ mkdir ~/kamikaze-trunk/ $ cd ~/kamikaze-trunk/ $ svn checkout svn://svn.openwrt.org/openwrt/trunk/ .
If you want to store all downloaded source code packages outside the trunk, e.g. for easier backup or to use with multiple checkouts, then do the following:
mkdir ~/kamikaze-dl/ ln -s ../kamikaze-dl/ dl
Get all the extra packages, the ones for Luci and if you wish the ones for Xwrt too. Then install the packages you need, so that you can choose them later in the menuconfig.
$ ./scripts/feeds update packages luci # Checkout the extra packages $ ./scripts/feeds install -a -p luci # Install the LuCI WebUI (selected and included in the final image by default) $ ./scripts/feeds install # Creates the symlinks for the packages you like to install
Call the configuration menu, set the desired target, select the wanted packages and save. Then start building with make.
$ make menuconfig # Select your target, packages and other options. Only select the packages you need. $ make V=99 ; echo -e '\a' # The echo is a bell/beep/alert in BASH (here Debian GNU/Linux), when make finishes
While you won't typically need to do this, if you need to modify the Linux kernel configuration, use this command to enter the regular Linux menuconfig:
$ make kernel_menuconfig
Directions are available here.
First check if the URL path in the make file contains a trailing slash, then try with it removed (helped several times). Otherwise try to download the source code manually and put it into ~/kamikaze-trunk/dl
Try to update the main source and all the feeds (Warning! May result in other problems). Check for a related bug in (TRAC), use the filters to find it. Otherwise report the problem there, by mentioning the package, the target data (CPU, image, etc.) and the code revisions (main & package).
doc/howto/buildroot.txt · Last modified: 2010/07/21 03:54 by jow