Differences

This shows you the differences between two versions of the page.

doc:howto:buildroot.exigence [2014/08/17 20:24]
hlovdal Added missing entries for Fedora
doc:howto:buildroot.exigence [2014/11/19 22:13] (current)
mikebrady Add libxml-parser-perl to the 64-bit Ubuntu list of packages to install.
Line 1: Line 1:
====== OpenWrt Buildroot – Installation ====== ====== OpenWrt Buildroot – Installation ======
-[[about:toolchain|OpenWrt Buildroot]] is the [[wp>toolchain|buildsystem]] for the OpenWrt Linux distribution. OpenWrt Buildroot works on Linux, BSD or MacOSX operating system. A case-sensitive filesystem is required. +[[about:toolchain|OpenWrt Buildroot]] is the [[wp>toolchain|buildsystem]] for the OpenWrt Linux distribution. OpenWrt Buildroot works on Linux, BSD or MacOSX operating system. A case-sensitive filesystem is required.
It is recommended that you use a Linux distribution ([[wp>Debian]]), either a standalone installation or one running in a virtual environment ([[wp>VMware]] or [[wp>Qemu]]). It is recommended that you use a Linux distribution ([[wp>Debian]]), either a standalone installation or one running in a virtual environment ([[wp>VMware]] or [[wp>Qemu]]).
Line 18: Line 18:
===== Install procedure on Linux ===== ===== Install procedure on Linux =====
-| ->[[doc:howto:buildroot.exigence.bsd|Procedure on ~BSD]] | ->[[doc:howto:buildroot.exigence.macosx|Procedure on Mac OS X]] | +| ->[[doc:howto:buildroot.exigence.bsd|Procedure on ~BSD]] | ->[[doc:howto:buildroot.exigence.macosx|Procedure on Mac OS X]] |
\\ \\
| {{:meta:icons:tango:48px-emblem-important.svg.png?nolink}} | 1. Do everything as //non//-root user!\\ 2. Issue all OpenWrt Buildroot commands in the ''<buildsystem root>'' directory, e.g. ''~/openwrt/trunk/''\\ 3. Do not build in a directory that has spaces in its full path\\ 4. Change Ownership other than root user,of the directory where you Download the OpenWrt (sudo chown -R user:user /openwrt/)| | {{:meta:icons:tango:48px-emblem-important.svg.png?nolink}} | 1. Do everything as //non//-root user!\\ 2. Issue all OpenWrt Buildroot commands in the ''<buildsystem root>'' directory, e.g. ''~/openwrt/trunk/''\\ 3. Do not build in a directory that has spaces in its full path\\ 4. Change Ownership other than root user,of the directory where you Download the OpenWrt (sudo chown -R user:user /openwrt/)|
Line 34: Line 34:
cd openwrt cd openwrt
./scripts/feeds update -a ./scripts/feeds update -a
-./scripts/feeds install -a</code> +./scripts/feeds install -a</code>
  - Make OpenWrt Buildroot check for missing packages on your build-system using one of the following commands:<code bash>   - Make OpenWrt Buildroot check for missing packages on your build-system using one of the following commands:<code bash>
make defconfig make defconfig
Line 46: Line 46:
Here's a table with the package name for each prerequisite separated for different GNU/Linux and Unix like distributions. Here's a table with the package name for each prerequisite separated for different GNU/Linux and Unix like distributions.
-^ Prerequisite ^ Debian ^ Suse ^ Red Hat ^ OS X (via MacPorts) ^ Fedora ^ NetBSD ^ Arch ^ Gentoo ^+^ Prerequisite ^ Debian ^ SUSE ^ Red Hat ^ OS X (via MacPorts) ^ Fedora ^ NetBSD ^ Arch ^ Gentoo ^
| asciidoc        | asciidoc| asciidoc| asciidoc| asciidoc | asciidoc| ?| asciidoc | app-text/asciidoc | | asciidoc        | asciidoc| asciidoc| asciidoc| asciidoc | asciidoc| ?| asciidoc | app-text/asciidoc |
| [[wp>Bash (Unix shell)|GNU Bash]] | bash |bash| bash | bash | bash| bash| bash| app-shells/bash | | [[wp>Bash (Unix shell)|GNU Bash]] | bash |bash| bash | bash | bash| bash| bash| app-shells/bash |
-| [[wp>Bc_(programming_language)#GNU_bc|GNU bc]] | [[http://packages.debian.org/jessie/bc|bc]] | | | | bc| | bc| sys-devel/bc |+| [[wp>Bc_(programming_language)#GNU_bc|GNU bc]] | bc| bc| | | bc| | bc| sys-devel/bc |
| [[wp>GNU Binutils]] | binutils | binutils| binutils| binutils| binutils| ?| binutils| sys-devel/binutils | | [[wp>GNU Binutils]] | binutils | binutils| binutils| binutils| binutils| ?| binutils| sys-devel/binutils |
| [[wp>bzip2]]    | bzip2 | bzip2| bzip2| bzip2| bzip2| ?| bzip2| app-arch/bzip2 | | [[wp>bzip2]]    | bzip2 | bzip2| bzip2| bzip2| bzip2| ?| bzip2| app-arch/bzip2 |
Line 59: Line 59:
| getopt          | util-linux | util-linux | util-linux | getopt| util-linux | getopt| util-linux | sys-apps/util-linux | | getopt          | util-linux | util-linux | util-linux | getopt| util-linux | getopt| util-linux | sys-apps/util-linux |
| [[wp>GNU awk]]  | gawk| gawk| gawk| gawk| gawk| ?| gawk| sys-apps/gawk | | [[wp>GNU awk]]  | gawk| gawk| gawk| gawk| gawk| ?| gawk| sys-apps/gawk |
-| gtk2.0-dev      | libgtk2.0-dev| ?| gtk2-devel| gtk2| gtk2-devel| ?| gtk2 | x11-libs/gtk+ (?) |+| gtk2.0-dev      | libgtk2.0-dev| gtk2-devel| gtk2-devel| gtk2| gtk2-devel| ?| gtk2 | x11-libs/gtk+ (?) |
| intltool-update  | intltool| intltool| intltool| intltool| intltool| ?| intltool | dev-util/intltool | | intltool-update  | intltool| intltool| intltool| intltool| intltool| ?| intltool | dev-util/intltool |
| jikes            | [[http://packages.debian.org/jessie/jikespg|jikespg]] | jikes| ?| jikes| ---| ?| [[https://aur.archlinux.org/packages/jikes/|aur/jikes]] | dev-java/jikes | | jikes            | [[http://packages.debian.org/jessie/jikespg|jikespg]] | jikes| ?| jikes| ---| ?| [[https://aur.archlinux.org/packages/jikes/|aur/jikes]] | dev-java/jikes |
| libz, libz-dev  | zlib1g-dev | zlib-devel| zlib-devel| zlib| zlib-devel| ?| zlib | sys-libs/zlib | | libz, libz-dev  | zlib1g-dev | zlib-devel| zlib-devel| zlib| zlib-devel| ?| zlib | sys-libs/zlib |
-| mercurial / hg  | | | | | hg | | | |+| Mercurial / hg  | | mercurial| | | hg | | | |
| make            | make | make| make | gmake| make| gmake| make | sys-devel/make | | make            | make | make| make | gmake| make| gmake| make | sys-devel/make |
-| mkisofs          | genisoimage | ?| ?| ?| genisoimage| ?| cdrkit | app-cdr/cdrtools |+| mkisofs          | genisoimage | genisoimage| ?| ?| genisoimage| ?| cdrkit | app-cdr/cdrtools |
| [[wp>ncurses]]  | libncurses5-dev| ncurses-devel| ncurses-devel| ncurses| ncurses-devel| ?| ncurses | sys-libs/ncurses | | [[wp>ncurses]]  | libncurses5-dev| ncurses-devel| ncurses-devel| ncurses| ncurses-devel| ?| ncurses | sys-libs/ncurses |
| openssl/ssl.h    | libssl-dev| libopenssl-devel| openssl-devel| openssl| openssl-devel| ?| openssl | dev-libs/openssl | | openssl/ssl.h    | libssl-dev| libopenssl-devel| openssl-devel| openssl| openssl-devel| ?| openssl | dev-libs/openssl |
Line 76: Line 76:
| unzip            | unzip| unzip| unzip| unzip| unzip| ?| unzip | app-arch/unzip | | unzip            | unzip| unzip| unzip| unzip| unzip| ?| unzip | app-arch/unzip |
| [[wp>GNU Wget]]  | wget | wget| wget| wget| wget| ?| wget | net-misc/wget | | [[wp>GNU Wget]]  | wget | wget| wget| wget| wget| ?| wget | net-misc/wget |
-| working-sdcc    | +| xgettext        | gettext| gettext-tools| gettext | gettext| gettext| ?| gettext | sys-devel/gettext | 
-| xgettext        | gettext| ?| gettext | gettext| gettext| ?| gettext | sys-devel/gettext | +| xsltproc        | xsltproc| libxslt-tools| ?| libxslt| libxslt| ?| libxslt | dev-libs/libxslt |
-| xsltproc        | xsltproc| libxslt| ?| libxslt| libxslt| ?| libxslt | dev-libs/libxslt |+
| zlib, zlib-static| zlib1g-dev| zlib-devel| zlib-devel | zlib-devel| zlib-devel | ?| zlib | sys-libs/zlib | | zlib, zlib-static| zlib1g-dev| zlib-devel| zlib-devel | zlib-devel| zlib-devel | ?| zlib | sys-libs/zlib |
Unfortunately not all dependencies are checked by ''make config'': Unfortunately not all dependencies are checked by ''make config'':
-^ Package ^ Prerequisite ^ Debian ^ Suse ^ Red Hat ^ OS X ^ Fedora ^ NetBSD ^ Arch ^ Gentoo ^+^ Package ^ Prerequisite ^ Debian ^ SUSE ^ Red Hat ^ OS X ^ Fedora ^ NetBSD ^ Arch ^ Gentoo ^
| boost    | bjam / boost-jam  | libboost1.53-dev  | | | | boost-jam || boost | dev-util/boost-build | | boost    | bjam / boost-jam  | libboost1.53-dev  | | | | boost-jam || boost | dev-util/boost-build |
| intltool | [Perl] XML::Parser | libxml-parser-perl | | perl-XML-Parser | | perl-XML-Parser | | intltool | dev-perl/XML-Parser | | intltool | [Perl] XML::Parser | libxml-parser-perl | | perl-XML-Parser | | perl-XML-Parser | | intltool | dev-perl/XML-Parser |
Line 97: Line 96:
  * **Debian 6 Squeeze:**<code>apt-get install libncurses5-dev zlib1g-dev gawk flex libssl-dev sdcc-nf</code>   * **Debian 6 Squeeze:**<code>apt-get install libncurses5-dev zlib1g-dev gawk flex libssl-dev sdcc-nf</code>
  * **Debian 7 Wheezy:**<code>apt-get install libncurses5-dev zlib1g-dev gawk</code>   * **Debian 7 Wheezy:**<code>apt-get install libncurses5-dev zlib1g-dev gawk</code>
-  * **Fedora 19 - 64Bit** (Maybe also for lower versions, some packages seem to be missing above):<code>yum install -y subversion binutils bzip2 gcc gcc-c++ gawk gettext flex ncurses-devel zlib-devel make patch unzip perl-ExtUtils-MakeMaker \+  * **Fedora 20 - 64Bit** (Maybe also for lower versions, some packages seem to be missing above):<code>yum install -y subversion binutils bzip2 gcc gcc-c++ gawk gettext flex ncurses-devel zlib-devel make patch unzip perl-ExtUtils-MakeMaker \
glibc glibc-devel glibc-static quilt ncurses-lib sed sdcc intltool sharutils bison wget</code> glibc glibc-devel glibc-static quilt ncurses-lib sed sdcc intltool sharutils bison wget</code>
-  * **openSuSE 13.1**<code>zypper install binutils gcc gcc-c++ make ncurses-devel patch zlib-devel flex git-core subversion</code>In openSuSE some packages require additional repositories. Search on http://packages.opensuse-community.org and add repositories like that: <code>zypper ar "http://download.opensuse.org/repositories/devel:/languages:/perl/openSUSE_11.1/devel:languages:perl.repo"</code>+  * **openSUSE 13.2**<code>zypper install asciidoc bash bc binutils bzip2 fastjar flex git-core gcc-c++ gcc util-linux gawk gtk2-devel intltool jikes zlib-devel mercurial make genisoimage ncurses-devel libopenssl-devel patch perl-ExtUtils-MakeMaker python-devel rsync ruby sdcc unzip wget gettext-tools libxslt-tools zlib-devel subversion</code>
  * **Ubuntu 12.04LTS:**<code>sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip</code>   * **Ubuntu 12.04LTS:**<code>sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip</code>
-  * **Ubuntu 64bit:**<code>sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext</code>+  * **Ubuntu 64bit:**<code>sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext libxml-parser-perl</code> 
 +  * **Mac OS X 10.7, command line dev tools 4.6.2, MacPorts 2.3.2:**<code> 
 +sudo port install getopt 
 +sudo port install coreutils 
 +sudo port install gawk 
 +sudo port install wget 
 +sudo port install findutils 
 +…and remove -fbracket-depth=512 from toolchain/gcc/common.mk 
 +</code>
==== Known variants to be broken ==== ==== Known variants to be broken ====
Line 109: Line 116:
===== Downloading Sources ===== ===== Downloading Sources =====
-You can either check out the OpenWrt source code via git. (see [[https://dev.openwrt.org/wiki/GetSource]])+ 
 +==== SVN ==== 
 +You can checkout the source from the OpenWrt Subversion repository using one of the following commands: 
 + 
 +=== trunk (main development tree) === 
 +The development branch (trunk) contains everything from documentation to <color yellow>**//experimental//**</color> <color red>**//patches//**</color>. 
 +<code bash>svn co svn://svn.openwrt.org/openwrt/trunk/</code> 
 + 
 + 
 +=== 14.07 branch "Barrier Breaker" === 
 +<code bash>svn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker</code> 
 + 
 + 
 +=== 12.09 branch "Attitude Adjustment" === 
 +<code bash>svn co svn://svn.openwrt.org/openwrt/branches/attitude_adjustment</code> 
 + 
 + 
 +=== 10.03 branch "Backfire" === 
 +<code bash>svn co svn://svn.openwrt.org/openwrt/branches/backfire</code> 
 + 
 + 
 +=== 8.09 branch "Kamikaze" === 
 +<code bash>svn co svn://svn.openwrt.org/openwrt/branches/8.09</code> 
 + 
 + 
 +=== 7.09 branch "Kamikaze" === 
 +<code bash>svn co svn://svn.openwrt.org/openwrt/tags/kamikaze_7.09</code> 
 + 
 + 
 +=== Tagged === 
 +You could alternatively download a 'tagged' version of the backfire sources. For instance, if you insist on using the pristine release sources (no backported fixes applied after the last release), you could use: 
 +<code bash>svn co svn://svn.openwrt.org/openwrt/tags/backfire_10.03</code> 
 + 
 +=== Check out a certain revisions === 
 +== Main repository == 
 +<code bash>svn co --revision=24045 svn://svn.openwrt.org/openwrt/branches/backfire/ ./build_dir</code> 
 + 
 +== Package feeds == 
 +Create a copy of the file ''./build-directory/feeds.conf.default'' named ''./build-directory/feeds.conf'', edit ''feeds.conf'' and add "@24045" at the end of the line that checks out the package feed: 
 +<code bash>src-svn packages svn://svn.openwrt.org/openwrt/packages@24045</code> 
==== GIT ==== ==== GIT ====
-The recommended way of checking out the OpenWrt source code is cloning the Git repository using one of the following commands:+cloning the Git repository using one of the following commands:
=== trunk (main development tree) === === trunk (main development tree) ===
Line 123: Line 170:
<code bash>git clone git://git.openwrt.org/packages.git</code> <code bash>git clone git://git.openwrt.org/packages.git</code>
 +
 +=== 14.07 branch (Barrier Breaker) ===
 +
 +== Main repository ==
 +<code bash>git clone git://git.openwrt.org/14.07/openwrt.git</code>
 +
 +== Packages feed ==
 +
 +<code bash>git clone git://git.openwrt.org/14.07/packages.git</code>
=== 12.09 branch (Attitude Adjustment) === === 12.09 branch (Attitude Adjustment) ===
Line 136: Line 192:
git commits are tagged with SVN ids. git commits are tagged with SVN ids.
<code bash>git log --grep=<svn id></code> <code bash>git log --grep=<svn id></code>
- 
-==== SVN ==== 
- 
-see [[doc:howto:buildroot.exigence.old]] 
==== Downloading and Installing Feeds ===== ==== Downloading and Installing Feeds =====

Back to top

doc/howto/buildroot.exigence.1408299852.txt.bz2 · Last modified: 2014/08/17 20:24 by hlovdal