Differences

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

doc:howto:buildroot.exigence [2013/04/16 10:35]
epek
doc:howto:buildroot.exigence [2014/10/25 20:27] (current)
wifly
Line 1: Line 1:
====== OpenWrt Buildroot – Installation ====== ====== OpenWrt Buildroot – Installation ======
-[[about:toolchain|OpenWrt Buildroot]] is the preferred [[wp>toolchain]] to build OpenWrt. It is recommended that you use a [[wp>Linux distribution|GNU/Linux Distribution]] (Debian is recommended), either a standalone installation or one running in a virtual environment ([[wp>VMware]] or [[wp>Qemu]]).+[[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]])
 + 
 +[[wp>Cygwin]](Windows) will not be supported because of the lack of case sensitiveness in the file system.
-[[wp>Cygwin]] will probably not work correctly, and while it is possible to build OpenWrt images on a [[wp>Comparison of BSD operating systems|~BSD]] or on MacOSX system, success is not guaranteed. Feel free to try and then report back with your results. Don't forget to read [[#Troubleshooting]]. 
===== Prerequisites ===== ===== Prerequisites =====
-  * 350 MB of hard disk space for the source files to be downloaded. +to generate an [[doc:howto:generic.flashing|installable]] OpenWrt firmware image file with a size of e.g. 8MB: 
-  * 3-4 GB of available hard disk space to build (i.e. cross-compile) OpenWrt.+  * ca. 150 MB of hard disk space for OpenWrt Buildroot 
 +  * ca. 350 MB of hard disk space for OpenWrt Buildroot + OpenWrt Feeds 
 +  * ca. 2.1 GB of hard disk space for source packages downloaded during build from OpenWrt Feeds 
 +  * ca. 3-4 GB of available hard disk space to build (i.e. cross-compile) OpenWrt and generate the firmware file
-===== Procedure ===== 
-| {{: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 | 
-  - Install ''[[wp>Apache Subversion|subversion]]'' (short: ''svn''), to conveniently download the OpenWrt source code, and ''[[wp>GNU build system|build tools]]'' to assist with the compilation process: <code bash>sudo apt-get update + {{tag>wip}} 
-sudo apt-get install subversion build-essential</code> or, if you require luci: <code bash>sudo apt-get update + 
-sudo apt-get install subversion build-essential git-core</code> You may also need to install the meta-packages libz-dev and ncurses-dev <code bash>sudo apt-get update +===== Install procedure on Linux ===== 
-sudo apt-get install libz-dev ncurses-dev</code>+| ->[[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/)| 
 + 
 +  - Install ''[[wp>Git (software)|git]]'' , to conveniently download the OpenWrt source code, and ''[[wp>GNU build system|build tools]]'' to do the cross-compilation process: <code bash>sudo apt-get update 
 +sudo apt-get install git-core build-essential</code> Some feeds might not available over git but only via ''[[wp>Apache Subversion|subversion]]'' (short: ''svn''). If you want to obtain their source-code, you need to install svn as well:<code bash> 
 +sudo apt-get install subversion</code> 
 +    * for information about the build tools see ''[[man>make]]'' and [[http://packages.debian.org/wheezy/build-essential|build-essential]] 
 +    * for information about git see ''[[man>git(7)]]''
    * for information about the subversion tool see ''[[man>svn]]'' and [[http://svnbook.red-bean.com/index.en.html|subversion documentation (multiple languages)]]     * for information about the subversion tool see ''[[man>svn]]'' and [[http://svnbook.red-bean.com/index.en.html|subversion documentation (multiple languages)]]
-    * for information about the build tools see ''[[man>make]]'' and [[http://packages.debian.org/squeeze/build-essential|build-essential]] +  - Download the OpenWrt bleeding edge with ''git'' (//see [[#Downloading Sources]] for more options!//):<code bash> 
-  - Download the OpenWrt sources with ''svn''. <code bash>  +git clone git://git.openwrt.org/openwrt.git 
-mkdir ~/openwrt +</code> <HTML><p style="font-size:small">this creates a directory 'openwrt', which is the OpenWrt Buildroot build-directory </br>the OpenWrt toolchain "OpenWrt Buildroot" is included</p></HTML> 
-cd ~/openwrt +  - (//optional//) Download and install all available "feeds" (//see [[#Downloading and Installing Feeds]] for more options!//):<code bash> 
-svn co svn://svn.openwrt.org/openwrt/trunk/ +cd openwrt
-cd trunk +
-</code>  +
-    * this will create a directory 'trunk', which is the main OpenWrt source code dir +
-    * for trunk rev R27988, there will be 14,382 files with an overall size of 150 MiB +
-    * includes the OpenWrt Buildroot system. +
-    * for more information about [[#Downloading Sources]].  +
-  - Download and install [[doc:devel:feeds]] using feeds script. (//optional//)<code bash>+
./scripts/feeds update -a ./scripts/feeds update -a
./scripts/feeds install -a</code> ./scripts/feeds install -a</code>
-    * after this, Revision 7367, the ''trunk''-dir contained **26,650 files** with an overall size of **302 MiB** (to install individual packages: ''./scripts/feeds install PACKAGENAME'') +  - Make OpenWrt Buildroot check for missing packages on your build-system using one of the following commands:<code bash>
-  - Use one of the following commands to check for missing packages on the system you want to build OpenWrt on:<code bash>+
make defconfig make defconfig
make prereq make prereq
-make menuconfig</code>  +make menuconfig</code> <HTML><p style="font-size:small">There you will need to select what you want to compile.</p></HTML> 
-    * this will list missing system packages needed to successfully build OpenWrt using buildroot. +  - Proceed with [[build]] (i.e. cross-compile the downloaded sources to binaries)<HTML><p style="font-size:small">After the cross-compilation process the ''trunk''-directory contained 244,451 files with a total size of 3.2GiB!</p></HTML> 
-  - Install the missing packages using [[https://wiki.archlinux.org/index.php/Pacman_Rosetta|package management commands]]. See the examples and table below for more details. + 
-  - Proceed with [[build]] or [[https://forum.openwrt.org/viewtopic.php?id=34676|Build OpenWrt on Mac OS X 10.7 Lion]] +
-:!: After configuring and running make (as described [[doc:howto:build|here]]), ''trunk''-dir contained 244,451 files with a total size of 3.2GiB!+
===== Table of known prerequisites and their corresponding packages ===== ===== Table of known prerequisites and their corresponding packages =====
-Here's a table with the package name for each prerequisite separated for different Linux 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 ^ +^ Prerequisite ^ Debian ^ Suse ^ Red Hat ^ OS X (via MacPorts) ^ Fedora ^ NetBSD ^ Arch ^ Gentoo
-| asciidoc| asciidoc| asciidoc| asciidoc| asciidoc | asciidoc| ?| +| asciidoc         | asciidoc| asciidoc| asciidoc| asciidoc | asciidoc| ?| asciidoc | app-text/asciidoc
-| bash| bash |bash| ?| bash | bash| bash|  +| [[wp>Bash (Unix shell)|GNU Bash]] | bash |bash| bash | bash | bash| bash| bash| app-shells/bash | 
-| binutils| binutils | binutils| binutils| binutils| binutils| ?| +| [[wp>Bc_(programming_language)#GNU_bc|GNU bc]] | [[http://packages.debian.org/jessie/bc|bc]] | | | | bc| | bc| sys-devel/bc | 
-| bzip2| bzip2 | bzip2| bzip2| bzip2| bzip2| ?|  +| [[wp>GNU Binutils]] | binutils | binutils| binutils| binutils| binutils| ?| binutils| sys-devel/binutils
-| fastjar| fastjar|fastjar| libgcj| fastjar| libgcj| ?|  +| [[wp>bzip2]]    | bzip2 | bzip2| bzip2| bzip2| bzip2| ?| bzip2| app-arch/bzip2
-| flex| flex|flex| ?| flex| flex| ?|  +| fastjar         | fastjar|fastjar| libgcj| fastjar| libgcj| ?| fastjar| app-arch/fastjar
-| git| git-core| git-core| ?| ?| git | ?| +| [[wp>flex lexical analyser|flex]]  | flex|flex| flex | flex| flex| ?| flex| sys-devel/flex
-| g++| g++| gcc-c++| gcc-c++| ?| gcc-c++| ?|  +| [[wp>Git (software)|git]] | git-core| git-core| git | git-core | git | ?| git| dev-vcs/git
-| gcc| gcc| gcc| gcc| ?| gcc| ?|  +| [[wp>GNU C++ Compiler]]  | g++| gcc-c++| gcc-c++| ?| gcc-c++| ?| gcc | sys-devel/gcc
-| getopt| util-linux | util-linux | ?| getopt| util-linux | getopt|  +| [[wp>GNU C Compiler]]    | gcc| gcc| gcc| ?| gcc| ?| gcc| sys-devel/gcc
-| GNU awk| gawk| gawk| gawk| gawk| gawk| ?|  +| getopt           | util-linux | util-linux | util-linux | getopt| util-linux | getopt| util-linux | sys-apps/util-linux
-| gtk2.0-dev| libgtk2.0-dev| ?| gtk2-devel| gtk2| gtk2-devel| ?|  +| [[wp>GNU awk]]  | gawk| gawk| gawk| gawk| gawk| ?| gawk| sys-apps/gawk
-| intltool-update| intltool| intltool| intltool| intltool| intltool| ?|  +| gtk2.0-dev       | libgtk2.0-dev| ?| gtk2-devel| gtk2| gtk2-devel| ?| gtk2 | x11-libs/gtk+ (?)
-| jikes| ---| jikes| ?| jikes| ---| ?|  +| intltool-update | intltool| intltool| intltool| intltool| intltool| ?| intltool | dev-util/intltool
-| libz, libz-dev| zlib1g-dev | zlib-devel| zlib-devel| zlib| zlib-devel| ?|  +| jikes           | [[http://packages.debian.org/jessie/jikespg|jikespg]] | jikes| ?| jikes| ---| ?| [[https://aur.archlinux.org/packages/jikes/|aur/jikes]] | dev-java/jikes
-| make| make | make| ?| gmake| make| gmake|  +| libz, libz-dev   | zlib1g-dev | zlib-devel| zlib-devel| zlib| zlib-devel| ?| zlib | sys-libs/zlib | 
-| ncurses| libncurses5-dev| ncurses-devel| ncurses-devel| ncurses| ncurses-devel| ?|  +| mercurial / hg  | | | | | hg | | |
-| openssl/ssl.h| libssl-dev| libopenssl-devel| openssl-devel| openssl| openssl-devel| ?|  +| make             | make | make| make | gmake| make| gmake| make | sys-devel/make | 
-| patch| patch | patch| ?| patchutils| patch| ?|  +| mkisofs          | genisoimage | ?| ?| ?| genisoimage| ?| cdrkit | app-cdr/cdrtools
-| perl-ExtUtils-MakeMaker| perl-modules | perl-ExtUtils-MakeMaker| perl-ExtUtils-MakeMaker| p5-extutils-makemaker| perl-ExtUtils-MakeMaker| ?|  +| [[wp>ncurses]]  | libncurses5-dev| ncurses-devel| ncurses-devel| ncurses| ncurses-devel| ?| ncurses | sys-libs/ncurses
-| python2.6-dev| python2.6-dev | python-devel| ?| python26| python-devel | ?|  +| openssl/ssl.h   | libssl-dev| libopenssl-devel| openssl-devel| openssl| openssl-devel| ?| openssl | dev-libs/openssl
-| rsync| rsync| rsync| ?| rsync| rsync| ?|  +| patch| patch     | patch | patch | patchutils| patch| ?| patch | sys-devel/patch
-| ruby| ruby| ruby | ?| ruby| ruby| ?|  +| perl-ExtUtils-MakeMaker| perl-modules | perl-ExtUtils-MakeMaker| perl-ExtUtils-MakeMaker| p5-extutils-makemaker| perl-ExtUtils-MakeMaker| ?| perl-extutils-makemaker | virtual/perl-ExtUtils-MakeMaker
-| sdcc| sdcc| sdcc| sdcc| sdcc| sdcc| ?|  +| python2.6-dev   | python2.6-dev | python-devel| ?| python26| python-devel | ?| python2 | dev-lang/python
-| unzip| unzip| unzip| ?| unzip| unzip| ?|  +| rsync           | rsync| rsync| rsync | rsync| rsync| ?| rsync | net-misc/rsync
-| wget| wget | wget| wget| wget| wget| ?|  +| ruby             | ruby| ruby | ?| ruby| ruby| ?| ruby | dev-lang/ruby
-| working-sdcc| --- | ?| ?| ?| ---| ?|  +| sdcc             | sdcc| sdcc| sdcc| sdcc| sdcc| ?| sdcc | dev-embedded/sdcc
-| xgettext| gettext| ?| ?| gettext| gettext| ?|  +| unzip           | unzip| unzip| unzip| unzip| unzip| ?| unzip | app-arch/unzip
-| xsltproc| xsltproc| libxslt| ?| libxslt| libxslt| ?|  +| [[wp>GNU Wget]]  | wget | wget| wget| wget| wget| ?| wget | net-misc/wget
-| zlib, zlib-static| zlib1g-dev| zlib-devel| ?| ?| zlib-devel | ?|+| working-sdcc    
 +| xgettext         | gettext| ?| gettext | gettext| gettext| ?| gettext | sys-devel/gettext
 +| 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 |
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 ^ +^ Package ^ Prerequisite ^ Debian ^ Suse ^ Red Hat ^ OS X ^ Fedora ^ NetBSD ^ Arch ^ Gentoo ^ 
-| intltool | [Perl] XML::Parser | libxml-parser-perl | ? | perl-XML-Parser | ? | perl-XML-Parser | ?| +| 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 | 
 +| libftdi  | libusb-config      | libusb-dev | | | | libusb-devel | | libusb | dev-libs/libusb-compat | 
 +| lilo    | as86,ld86          | bin86 | | | | dev86 | | bin86 | sys-devel/bin86 | 
 +| lilo    | bcc                | bcc | | | | dev86 | | [[https://aur.archlinux.org/packages/bcc/|aur/bcc]] | sys-devel/dev86 | 
 +| lilo    | uudecode          | sharutils | | | | sharutils | | sharutils | app-arch/sharutils | 
 +| classpath| javac, gcj        | openjdk-7-jdk | | | | java-1.7.0-openjdk-devel | | jdk7-openjdk | dev-java/icedtea-bin, dev-java/oracle-jdk-bin, USE="gcj" sys-devel/gcc | 
 +| mac80211 | b43-fwcutter      | | | | | b43-fwcutter | | b43-fwcutter | net-wireless/b43-fwcutter | 
 +| jamvm    | zip                | | | | | zip | | | |
-===== Examples of Package Installations ===== +==== Examples of Package Installations ==== 
-**Debian 5.0 Lenny:** + * **Arch Linux**<code>pacman -S --needed subversion asciidoc bash bc binutils bzip2 fastjar flex git gcc util-linux gawk intltool zlib make cdrkit ncurses openssl patch perl-extutils-makemaker rsync sdcc unzip wget gettext libxslt boost libusb bin86 sharutils b43-fwcutter findutils</code> 
-<code>aptitude install gawk ncurses-dev unzip zlib1g-dev</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> 
 +  * **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> 
 +  * **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> 
 +  * **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>
-**Debian 6.0 Squeeze:** +==== Known variants to be broken ====
-<code>aptitude install libncurses5-dev zlib1g-dev gawk flex libssl-dev sdcc-nf</code>+
-**Fedora 17:** +  * **alpine linux** uses musl as libc replacement. Some host tools fail to compile (mtd-utils, e2fsprogs). Detection possibly has to be overridden (gcc -dumpmachine outputs a result where some scripts will fail - tools/sed)
-<code>yum install -y subversion binutils bzip2 gcc gcc-c++ gawk gettext flex libz-dev flex ncurses-devel zlib-devel make patch unzip  perl-ExtUtils-MakeMaker +
-mkdir ~/openwrt +
-cd openwrt +
-svn co svn://svn.openwrt.org/openwrt/trunk/ +
-cd trunk +
-./scripts/feeds update -a +
-./scripts/feeds install -a +
-make defconfig +
-make prereq +
-make menuconfig +
-ionice -c 3 nice -n 20 make -j 2 #for quad-core CPU put -j 3</code>+
-**Fedora 18 - 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 flex ncurses-devel zlib-devel make patch unzip perl-ExtUtils-MakeMaker \ 
- glibc glibc-devel glibc-static quilt ncurses-lib sed sdcc intltool sharutils bison</code> 
-<code>#Maybe you need glibc.i686 glibc-static.i686 glibc-devel.i686 libgcc.i686 too</code>+===== Downloading Sources =====
-**openSuSE 11.1** +==== SVN ==== 
-<code>zypper install binutils bzip2 gawk gcc gcc-c++ gettext make ncurses-devel patch unzip wget zlib-devel flex git-core</code>+You can checkout the source from the OpenWrt Subversion repository using one of the following commands:
-**Ubuntu 9.10:** +=== trunk (main development tree) === 
-<code>sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib bison autoconf screen gcc g++ binutils patch bzip2 flex make gettext unzip libc6 git-core</code>+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>
-**Ubuntu 11.10:** 
-<code>sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt</code> 
-**Ubuntu 12.04LTS:** +=== 14.07 branch "Barrier Breaker" === 
-<code>sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl</code>+<code bash>svn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker</code>
-**Ubuntu 64bit:** 
-<code>sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext</code> 
-**Mac OS X (tested on 64-bit Lion &amp; Mountain Lion):** +=== 12.09 branch &quot;Attitude Adjustment&quot; === 
-  - Download &amp; use[[http://www.macports.org/install.php#pkg|MacPorts .pkg Installer]], and install the following packages with the help of Mac-Ports: +<code bash>svn co svn://svn.openwrt.org/openwrt/branches/attitude_adjustment</code>
- - <code>sudo port -v selfupdate</code> +
-  - <code>sudo port install coreutils asciidoc bzip2 fastjar flex getopt gtk2 intltool jikes zlib openssl p5-extutils-makemaker \ +
-python26 rsync ruby sdcc unzip gettext libxslt bison gawk autoconf wget gmake ncurses e2fsprogs ossp-uuid gawk findutils</code>+
-  - **Required for 64-bit OS X**: After checking out the source tree via svn above, we need to edit **trunk/tools/Makefile** 
-  * On line 17, erase the instance of "e2fsprogs" but leave the rest of the line 
-  * Comment out line 22, line 50, line 52, line 58 with the hash symbol, by putting # at the beginning of each line. They are the lines that issue qemu to be built, followed by the build dependancies for mtd-utils (dep: e2fsprogs), qemu (dep: e2fsprogs), and e2fsprogs respectively. 
-  * Then copy the required headers and libraries to compile tools/mtd-utils <code>cd trunk; 
-mkdir -p staging_dir/host/include/e2fsprogs; 
-cp -R /opt/local/include/ossp staging_dir/host/include/e2fsprogs/; 
-cp /opt/local/lib/libuuid* staging_dir/host/lib </code> 
-See thread: [[https://forum.openwrt.org/viewtopic.php?id=34676|[HOWTO] Build OpenWRT Trunk from svn on Mac OS X 10.7 Lion]] for more details 
 +=== 10.03 branch "Backfire" ===
 +<code bash>svn co svn://svn.openwrt.org/openwrt/branches/backfire</code>
-Notes: 
-  * In Debian or Ubuntu use <code>apt-cache search ""</code> to find prerequisite packages. Naming is sometimes different 
-  * 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> 
-  * 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) 
 +=== 8.09 branch "Kamikaze" ===
 +<code bash>svn co svn://svn.openwrt.org/openwrt/branches/8.09</code>
-===== Downloading Sources ===== 
-Short version: [[https://dev.openwrt.org/wiki/GetSource]]\\ 
-You have two choices:  
-  * Download the latest stable release, or  
-  * Download the bleeding edge development snapshot (currently named "Barrier Breaker", but often called "trunk"). 
-The official repository is in svn but you can also choose to use git if you're building trunk. Refer to the [[https://dev.openwrt.org/wiki/GetSource|GetSource]] for the URLs and amend the following commands appropriately. 
-==== Using Release Sources (stable) ==== +=== 7.09 branch "Kamikaze" === 
-As of this writing, the latest stable release is OpenWrt 10.03 &quot;Backfire&quot;. There is a Backfire branch in SVN repository, which is still slowly being updated with verified patches. Using it will most likely produce a stable and working OpenWrt installation, but all the newest features and patches might not be there. As an example, this will check out the source code that the backfire release is built from (plus the latest backported fixes from trunk):+&lt;code bash&gt;svn co svn://svn.openwrt.org/openwrt/tags/kamikaze_7.09</code>
-<code> 
-svn checkout svn://svn.openwrt.org/openwrt/branches/backfire 
-</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: 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>
-<code> +=== Check out a certain revisions === 
-svn checkout svn://svn.openwrt.org/openwrt/tags/backfire_10.03 +== Main repository == 
-</code>+<code bash>svn co --revision=24045 svn://svn.openwrt.org/openwrt/branches/backfire/ ./build_dir</code>
-You can check out a certain revision+== Package feeds == 
-<code> +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
-svn checkout --revision=24045 svn://svn.openwrt.org/openwrt/branches/backfire/ ./build_dir +<code bash>src-svn packages svn://svn.openwrt.org/openwrt/packages@24045</code>
-</code>+
-As for the packages copy ''feeds.conf.default'' in ./build_dir to feeds.conf and add "@24045" at the end of the line that checks out the package feed: 
-<code> 
-src-svn packages svn://svn.openwrt.org/openwrt/packages@24045 
-</code> 
 +==== GIT ====
 +cloning the Git repository using one of the following commands:
-==== Using Development Sources (bleeding edge) ====+=== trunk (main development tree) ===
The development branch (trunk) contains everything from documentation to <color yellow>**//experimental//**</color> <color red>**//patches//**</color>. The development branch (trunk) contains everything from documentation to <color yellow>**//experimental//**</color> <color red>**//patches//**</color>.
-  * get latest<code> +== Main repository == 
-svn checkout svn://svn.openwrt.org/openwrt/trunk+ 
-</code> +<code bash>git clone git://git.openwrt.org/openwrt.git</code> 
- * get certain revision<code> + 
-svn co svn://svn.openwrt.org/openwrt/trunk/@<rev#+== Packages feed == 
-</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) === 
 + 
 +== Main repository == 
 +<code bash>git clone git://git.openwrt.org/12.09/openwrt.git</code> 
 + 
 +== Packages feed == 
 + 
 +<code bash>git clone git://git.openwrt.org/12.09/packages.git</code> 
 + 
 +=== Check out certain revision === 
 +git commits are tagged with SVN ids. 
 +<code bash>git log --grep=<svn id></code> 
 + 
 +==== Downloading and Installing Feeds ===== 
 +{{tag>wip}} 
 + 
 +See ->[[doc:devel:feeds]] 
 + 
 +  * to install only individual packages: <code bash>./scripts/feeds install PACKAGENAME</code> 
 + 
 +**Problem downloading and installing feeds ? If yes follow below...** 
 + 
 +  - Open your directory where you have downloaded openwrt source using git or svn ... 
 +  - Edit ''feeds.conf.default'' 
 +  - Comment below lines\\ <code> 
 +src-svn packages svn://svn.openwrt.org/openwrt/branches/packages_10.03.2 svn://svn.openwrt.org/openwrt/packages 
 +src-svn luci http://svn.luci.subsignal.org/luci/branches/luci-0.10/contrib/package </code
 + - Copy below lines and save\\ <code> 
 +src-git packages http://git.openwrt.org/10.03/packages.git http://git.openwrt.org/packages.git 
 +src-git luci http://git.openwrt.org/project/luci.git</code> 
 +  - ''./scripts/feeds update -a'' 
 +  - ''./scripts/feeds install -a''
===== Troubleshooting ===== ===== Troubleshooting =====

Back to top

doc/howto/buildroot.exigence.1366101322.txt.bz2 · Last modified: 2013/04/16 10:35 by epek