User Tools

Site Tools


doc:howto:buildroot.exigence

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
doc:howto:buildroot.exigence [2014/08/17 20:24]
hlovdal Added missing entries for Fedora
doc:howto:buildroot.exigence [2014/11/02 18:08] (current)
bracket Improve openSUSE package instalation example
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</​code>​
Line 109: Line 108:
  
 ===== 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 162:
  
 <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 184:
 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 =====
doc/howto/buildroot.exigence.1408299852.txt.bz2 · Last modified: 2014/08/17 20:24 by hlovdal