mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-10 10:10:28 +03:00
Compare commits
1 Commits
2011.11_rc
...
2009.02_rc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
79ba278358 |
14
.gitignore
vendored
14
.gitignore
vendored
@@ -1,14 +0,0 @@
|
||||
/output
|
||||
/dl
|
||||
/.auto.deps
|
||||
/.config.cmd
|
||||
/.config.old
|
||||
/..config.tmp
|
||||
/.config
|
||||
*.depend
|
||||
*.o
|
||||
/*.patch
|
||||
/*.diff
|
||||
*.orig
|
||||
*.rej
|
||||
*~
|
||||
339
COPYING
339
COPYING
@@ -1,339 +0,0 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
236
Config.in
236
Config.in
@@ -1,6 +1,6 @@
|
||||
#
|
||||
|
||||
mainmenu "Buildroot $BR2_VERSION Configuration"
|
||||
mainmenu "Buildroot2 Configuration"
|
||||
|
||||
config BR2_HAVE_DOT_CONFIG
|
||||
bool
|
||||
@@ -8,33 +8,28 @@ config BR2_HAVE_DOT_CONFIG
|
||||
|
||||
config BR2_VERSION
|
||||
string
|
||||
option env="BR2_VERSION_FULL"
|
||||
default "2009.02-rc4"
|
||||
|
||||
source "target/Config.in.arch"
|
||||
source "target/device/Config.in"
|
||||
|
||||
menu "Build options"
|
||||
|
||||
menu "Commands"
|
||||
|
||||
config BR2_WGET
|
||||
string "Wget command"
|
||||
default "wget --passive-ftp -nd -t 3"
|
||||
default "wget --passive-ftp -nd"
|
||||
|
||||
config BR2_SVN
|
||||
string "Subversion (svn) command"
|
||||
default "svn"
|
||||
config BR2_SVN_CO
|
||||
string "Subversion (svn) command to download source tree"
|
||||
default "svn co"
|
||||
|
||||
config BR2_BZR
|
||||
string "Bazaar (bzr) command"
|
||||
default "bzr"
|
||||
config BR2_SVN_UP
|
||||
string "Subversion (svn) command to update source tree"
|
||||
default "svn up"
|
||||
|
||||
config BR2_GIT
|
||||
string "Git command"
|
||||
default "git"
|
||||
|
||||
config BR2_LOCALFILES
|
||||
string "Local files retrieval command"
|
||||
default "cp"
|
||||
string "Git command to download source tree"
|
||||
default "git clone"
|
||||
|
||||
config BR2_ZCAT
|
||||
string "zcat command"
|
||||
@@ -56,13 +51,6 @@ config BR2_BZCAT
|
||||
Default is "bzcat"
|
||||
Other possible values include "bunzip2 -c" or "bzip2 -d -c".
|
||||
|
||||
config BR2_XZCAT
|
||||
string "xzcat command"
|
||||
default "xzcat"
|
||||
help
|
||||
Command to be used to extract a xz'ed file to stdout.
|
||||
Default is "xzcat"
|
||||
|
||||
config BR2_TAR_OPTIONS
|
||||
string "Tar options"
|
||||
default ""
|
||||
@@ -71,116 +59,129 @@ config BR2_TAR_OPTIONS
|
||||
E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files
|
||||
and to be verbose.
|
||||
|
||||
endmenu
|
||||
|
||||
config BR2_DL_DIR
|
||||
string "Download dir"
|
||||
default "$(TOPDIR)/dl"
|
||||
default "$(BASE_DIR)/dl"
|
||||
help
|
||||
Directory to store all the source files that we need to fetch.
|
||||
If the Linux shell environment has defined the BUILDROOT_DL_DIR
|
||||
environment variable, then this overrides this configuration item.
|
||||
|
||||
The default is $(TOPDIR)/dl
|
||||
The default is $(BASE_DIR)/dl
|
||||
|
||||
config BR2_HOST_DIR
|
||||
string "Host dir"
|
||||
default "$(BASE_DIR)/host"
|
||||
help
|
||||
Directory to store all the binary files that are built for the host.
|
||||
This includes the cross compilation toolchain when building the
|
||||
internal buildroot toolchain.
|
||||
|
||||
The default is $(BASE_DIR)/host
|
||||
|
||||
menu "Mirrors and Download locations"
|
||||
|
||||
config BR2_PRIMARY_SITE
|
||||
string "Primary download site"
|
||||
config BR2_COPYTO
|
||||
string "Copy result to..."
|
||||
default ""
|
||||
help
|
||||
Primary site to download from. If this option is set then buildroot
|
||||
will try to download package source first from this site and try the
|
||||
default if the file is not found.
|
||||
NOTE: This only works for packages using the Makefile.autotools.in
|
||||
Setting this variable will (eventually) override
|
||||
any other copyto configurations in buildroot.
|
||||
|
||||
config BR2_BACKUP_SITE
|
||||
string "Backup download site"
|
||||
default "http://sources.buildroot.net/"
|
||||
source "target/device/Config.in.mirrors"
|
||||
|
||||
config BR2_STAGING_DIR
|
||||
string "Toolchain and header file location?"
|
||||
default "$(BUILD_DIR)/staging_dir"
|
||||
help
|
||||
Backup site to download from. If this option is set then buildroot
|
||||
will fall back to download package sources from here if the
|
||||
normal location fails.
|
||||
This is the location where the toolchain will be installed. The
|
||||
toolchain will not work if it is moved from this location.
|
||||
Therefore, if you wish to package up a uClibc toolchain, it is
|
||||
important that is is set to the final location where the toolchain
|
||||
will be used.
|
||||
|
||||
config BR2_SOURCEFORGE_MIRROR
|
||||
string "Sourceforge mirror site"
|
||||
default "kent"
|
||||
Most people will leave this set to the default value of
|
||||
"$(BUILD_DIR)/staging_dir".
|
||||
|
||||
config BR2_FPU_SUFFIX
|
||||
bool "Add '_nofpu' suffix for softfloat toolchains"
|
||||
help
|
||||
Sourceforge has a system of mirror sites. Some sites may be
|
||||
closer to your location, and sometimes mirror sites go down
|
||||
and are no longer available. This option allows you to select
|
||||
your preferred Sourceforge mirror site.
|
||||
If the toolchain is configured to use softfloat, then
|
||||
the "_nofpu" suffix will be added to the toolchain build
|
||||
directory name and to any rootfs image name
|
||||
|
||||
The list of mirrors is available here:
|
||||
http://sourceforge.net/apps/trac/sourceforge/wiki/Mirrors
|
||||
|
||||
config BR2_KERNEL_MIRROR
|
||||
string "Kernel.org mirror"
|
||||
default "http://www.kernel.org/pub/"
|
||||
config BR2_TOPDIR_PREFIX
|
||||
string "Custom build dir prefix"
|
||||
default ""
|
||||
help
|
||||
kernel.org is mirrored on a number of servers around the world.
|
||||
The following allows you to select your preferred mirror.
|
||||
Add a custom string to the beginning of the build directories.
|
||||
|
||||
Have a look on the kernel.org site for a list of mirrors, then enter
|
||||
the URL to the base directory. Examples:
|
||||
build_ARCH -> [PREFIX]_build_ARCH
|
||||
toolchain_build_ARCH -> [PREFIX]_toolchain_build_ARCH
|
||||
|
||||
http://www.XX.kernel.org/pub (XX = country code)
|
||||
http://mirror.aarnet.edu.au/pub/ftp.kernel.org
|
||||
|
||||
config BR2_GNU_MIRROR
|
||||
string "GNU Software mirror"
|
||||
default "http://ftp.gnu.org/pub/gnu"
|
||||
config BR2_TOPDIR_SUFFIX
|
||||
string "Custom build dir suffix"
|
||||
default ""
|
||||
help
|
||||
GNU has multiple software mirrors scattered around the world.
|
||||
The following allows you to select your preferred mirror.
|
||||
Add a custom string to the end of the build directories.
|
||||
|
||||
Have a look on the gnu.org site for a list of mirrors, then enter
|
||||
the URL to the base directory. Examples:
|
||||
build_ARCH -> build_ARCH_[SUFFIX]
|
||||
toolchain_build_ARCH -> toolchain_build_ARCH_[SUFFIX]
|
||||
|
||||
http://ftp.gnu.org/pub/gnu
|
||||
http://mirror.aarnet.edu.au/pub/gnu
|
||||
|
||||
config BR2_DEBIAN_MIRROR
|
||||
string "Debian Software mirror"
|
||||
default "http://ftp.debian.org"
|
||||
config BR2_GNU_BUILD_SUFFIX
|
||||
string "GNU build hostname suffix"
|
||||
default "pc-linux-gnu"
|
||||
help
|
||||
Debian has multiple software mirrors scattered around the world.
|
||||
The following allows you to select your preferred mirror.
|
||||
The string used to pass to configure scripts via the
|
||||
--build= option. Just specify the suffix here, the leading
|
||||
arch will be filled in automatically.
|
||||
|
||||
Usually, just add your country code like XX here:
|
||||
http://ftp.XX.debian.org
|
||||
Here's some copy and paste build host options for you:
|
||||
linux: pc-linux-gnu
|
||||
cygwin: pc-cygwin
|
||||
os x: apple-darwin7 / apple-darwin8
|
||||
|
||||
endmenu
|
||||
config BR2_GNU_TARGET_SUFFIX
|
||||
string "GNU target suffix"
|
||||
default "linux-uclibcgnueabi" if BR2_ARM_EABI
|
||||
default "linux-uclibc"
|
||||
help
|
||||
The string used to pass to configure scripts via the
|
||||
--target= option. Just specify the suffix here, the leading
|
||||
arch will be filled in automatically.
|
||||
|
||||
Most users will want to stick with the default setting, though
|
||||
other users (most notably ARM EABI) like to add on to this in
|
||||
order to stay in line with gcc conventions.
|
||||
|
||||
Default options are:
|
||||
linux-uclibcgnueabi for ARM EABI
|
||||
linux-uclibc for the rest
|
||||
gnuhurd-uclibc for the hurd
|
||||
|
||||
config BR2_JLEVEL
|
||||
int "Number of jobs to run simultaneously"
|
||||
default "2"
|
||||
default "1"
|
||||
help
|
||||
Number of jobs to run simultaneously
|
||||
|
||||
config BR2_CCACHE
|
||||
bool "Enable compiler cache"
|
||||
config BR2_PREFER_IMA
|
||||
bool "prefer IMA compiles"
|
||||
help
|
||||
This option will enable the use of ccache, a compiler
|
||||
cache. It will cache the result of previous builds to speed
|
||||
up future builds. The cache is stored in
|
||||
$HOME/.buildroot-ccache.
|
||||
Where possible, compile package with Inter Module Analysis.
|
||||
This potentially uses alot of system resources on your compile
|
||||
host with the benefit of creating smaller binaries for the target.
|
||||
|
||||
If unsure, say No.
|
||||
|
||||
WARNING: This is highly experimental at the moment.
|
||||
|
||||
config BR2_DEPRECATED
|
||||
bool "Show packages that are deprecated or obsolete"
|
||||
help
|
||||
This option hides outdated/obsolete versions of packages.
|
||||
|
||||
config BR2_RECENT
|
||||
bool "Show packages that are of the latest major version"
|
||||
default y
|
||||
help
|
||||
This option show recent versions of packages.
|
||||
|
||||
config BR2_CONFIG_CACHE
|
||||
bool "Use a central configure cache file"
|
||||
help
|
||||
This determines if a central config cache is used by
|
||||
packages, reducing the configure time for packages as each
|
||||
one caches its findings.
|
||||
|
||||
config BR2_ENABLE_DEBUG
|
||||
bool "build packages with debugging symbols"
|
||||
select BR2_PACKAGE_GDB_SERVER
|
||||
@@ -230,14 +231,14 @@ choice
|
||||
|
||||
config BR2_STRIP_strip
|
||||
bool "strip"
|
||||
depends on !BR2_ELF2FLT
|
||||
depends on !BR2_ENABLE_DEBUG && !BR2_ELF2FLT
|
||||
help
|
||||
strip is the normal strip command
|
||||
|
||||
config BR2_STRIP_sstrip
|
||||
bool "sstrip"
|
||||
select BR2_PACKAGE_SSTRIP_HOST
|
||||
depends on !BR2_ELF2FLT
|
||||
depends on !BR2_ENABLE_DEBUG && !BR2_ELF2FLT
|
||||
help
|
||||
sstrip is a strip that discards more than the normal strip
|
||||
|
||||
@@ -255,11 +256,13 @@ choice
|
||||
|
||||
config BR2_OPTIMIZE_0
|
||||
bool "optimization level 0"
|
||||
depends on !BR2_PACKAGE_LINUX
|
||||
help
|
||||
Do not optimize. This is the default.
|
||||
|
||||
config BR2_OPTIMIZE_1
|
||||
bool "optimization level 1"
|
||||
depends on !BR2_PACKAGE_LINUX
|
||||
help
|
||||
Optimize. Optimizing compilation takes somewhat more time,
|
||||
and a lot more memory for a large function. With -O, the
|
||||
@@ -324,11 +327,24 @@ config BR2_PREFER_STATIC_LIB
|
||||
|
||||
WARNING: This is highly experimental at the moment.
|
||||
|
||||
config BR2_HAVE_MANPAGES
|
||||
bool "manpages on the target"
|
||||
help
|
||||
Leave the manpages on the target.
|
||||
If you say n here, your target will not contain any
|
||||
manpage.
|
||||
|
||||
config BR2_HAVE_INFOPAGES
|
||||
bool "infopages on the target"
|
||||
help
|
||||
Leave the infopages on the target.
|
||||
If you say n here, your target will not contain any
|
||||
infopage.
|
||||
|
||||
config BR2_HAVE_DOCUMENTATION
|
||||
bool "documentation on the target"
|
||||
help
|
||||
Install the documentation, including manual pages and info
|
||||
pages, on the target.
|
||||
Leave the documentation on the target.
|
||||
If you say n here, your target will not contain any
|
||||
documentation.
|
||||
|
||||
@@ -338,26 +354,12 @@ config BR2_HAVE_DEVFILES
|
||||
Install headers and static libraries in the
|
||||
target filesystem
|
||||
|
||||
config BR2_PACKAGE_OVERRIDE_FILE
|
||||
string "location of a package override file"
|
||||
default "$(TOPDIR)/local.mk"
|
||||
help
|
||||
A package override file is a short makefile that contains
|
||||
variable definitions of the form <pkg>_OVERRIDE_SRCDIR,
|
||||
which allows to tell Buildroot to use an existing directory
|
||||
as the source directory for a particular package. See the
|
||||
Buildroot documentation for more details on this feature.
|
||||
source package/gnuconfig/Config.in
|
||||
|
||||
endmenu
|
||||
|
||||
source "toolchain/Config.in"
|
||||
|
||||
source "target/generic/Config.in"
|
||||
|
||||
source "package/Config.in"
|
||||
|
||||
source "fs/Config.in"
|
||||
|
||||
source "boot/Config.in"
|
||||
|
||||
source "linux/Config.in"
|
||||
source "target/Config.in"
|
||||
|
||||
704
Makefile
704
Makefile
@@ -1,7 +1,7 @@
|
||||
# Makefile for buildroot2
|
||||
#
|
||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||
# Copyright (C) 2006-2011 by the Buildroot developers <buildroot@uclibc.org>
|
||||
# Copyright (C) 2006-2009 by the Buildroot developers <buildroot@uclibc.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -22,68 +22,46 @@
|
||||
# Just run 'make menuconfig', configure stuff, then run 'make'.
|
||||
# You shouldn't need to mess with anything beyond this point...
|
||||
#--------------------------------------------------------------
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION:=2011.11-rc2
|
||||
|
||||
# This top-level Makefile can *not* be executed in parallel
|
||||
.NOTPARALLEL:
|
||||
|
||||
# absolute path
|
||||
TOPDIR:=$(shell pwd)
|
||||
TOPDIR=./
|
||||
CONFIG_CONFIG_IN=Config.in
|
||||
CONFIG=support/kconfig
|
||||
CONFIG_DEFCONFIG=.defconfig
|
||||
CONFIG=package/config
|
||||
DATE:=$(shell date +%Y%m%d)
|
||||
|
||||
# Compute the full local version string so packages can use it as-is
|
||||
# Need to export it, so it can be got from environment in children (eg. mconf)
|
||||
export BR2_VERSION_FULL:=$(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlocalversion)
|
||||
noconfig_targets:=menuconfig config oldconfig randconfig \
|
||||
defconfig allyesconfig allnoconfig release tags \
|
||||
source-check help
|
||||
|
||||
noconfig_targets:=menuconfig nconfig gconfig xconfig config oldconfig randconfig \
|
||||
defconfig %_defconfig savedefconfig allyesconfig allnoconfig silentoldconfig release \
|
||||
randpackageconfig allyespackageconfig allnopackageconfig \
|
||||
source-check
|
||||
|
||||
# Strip quotes and then whitespaces
|
||||
qstrip=$(strip $(subst ",,$(1)))
|
||||
#"))
|
||||
# Use shell variables, if defined
|
||||
ifneq ($(BUILDROOT_LOCAL),)
|
||||
BR2_LOCAL:=$(BUILDROOT_LOCAL)
|
||||
else
|
||||
BR2_LOCAL:=$(TOPDIR)/local
|
||||
endif
|
||||
|
||||
# Variables for use in Make constructs
|
||||
comma:=,
|
||||
empty:=
|
||||
space:=$(empty) $(empty)
|
||||
|
||||
ifneq ("$(origin O)", "command line")
|
||||
O:=output
|
||||
CONFIG_DIR:=$(TOPDIR)
|
||||
NEED_WRAPPER=
|
||||
else
|
||||
# other packages might also support Linux-style out of tree builds
|
||||
# with the O=<dir> syntax (E.G. Busybox does). As make automatically
|
||||
# forwards command line variable definitions those packages get very
|
||||
# confused. Fix this by telling make to not do so
|
||||
MAKEOVERRIDES =
|
||||
# strangely enough O is still passed to submakes with MAKEOVERRIDES
|
||||
# (with make 3.81 atleast), the only thing that changes is the output
|
||||
# of the origin function (command line -> environment).
|
||||
# Unfortunately some packages don't look at origin (E.G. uClibc 0.9.31+)
|
||||
# To really make O go away, we have to override it.
|
||||
override O:=$(O)
|
||||
CONFIG_DIR:=$(O)
|
||||
# we need to pass O= everywhere we call back into the toplevel makefile
|
||||
EXTRAMAKEARGS = O=$(O)
|
||||
NEED_WRAPPER=y
|
||||
endif
|
||||
|
||||
# $(shell find . -name *_defconfig |sed 's/.*\///')
|
||||
# Pull in the user's configuration file
|
||||
ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
|
||||
-include $(CONFIG_DIR)/.config
|
||||
ifeq ($(BOARD),)
|
||||
# if "make BOARD=xyz" command
|
||||
-include .config
|
||||
else
|
||||
# if "make" command
|
||||
-include $(BR2_LOCAL)/$(BOARD)/$(BOARD).config
|
||||
endif
|
||||
endif
|
||||
|
||||
# Override BR2_DL_DIR if shell variable defined
|
||||
ifneq ($(BUILDROOT_DL_DIR),)
|
||||
BR2_DL_DIR:=$(BUILDROOT_DL_DIR)
|
||||
endif
|
||||
LOCAL:=$(BR2_LOCAL)
|
||||
|
||||
# To put more focus on warnings, be less verbose as default
|
||||
# Use 'make V=1' to see the full commands
|
||||
@@ -125,14 +103,11 @@ HOSTAS:=as
|
||||
endif
|
||||
ifndef HOSTCC
|
||||
HOSTCC:=gcc
|
||||
HOSTCC:=$(shell which $(HOSTCC) || type -p $(HOSTCC) || echo gcc)
|
||||
else
|
||||
endif
|
||||
HOSTCC_NOCCACHE:=$(HOSTCC)
|
||||
ifndef HOSTCXX
|
||||
HOSTCXX:=g++
|
||||
HOSTCXX:=$(shell which $(HOSTCXX) || type -p $(HOSTCXX) || echo g++)
|
||||
endif
|
||||
HOSTCXX_NOCCACHE:=$(HOSTCXX)
|
||||
ifndef HOSTFC
|
||||
HOSTFC:=gfortran
|
||||
endif
|
||||
@@ -150,24 +125,24 @@ HOSTNM:=nm
|
||||
endif
|
||||
HOSTAR:=$(shell which $(HOSTAR) || type -p $(HOSTAR) || echo ar)
|
||||
HOSTAS:=$(shell which $(HOSTAS) || type -p $(HOSTAS) || echo as)
|
||||
HOSTCC:=$(shell which $(HOSTCC) || type -p $(HOSTCC) || echo gcc)
|
||||
HOSTCXX:=$(shell which $(HOSTCXX) || type -p $(HOSTCXX) || echo g++)
|
||||
HOSTFC:=$(shell which $(HOSTLD) || type -p $(HOSTLD) || echo || which g77 || type -p g77 || echo gfortran)
|
||||
HOSTCPP:=$(shell which $(HOSTCPP) || type -p $(HOSTCPP) || echo cpp)
|
||||
HOSTLD:=$(shell which $(HOSTLD) || type -p $(HOSTLD) || echo ld)
|
||||
HOSTLN:=$(shell which $(HOSTLN) || type -p $(HOSTLN) || echo ln)
|
||||
HOSTNM:=$(shell which $(HOSTNM) || type -p $(HOSTNM) || echo nm)
|
||||
|
||||
ifndef CFLAGS_FOR_BUILD
|
||||
CFLAGS_FOR_BUILD:=-g -O2
|
||||
endif
|
||||
ifndef CXXFLAGS_FOR_BUILD
|
||||
CXXFLAGS_FOR_BUILD:=-g -O2
|
||||
endif
|
||||
ifndef FCFLAGS_FOR_BUILD
|
||||
FCFLAGS_FOR_BUILD:=-g -O2
|
||||
endif
|
||||
export HOSTAR HOSTAS HOSTCC HOSTCXX HOSTFC HOSTLD
|
||||
export HOSTCC_NOCCACHE HOSTCXX_NOCCACHE
|
||||
|
||||
# bash prints the name of the directory on 'cd <dir>' if CDPATH is
|
||||
# set, so unset it here to not cause problems. Notice that the export
|
||||
# line doesn't affect the environment of $(shell ..) calls, so
|
||||
# explictly throw away any output from 'cd' here.
|
||||
export CDPATH:=
|
||||
BASE_DIR := $(shell mkdir -p $(O) && cd $(O) >/dev/null && pwd)
|
||||
$(if $(BASE_DIR),, $(error output directory "$(O)" does not exist))
|
||||
|
||||
BUILD_DIR:=$(BASE_DIR)/build
|
||||
|
||||
|
||||
ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||
@@ -186,105 +161,62 @@ cc-option=$(shell if $(TARGET_CC) $(TARGET_CFLAGS) $(1) -S -o /dev/null -xc /dev
|
||||
#############################################################
|
||||
unexport CROSS_COMPILE
|
||||
unexport ARCH
|
||||
unexport CC
|
||||
unexport CXX
|
||||
unexport CPP
|
||||
unexport CFLAGS
|
||||
unexport CXXFLAGS
|
||||
unexport GREP_OPTIONS
|
||||
|
||||
GNU_HOST_NAME:=$(shell support/gnuconfig/config.guess)
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Setup the proper filename extensions for the host
|
||||
#
|
||||
##############################################################
|
||||
ifneq ($(findstring linux,$(GNU_HOST_NAME)),)
|
||||
ifneq ($(findstring linux,$(BR2_GNU_BUILD_SUFFIX)),)
|
||||
HOST_EXEEXT:=
|
||||
HOST_LIBEXT:=.a
|
||||
HOST_SHREXT:=.so
|
||||
endif
|
||||
ifneq ($(findstring apple,$(GNU_HOST_NAME)),)
|
||||
ifneq ($(findstring apple,$(BR2_GNU_BUILD_SUFFIX)),)
|
||||
HOST_EXEEXT:=
|
||||
HOST_LIBEXT:=.a
|
||||
HOST_SHREXT:=.dylib
|
||||
endif
|
||||
ifneq ($(findstring cygwin,$(GNU_HOST_NAME)),)
|
||||
ifneq ($(findstring cygwin,$(BR2_GNU_BUILD_SUFFIX)),)
|
||||
HOST_EXEEXT:=.exe
|
||||
HOST_LIBEXT:=.lib
|
||||
HOST_SHREXT:=.dll
|
||||
HOST_LOADLIBES=-lcurses -lintl
|
||||
HOST_LOADLIBES="-lcurses -lintl"
|
||||
export HOST_LOADLIBES
|
||||
endif
|
||||
ifneq ($(findstring mingw,$(GNU_HOST_NAME)),)
|
||||
ifneq ($(findstring mingw,$(BR2_GNU_BUILD_SUFFIX)),)
|
||||
HOST_EXEEXT:=.exe
|
||||
HOST_LIBEXT:=.lib
|
||||
HOST_SHREXT:=.dll
|
||||
endif
|
||||
|
||||
# The preferred type of libs we build for the target
|
||||
ifeq ($(BR2_PREFER_STATIC_LIB),y)
|
||||
LIBTGTEXT=.a
|
||||
#PREFERRED_LIB_FLAGS:=--disable-shared --enable-static
|
||||
else
|
||||
LIBTGTEXT=.so
|
||||
#PREFERRED_LIB_FLAGS:=--disable-static --enable-shared
|
||||
endif
|
||||
PREFERRED_LIB_FLAGS:=--enable-static --enable-shared
|
||||
|
||||
##############################################################
|
||||
#
|
||||
# The list of stuff to build for the target toolchain
|
||||
# along with the packages to build for the target.
|
||||
#
|
||||
##############################################################
|
||||
|
||||
ifeq ($(BR2_CCACHE),y)
|
||||
BASE_TARGETS += host-ccache
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
|
||||
BASE_TARGETS += uclibc-configured host-binutils cross_compiler uclibc-target-utils kernel-headers
|
||||
ifeq ($(BR2_TOOLCHAIN_SOURCE),y)
|
||||
BASE_TARGETS:=uclibc-configured binutils cross_compiler uclibc-target-utils kernel-headers
|
||||
else
|
||||
BASE_TARGETS += uclibc
|
||||
BASE_TARGETS:=uclibc
|
||||
endif
|
||||
TARGETS:=
|
||||
|
||||
# silent mode requested?
|
||||
QUIET:=$(if $(findstring s,$(MAKEFLAGS)),-q)
|
||||
# setup our paths
|
||||
include project/Makefile.in
|
||||
|
||||
# Strip off the annoying quoting
|
||||
ARCH:=$(call qstrip,$(BR2_ARCH))
|
||||
ifeq ($(ARCH),xtensa)
|
||||
ARCH:=$(ARCH)_$(call qstrip,$(BR2_xtensa_core_name))
|
||||
endif
|
||||
|
||||
KERNEL_ARCH:=$(shell echo "$(ARCH)" | sed -e "s/-.*//" \
|
||||
-e s/i.86/i386/ -e s/sun4u/sparc64/ \
|
||||
-e s/arm.*/arm/ -e s/sa110/arm/ \
|
||||
-e s/bfin/blackfin/ \
|
||||
-e s/parisc64/parisc/ \
|
||||
-e s/powerpc64/powerpc/ \
|
||||
-e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
|
||||
-e s/sh.*/sh/)
|
||||
|
||||
ZCAT:=$(call qstrip,$(BR2_ZCAT))
|
||||
BZCAT:=$(call qstrip,$(BR2_BZCAT))
|
||||
XZCAT:=$(call qstrip,$(BR2_XZCAT))
|
||||
TAR_OPTIONS=$(call qstrip,$(BR2_TAR_OPTIONS)) -xf
|
||||
|
||||
GNU_TARGET_SUFFIX:=-$(call qstrip,$(BR2_GNU_TARGET_SUFFIX))
|
||||
|
||||
# packages compiled for the host go here
|
||||
HOST_DIR:=$(call qstrip,$(BR2_HOST_DIR))
|
||||
|
||||
# stamp (dependency) files go here
|
||||
STAMP_DIR:=$(BASE_DIR)/stamps
|
||||
|
||||
BINARIES_DIR:=$(BASE_DIR)/images
|
||||
TARGET_DIR:=$(BASE_DIR)/target
|
||||
TOOLCHAIN_DIR=$(BASE_DIR)/toolchain
|
||||
TARGET_SKELETON=$(TOPDIR)/fs/skeleton
|
||||
|
||||
BR2_DEPENDS_DIR=$(BUILD_DIR)/buildroot-config
|
||||
|
||||
ifeq ($(BR2_CCACHE),y)
|
||||
CCACHE:=$(HOST_DIR)/usr/bin/ccache
|
||||
CCACHE_CACHE_DIR=$(HOME)/.buildroot-ccache
|
||||
HOSTCC := $(CCACHE) $(HOSTCC)
|
||||
HOSTCXX := $(CCACHE) $(HOSTCXX)
|
||||
endif
|
||||
BR2_DEPENDS_DIR=$(PROJECT_BUILD_DIR)/buildroot-config
|
||||
|
||||
include toolchain/Makefile.in
|
||||
include package/Makefile.in
|
||||
@@ -298,37 +230,42 @@ include package/Makefile.in
|
||||
|
||||
all: world
|
||||
|
||||
# In this section, we need .config
|
||||
include .config.cmd
|
||||
|
||||
include project/*.mk
|
||||
|
||||
# We also need the various per-package makefiles, which also add
|
||||
# each selected package to TARGETS if that package was selected
|
||||
# in the .config file.
|
||||
ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
|
||||
include toolchain/toolchain-buildroot.mk
|
||||
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
|
||||
include toolchain/toolchain-external.mk
|
||||
else ifeq ($(BR2_TOOLCHAIN_CTNG),y)
|
||||
include toolchain/toolchain-crosstool-ng.mk
|
||||
ifeq ($(BR2_TOOLCHAIN_SOURCE),y)
|
||||
# avoid pulling in external toolchain which is broken for toplvl parallel builds
|
||||
# Explicit ordering:
|
||||
include toolchain/dependencies/dependencies.mk
|
||||
include toolchain/binutils/binutils.mk
|
||||
include toolchain/ccache/ccache.mk
|
||||
include toolchain/elf2flt/elf2flt.mk
|
||||
include toolchain/gcc/gcc-uclibc-3.x.mk
|
||||
include toolchain/gcc/gcc-uclibc-4.x.mk
|
||||
include toolchain/gdb/gdb.mk
|
||||
include toolchain/kernel-headers/kernel-headers.mk
|
||||
include toolchain/mklibs/mklibs.mk
|
||||
include toolchain/sstrip/sstrip.mk
|
||||
include toolchain/uClibc/uclibc.mk
|
||||
else
|
||||
include toolchain/*/*.mk
|
||||
endif
|
||||
|
||||
# Include the package override file if one has been provided in the
|
||||
# configuration.
|
||||
PACKAGE_OVERRIDE_FILE=$(call qstrip,$(BR2_PACKAGE_OVERRIDE_FILE))
|
||||
ifneq ($(PACKAGE_OVERRIDE_FILE),)
|
||||
-include $(PACKAGE_OVERRIDE_FILE)
|
||||
ifeq ($(BR2_PACKAGE_LINUX),y)
|
||||
TARGETS+=linux26-modules
|
||||
endif
|
||||
|
||||
include package/*/*.mk
|
||||
|
||||
include boot/common.mk
|
||||
TARGETS+=target-devfiles
|
||||
|
||||
# target stuff is last so it can override anything else
|
||||
include target/Makefile.in
|
||||
include linux/linux.mk
|
||||
|
||||
TARGETS+=target-finalize
|
||||
|
||||
ifeq ($(BR2_ENABLE_LOCALE_PURGE),y)
|
||||
TARGETS+=target-purgelocales
|
||||
endif
|
||||
|
||||
include fs/common.mk
|
||||
|
||||
TARGETS+=erase-fakeroots
|
||||
|
||||
@@ -336,61 +273,29 @@ TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
|
||||
TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS) $(BASE_TARGETS))
|
||||
TARGETS_DIRCLEAN:=$(patsubst %,%-dirclean,$(TARGETS))
|
||||
TARGETS_ALL:=$(patsubst %,__real_tgt_%,$(TARGETS))
|
||||
|
||||
# host-* dependencies have to be handled specially, as those aren't
|
||||
# visible in Kconfig and hence not added to a variable like TARGETS.
|
||||
# instead, find all the host-* targets listed in each <PKG>_DEPENDENCIES
|
||||
# variable for each enabled target.
|
||||
# Notice: this only works for newstyle gentargets/autotargets packages
|
||||
TARGETS_HOST_DEPS = $(sort $(filter host-%,$(foreach dep,\
|
||||
$(addsuffix _DEPENDENCIES,$(call UPPERCASE,$(TARGETS))),\
|
||||
$($(dep)))))
|
||||
# Host packages can in turn have their own dependencies. Likewise find
|
||||
# all the package names listed in the HOST_<PKG>_DEPENDENCIES for each
|
||||
# host package found above. Ideally this should be done recursively until
|
||||
# no more packages are found, but that's hard to do in make, so limit to
|
||||
# 1 level for now.
|
||||
HOST_DEPS = $(sort $(foreach dep,\
|
||||
$(addsuffix _DEPENDENCIES,$(call UPPERCASE,$(TARGETS_HOST_DEPS))),\
|
||||
$($(dep))))
|
||||
HOST_SOURCE += $(addsuffix -source,$(sort $(TARGETS_HOST_DEPS) $(HOST_DEPS)))
|
||||
|
||||
# all targets depend on the crosscompiler and it's prerequisites
|
||||
$(TARGETS_ALL): __real_tgt_%: $(BASE_TARGETS) %
|
||||
|
||||
dirs: $(DL_DIR) $(TOOLCHAIN_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
|
||||
$(HOST_DIR) $(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(STAMP_DIR)
|
||||
$(BR2_DEPENDS_DIR): .config
|
||||
rm -rf $@
|
||||
mkdir -p $(@D)
|
||||
cp -dpRf $(CONFIG)/buildroot-config $@
|
||||
|
||||
$(BASE_TARGETS): dirs $(O)/toolchainfile.cmake
|
||||
dirs: $(DL_DIR) $(TOOL_BUILD_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
|
||||
$(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(PROJECT_BUILD_DIR) \
|
||||
$(PROJECT_BUILD_DIR)/autotools-stamps
|
||||
|
||||
$(BUILD_DIR)/buildroot-config/auto.conf: $(CONFIG_DIR)/.config
|
||||
$(MAKE) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" silentoldconfig
|
||||
$(BASE_TARGETS): dirs
|
||||
|
||||
prepare: $(BUILD_DIR)/buildroot-config/auto.conf
|
||||
world: dependencies dirs target-host-info $(BASE_TARGETS) $(TARGETS_ALL)
|
||||
|
||||
world: prepare dependencies dirs $(BASE_TARGETS) $(TARGETS_ALL)
|
||||
|
||||
$(O)/toolchainfile.cmake:
|
||||
@echo -en "\
|
||||
set(CMAKE_SYSTEM_NAME Linux)\n\
|
||||
set(CMAKE_C_COMPILER $(TARGET_CC_NOCCACHE))\n\
|
||||
set(CMAKE_CXX_COMPILER $(TARGET_CXX_NOCCACHE))\n\
|
||||
set(CMAKE_C_FLAGS \"\$${CMAKE_C_FLAGS} $(TARGET_CFLAGS)\" CACHE STRING \"Buildroot CFLAGS\" FORCE)\n\
|
||||
set(CMAKE_CXX_FLAGS \"\$${CMAKE_CXX_FLAGS} $(TARGET_CXXFLAGS)\" CACHE STRING \"Buildroot CXXFLAGS\" FORCE)\n\
|
||||
set(CMAKE_INSTALL_SO_NO_EXE 0)\n\
|
||||
set(CMAKE_PROGRAM_PATH \"$(HOST_DIR)/usr/bin\")\n\
|
||||
set(CMAKE_FIND_ROOT_PATH \"$(STAGING_DIR)\")\n\
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)\n\
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)\n\
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)\n\
|
||||
set(ENV{PKG_CONFIG_SYSROOT_DIR} \"$(STAGING_DIR)\")\n\
|
||||
" > $@
|
||||
|
||||
.PHONY: all world dirs clean distclean source outputmakefile \
|
||||
.PHONY: all world dirs clean dirclean distclean source \
|
||||
$(BASE_TARGETS) $(TARGETS) $(TARGETS_ALL) \
|
||||
$(TARGETS_CLEAN) $(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) \
|
||||
$(DL_DIR) $(TOOLCHAIN_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
|
||||
$(HOST_DIR) $(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(STAMP_DIR)
|
||||
$(DL_DIR) $(TOOL_BUILD_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
|
||||
$(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(PROJECT_BUILD_DIR) \
|
||||
$(PROJECT_BUILD_DIR)/autotools-stamps
|
||||
|
||||
#############################################################
|
||||
#
|
||||
@@ -398,22 +303,26 @@ $(O)/toolchainfile.cmake:
|
||||
# dependencies anywhere else
|
||||
#
|
||||
#############################################################
|
||||
$(DL_DIR) $(TOOLCHAIN_DIR) $(BUILD_DIR) $(HOST_DIR) $(BINARIES_DIR) $(STAMP_DIR):
|
||||
$(DL_DIR) $(TOOL_BUILD_DIR) $(BUILD_DIR) $(PROJECT_BUILD_DIR) \
|
||||
$(PROJECT_BUILD_DIR)/autotools-stamps $(BINARIES_DIR):
|
||||
@mkdir -p $@
|
||||
|
||||
$(STAGING_DIR):
|
||||
@mkdir -p $(STAGING_DIR)/bin
|
||||
@mkdir -p $(STAGING_DIR)/lib
|
||||
ifeq ($(BR2_TOOLCHAIN_SYSROOT),y)
|
||||
@mkdir -p $(STAGING_DIR)/usr/lib
|
||||
@mkdir -p $(STAGING_DIR)/usr/include
|
||||
@mkdir -p $(STAGING_DIR)/usr/bin
|
||||
@ln -snf $(STAGING_DIR) $(BASE_DIR)/staging
|
||||
|
||||
ifeq ($(BR2_ROOTFS_SKELETON_CUSTOM),y)
|
||||
TARGET_SKELETON=$(BR2_ROOTFS_SKELETON_CUSTOM_PATH)
|
||||
else
|
||||
ifneq ($(BR2_TOOLCHAIN_EXTERNAL),y)
|
||||
@ln -snf . $(STAGING_DIR)/usr
|
||||
@mkdir -p $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)
|
||||
@ln -snf ../lib $(STAGING_DIR)/usr/lib
|
||||
@ln -snf ../lib $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib
|
||||
endif
|
||||
endif
|
||||
@mkdir -p $(STAGING_DIR)/usr/include
|
||||
|
||||
$(BUILD_DIR)/.root:
|
||||
$(PROJECT_BUILD_DIR)/.root:
|
||||
mkdir -p $(TARGET_DIR)
|
||||
if ! [ -d "$(TARGET_DIR)/bin" ]; then \
|
||||
if [ -d "$(TARGET_SKELETON)" ]; then \
|
||||
@@ -421,85 +330,63 @@ $(BUILD_DIR)/.root:
|
||||
fi; \
|
||||
touch $(STAGING_DIR)/.fakeroot.00000; \
|
||||
fi
|
||||
-find $(TARGET_DIR) -type d -name CVS -print0 -o -name .svn -print0 | xargs -0 rm -rf
|
||||
-find $(TARGET_DIR) -type f \( -name .empty -o -name '*~' \) -print0 | xargs -0 rm -rf
|
||||
-find $(TARGET_DIR) -type d -name CVS -o -name .svn | xargs rm -rf
|
||||
-find $(TARGET_DIR) -type f -name .empty | xargs rm -rf
|
||||
touch $@
|
||||
|
||||
$(TARGET_DIR): $(BUILD_DIR)/.root
|
||||
$(TARGET_DIR): $(PROJECT_BUILD_DIR)/.root
|
||||
|
||||
erase-fakeroots:
|
||||
rm -f $(BUILD_DIR)/.fakeroot*
|
||||
rm -f $(PROJECT_BUILD_DIR)/.fakeroot*
|
||||
|
||||
target-finalize:
|
||||
target-devfiles:
|
||||
ifeq ($(BR2_HAVE_DEVFILES),y)
|
||||
( support/scripts/copy.sh $(STAGING_DIR) $(TARGET_DIR) )
|
||||
( scripts/copy.sh $(STAGING_DIR) $(TARGET_DIR) )
|
||||
else
|
||||
rm -rf $(TARGET_DIR)/usr/include $(TARGET_DIR)/usr/lib/pkgconfig $(TARGET_DIR)/usr/share/aclocal
|
||||
find $(TARGET_DIR)/lib \( -name '*.a' -o -name '*.la' \) -print0 | xargs -0 rm -f
|
||||
find $(TARGET_DIR)/usr/lib \( -name '*.a' -o -name '*.la' \) -print0 | xargs -0 rm -f
|
||||
endif
|
||||
ifneq ($(BR2_PACKAGE_GDB),y)
|
||||
rm -rf $(TARGET_DIR)/usr/share/gdb
|
||||
endif
|
||||
ifneq ($(BR2_HAVE_DOCUMENTATION),y)
|
||||
rm -rf $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/man
|
||||
rm -rf $(TARGET_DIR)/usr/info $(TARGET_DIR)/usr/share/info
|
||||
rm -rf $(TARGET_DIR)/usr/doc $(TARGET_DIR)/usr/share/doc
|
||||
rm -rf $(TARGET_DIR)/usr/share/gtk-doc
|
||||
-rmdir $(TARGET_DIR)/usr/share 2>/dev/null
|
||||
endif
|
||||
ifeq ($(BR2_PACKAGE_PYTHON_PY_ONLY),y)
|
||||
find $(TARGET_DIR)/usr/lib/ -name '*.pyc' -print0 | xargs -0 rm -f
|
||||
endif
|
||||
ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY),y)
|
||||
find $(TARGET_DIR)/usr/lib/ -name '*.py' -print0 | xargs -0 rm -f
|
||||
endif
|
||||
find $(TARGET_DIR) -type f -perm +111 '!' -name 'libthread_db*.so*' | \
|
||||
xargs $(STRIPCMD) 2>/dev/null || true
|
||||
find $(TARGET_DIR)/lib/modules -type f -name '*.ko' | \
|
||||
xargs -r $(KSTRIPCMD) || true
|
||||
|
||||
mkdir -p $(TARGET_DIR)/etc
|
||||
# Mandatory configuration file and auxilliary cache directory
|
||||
# for recent versions of ldconfig
|
||||
touch $(TARGET_DIR)/etc/ld.so.conf
|
||||
mkdir -p $(TARGET_DIR)/var/cache/ldconfig
|
||||
if [ -x "$(TARGET_CROSS)ldconfig" ]; \
|
||||
then \
|
||||
$(TARGET_CROSS)ldconfig -r $(TARGET_DIR); \
|
||||
else \
|
||||
/sbin/ldconfig -r $(TARGET_DIR); \
|
||||
fi
|
||||
echo $(BR2_VERSION_FULL) > $(TARGET_DIR)/etc/br-version
|
||||
|
||||
ifneq ($(BR2_ROOTFS_POST_BUILD_SCRIPT),"")
|
||||
$(BR2_ROOTFS_POST_BUILD_SCRIPT) $(TARGET_DIR)
|
||||
rm -rf $(TARGET_DIR)/usr/include $(TARGET_DIR)/usr/lib/pkgconfig
|
||||
find $(TARGET_DIR)/usr/lib -name '*.a' -delete
|
||||
find $(TARGET_DIR)/lib -name '*.a' -delete
|
||||
find $(TARGET_DIR)/usr/lib -name '*.la' -delete
|
||||
find $(TARGET_DIR)/lib -name '*.la' -delete
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_ENABLE_LOCALE_PURGE),y)
|
||||
LOCALE_WHITELIST=$(BUILD_DIR)/locales.nopurge
|
||||
LOCALE_NOPURGE=$(call qstrip,$(BR2_ENABLE_LOCALE_WHITELIST))
|
||||
source: $(TARGETS_SOURCE) $(HOST_SOURCE)
|
||||
|
||||
target-purgelocales:
|
||||
rm -f $(LOCALE_WHITELIST)
|
||||
for i in $(LOCALE_NOPURGE); do echo $$i >> $(LOCALE_WHITELIST); done
|
||||
|
||||
for dir in $(wildcard $(addprefix $(TARGET_DIR),/usr/share/locale /usr/share/X11/locale /usr/man /usr/share/man)); \
|
||||
do \
|
||||
for lang in $$(cd $$dir; ls .|grep -v man); \
|
||||
do \
|
||||
grep -qx $$lang $(LOCALE_WHITELIST) || rm -rf $$dir/$$lang; \
|
||||
done; \
|
||||
done
|
||||
endif
|
||||
|
||||
source: dirs $(TARGETS_SOURCE) $(HOST_SOURCE)
|
||||
_source-check:
|
||||
$(MAKE) SPIDER=--spider source
|
||||
|
||||
external-deps:
|
||||
@$(MAKE) -Bs DL_MODE=SHOW_EXTERNAL_DEPS $(EXTRAMAKEARGS) source | sort -u
|
||||
@$(MAKE) -Bs BR2_WGET=$(TOPDIR)/toolchain/wget-show-external-deps.sh \
|
||||
SPIDER=--spider source
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Cleanup and misc junk
|
||||
#
|
||||
#############################################################
|
||||
clean: $(TARGETS_CLEAN)
|
||||
rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE) $(PROJECT_BUILD_DIR)/.root $(PROJECT_BUILD_DIR)/autotools-stamps
|
||||
|
||||
dirclean: $(TARGETS_DIRCLEAN)
|
||||
rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE) $(PROJECT_BUILD_DIR)/.root $(PROJECT_BUILD_DIR)/autotools-stamps
|
||||
|
||||
distclean:
|
||||
ifeq ($(DL_DIR),$(BASE_DIR)/dl)
|
||||
rm -rf $(DL_DIR)
|
||||
endif
|
||||
rm -rf $(BUILD_DIR) $(PROJECT_BUILD_DIR) $(BINARIES_DIR) \
|
||||
$(LINUX_KERNEL) $(BASE_DIR)/include \
|
||||
.config.cmd
|
||||
$(MAKE) -C $(CONFIG) clean
|
||||
|
||||
sourceball:
|
||||
rm -rf $(BUILD_DIR) $(PROJECT_BUILD_DIR) $(BINARIES_DIR)
|
||||
set -e; \
|
||||
cd ..; \
|
||||
rm -f buildroot.tar.bz2; \
|
||||
tar -cvf buildroot.tar buildroot; \
|
||||
bzip2 -9 buildroot.tar; \
|
||||
|
||||
show-targets:
|
||||
@echo $(TARGETS)
|
||||
|
||||
else # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||
|
||||
@@ -511,130 +398,112 @@ all: menuconfig
|
||||
HOSTCFLAGS=$(CFLAGS_FOR_BUILD)
|
||||
export HOSTCFLAGS
|
||||
|
||||
$(BUILD_DIR)/buildroot-config/%onf:
|
||||
mkdir -p $(@D)/lxdialog
|
||||
$(MAKE) CC="$(HOSTCC_NOCCACHE)" HOSTCC="$(HOSTCC_NOCCACHE)" obj=$(@D) -C $(CONFIG) -f Makefile.br $(@F)
|
||||
$(CONFIG)/conf:
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
$(MAKE) CC="$(HOSTCC)" -C $(CONFIG) conf
|
||||
-@if [ ! -f .config ]; then \
|
||||
cp $(CONFIG_DEFCONFIG) .config; \
|
||||
fi
|
||||
$(CONFIG)/mconf:
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
$(MAKE) CC="$(HOSTCC)" -C $(CONFIG) conf mconf
|
||||
-@if [ ! -f .config ]; then \
|
||||
cp $(CONFIG_DEFCONFIG) .config; \
|
||||
fi
|
||||
|
||||
COMMON_CONFIG_ENV = \
|
||||
KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
|
||||
KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
|
||||
KCONFIG_TRISTATE=$(BUILD_DIR)/buildroot-config/tristate.config \
|
||||
BUILDROOT_CONFIG=$(CONFIG_DIR)/.config
|
||||
menuconfig: $(CONFIG)/mconf
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
@if ! KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
|
||||
KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
|
||||
$(CONFIG)/mconf $(CONFIG_CONFIG_IN); then \
|
||||
test -f .config.cmd || rm -f .config; \
|
||||
fi
|
||||
|
||||
xconfig: $(BUILD_DIR)/buildroot-config/qconf outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN)
|
||||
config: $(CONFIG)/conf
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
@KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
|
||||
KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
|
||||
$(CONFIG)/conf $(CONFIG_CONFIG_IN)
|
||||
|
||||
gconfig: $(BUILD_DIR)/buildroot-config/gconf outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@$(COMMON_CONFIG_ENV) srctree=$(TOPDIR) $< $(CONFIG_CONFIG_IN)
|
||||
oldconfig: $(CONFIG)/conf
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
@KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
|
||||
KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
|
||||
$(CONFIG)/conf -o $(CONFIG_CONFIG_IN)
|
||||
|
||||
menuconfig: $(BUILD_DIR)/buildroot-config/mconf outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN)
|
||||
randconfig: $(CONFIG)/conf
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
@KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
|
||||
KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
|
||||
$(CONFIG)/conf -r $(CONFIG_CONFIG_IN)
|
||||
|
||||
nconfig: $(BUILD_DIR)/buildroot-config/nconf outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN)
|
||||
allyesconfig: $(CONFIG)/conf
|
||||
cat $(CONFIG_DEFCONFIG) > .config
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
@KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
|
||||
KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
|
||||
$(CONFIG)/conf -y $(CONFIG_CONFIG_IN)
|
||||
#sed -i -e "s/^CONFIG_DEBUG.*/# CONFIG_DEBUG is not set/" .config
|
||||
|
||||
config: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN)
|
||||
allnoconfig: $(CONFIG)/conf
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
@KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
|
||||
KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
|
||||
$(CONFIG)/conf -n $(CONFIG_CONFIG_IN)
|
||||
|
||||
oldconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@$(COMMON_CONFIG_ENV) $< --oldconfig $(CONFIG_CONFIG_IN)
|
||||
|
||||
randconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@$(COMMON_CONFIG_ENV) $< --randconfig $(CONFIG_CONFIG_IN)
|
||||
|
||||
allyesconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@$(COMMON_CONFIG_ENV) $< --allyesconfig $(CONFIG_CONFIG_IN)
|
||||
|
||||
allnoconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@$(COMMON_CONFIG_ENV) $< --allnoconfig $(CONFIG_CONFIG_IN)
|
||||
|
||||
randpackageconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@grep -v BR2_PACKAGE_ $(CONFIG_DIR)/.config > $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) \
|
||||
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
|
||||
$< --randconfig $(CONFIG_CONFIG_IN)
|
||||
@rm -f $(CONFIG_DIR)/.config.nopkg
|
||||
|
||||
allyespackageconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@grep -v BR2_PACKAGE_ $(CONFIG_DIR)/.config > $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) \
|
||||
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
|
||||
$< --allyesconfig $(CONFIG_CONFIG_IN)
|
||||
@rm -f $(CONFIG_DIR)/.config.nopkg
|
||||
|
||||
allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@grep -v BR2_PACKAGE_ $(CONFIG_DIR)/.config > $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) \
|
||||
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
|
||||
$< --allnoconfig $(CONFIG_CONFIG_IN)
|
||||
@rm -f $(CONFIG_DIR)/.config.nopkg
|
||||
|
||||
silentoldconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
$(COMMON_CONFIG_ENV) $< --silentoldconfig $(CONFIG_CONFIG_IN)
|
||||
|
||||
defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@$(COMMON_CONFIG_ENV) $< --defconfig $(CONFIG_CONFIG_IN)
|
||||
|
||||
%_defconfig: $(BUILD_DIR)/buildroot-config/conf $(TOPDIR)/configs/%_defconfig outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@$(COMMON_CONFIG_ENV) $< --defconfig=$(TOPDIR)/configs/$@ $(CONFIG_CONFIG_IN)
|
||||
|
||||
savedefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||
@$(COMMON_CONFIG_ENV) $< --savedefconfig=$(CONFIG_DIR)/defconfig $(CONFIG_CONFIG_IN)
|
||||
defconfig: $(CONFIG)/conf
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
@KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
|
||||
KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
|
||||
$(CONFIG)/conf -d $(CONFIG_CONFIG_IN)
|
||||
|
||||
# check if download URLs are outdated
|
||||
source-check: allyesconfig
|
||||
$(MAKE) DL_MODE=SOURCE_CHECK $(EXTRAMAKEARGS) source
|
||||
|
||||
endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||
$(MAKE) _source-check
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Cleanup and misc junk
|
||||
#
|
||||
#############################################################
|
||||
|
||||
# outputmakefile generates a Makefile in the output directory, if using a
|
||||
# separate output directory. This allows convenient use of make in the
|
||||
# output directory.
|
||||
outputmakefile:
|
||||
ifeq ($(NEED_WRAPPER),y)
|
||||
$(Q)$(TOPDIR)/support/scripts/mkmakefile $(TOPDIR) $(O)
|
||||
endif
|
||||
|
||||
clean:
|
||||
rm -rf $(STAGING_DIR) $(TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) \
|
||||
$(STAMP_DIR) $(BUILD_DIR) $(TOOLCHAIN_DIR) $(BASE_DIR)/staging
|
||||
rm -f .config .config.old .config.cmd .tmpconfig.h .lognr.*
|
||||
-$(MAKE) -C $(CONFIG) clean
|
||||
|
||||
distclean: clean
|
||||
ifeq ($(DL_DIR),$(TOPDIR)/dl)
|
||||
rm -rf $(DL_DIR)
|
||||
endif
|
||||
ifeq ($(O),output)
|
||||
rm -rf $(O)
|
||||
endif
|
||||
rm -rf $(CONFIG_DIR)/.config $(CONFIG_DIR)/.config.old $(CONFIG_DIR)/.auto.deps
|
||||
rm -rf sources/*
|
||||
|
||||
|
||||
endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||
|
||||
flush:
|
||||
rm -f $(PROJECT_BUILD_DIR)/tgt-config.cache
|
||||
|
||||
%_defconfig: $(CONFIG)/conf
|
||||
cp $(shell find ./target/ -name $@) .config
|
||||
-@$(MAKE) oldconfig
|
||||
|
||||
update:
|
||||
cp .config $(BOARD_PATH)/$(PROJECT)_defconfig
|
||||
|
||||
configured: dirs host-sed kernel-headers uclibc-config busybox-config linux26-config
|
||||
|
||||
prepatch: gcc-patched binutils-patched gdb-patched uclibc-patched
|
||||
|
||||
.lognr.$(PROJECT):
|
||||
@echo "0" > .lognr.$(PROJECT)
|
||||
|
||||
log: .lognr.$(PROJECT)
|
||||
@expr `cat .lognr.$(PROJECT)` + 1 > .lognr.$(PROJECT)
|
||||
@echo Creating $(PROJECT)-`cat .lognr.$(PROJECT)`.log
|
||||
@$(MAKE) > $(PROJECT)-`cat .lognr.$(PROJECT)`.log 2>&1
|
||||
|
||||
|
||||
cross: $(BASE_TARGETS)
|
||||
|
||||
help:
|
||||
@echo 'Cleaning:'
|
||||
@echo ' clean - delete all files created by build'
|
||||
@echo ' clean - delete temporary files created by build'
|
||||
@echo ' distclean - delete all non-source files (including .config)'
|
||||
@echo
|
||||
@echo 'Build:'
|
||||
@@ -642,111 +511,26 @@ help:
|
||||
@echo
|
||||
@echo 'Configuration:'
|
||||
@echo ' menuconfig - interactive curses-based configurator'
|
||||
@echo ' nconfig - interactive ncurses-based configurator'
|
||||
@echo ' xconfig - interactive Qt-based configurator'
|
||||
@echo ' gconfig - interactive GTK-based configurator'
|
||||
@echo ' oldconfig - resolve any unresolved symbols in .config'
|
||||
@echo ' randconfig - New config with random answer to all options'
|
||||
@echo ' defconfig - New config with default answer to all options'
|
||||
@echo ' savedefconfig - Save current config as ./defconfig (minimal config)'
|
||||
@echo ' allyesconfig - New config where all options are accepted with yes'
|
||||
@echo ' allnoconfig - New config where all options are answered with no'
|
||||
@echo ' randpackageconfig - New config with random answer to package options'
|
||||
@echo ' allyespackageconfig - New config where pkg options are accepted with yes'
|
||||
@echo ' allnopackageconfig - New config where package options are answered with no'
|
||||
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
|
||||
@echo ' busybox-menuconfig - Run BusyBox menuconfig'
|
||||
endif
|
||||
ifeq ($(BR2_LINUX_KERNEL),y)
|
||||
@echo ' linux-menuconfig - Run Linux kernel menuconfig'
|
||||
@echo ' linux-savedefconfig - Run Linux kernel savedefconfig'
|
||||
endif
|
||||
ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
|
||||
@echo ' uclibc-menuconfig - Run uClibc menuconfig'
|
||||
endif
|
||||
ifeq ($(BR2_TOOLCHAIN_CTNG),y)
|
||||
@echo ' ctng-menuconfig - Run crosstool-NG menuconfig'
|
||||
endif
|
||||
ifeq ($(BR2_TARGET_BAREBOX),y)
|
||||
@echo ' barebox-menuconfig - Run barebox menuconfig'
|
||||
@echo ' barebox-savedefconfig - Run barebox savedefconfig'
|
||||
endif
|
||||
@echo
|
||||
@echo 'Documentation:'
|
||||
@echo ' manual - build manual in HTML, split HTML, PDF and txt'
|
||||
@echo ' manual-html - build manual in HTML'
|
||||
@echo ' manual-split-html - build manual in split HTML'
|
||||
@echo ' manual-pdf - build manual in PDF'
|
||||
@echo ' manual-txt - build manual in txt'
|
||||
@echo ' manual-epub - build manual in ePub'
|
||||
@echo ' configured - make {uclibc/busybox/linux26}-config'
|
||||
@echo ' saveconfig - save current configuration under local/<project>'
|
||||
@echo ' getconfig - restore saved configuration from local/<project>'
|
||||
@echo
|
||||
@echo 'Miscellaneous:'
|
||||
@echo ' source - download all sources needed for offline-build'
|
||||
@echo ' source-check - check all packages for valid download URLs'
|
||||
@echo ' external-deps - list external packages used'
|
||||
@echo ' flush - flush configuration cache'
|
||||
@echo
|
||||
@echo ' make V=0|1 - 0 => quiet build (default), 1 => verbose build'
|
||||
@echo ' make O=dir - Locate all output files in "dir", including .config'
|
||||
@echo
|
||||
@$(foreach b, $(sort $(notdir $(wildcard $(TOPDIR)/configs/*_defconfig))), \
|
||||
printf " %-35s - Build for %s\\n" $(b) $(b:_defconfig=);)
|
||||
@echo
|
||||
@echo 'See docs/README, or generate the Buildroot manual for further details'
|
||||
@echo 'See docs/README and docs/buildroot.html for further details'
|
||||
@echo
|
||||
|
||||
release: OUT=buildroot-$(BR2_VERSION)
|
||||
release: distclean
|
||||
OUT=buildroot-$$(grep -A2 BR2_VERSION $(CONFIG_CONFIG_IN)|grep default|cut -f2 -d\"); \
|
||||
rm -rf ../$$OUT*; cp -al . ../$$OUT; cd ..; \
|
||||
tar cfz $$OUT.tar.gz --exclude .svn --exclude .git --exclude \*~ $$OUT; \
|
||||
rm -rf $$OUT
|
||||
|
||||
release:
|
||||
git archive --format=tar --prefix=$(OUT)/ master|gzip -9 >$(OUT).tar.gz
|
||||
|
||||
################################################################################
|
||||
# GENDOC -- generates the make targets needed to build a specific type of
|
||||
# asciidoc documentation.
|
||||
#
|
||||
# argument 1 is the name of the document and must be a subdirectory of docs/;
|
||||
# the top-level asciidoc file must have the same name
|
||||
# argument 2 is the type of document to generate (-f argument of a2x)
|
||||
# argument 3 is the document type as used in the make target
|
||||
# argument 4 is the output file extension for the document type
|
||||
# argument 5 is the human text for the document type
|
||||
# argument 6 (optional) are extra arguments for a2x
|
||||
#
|
||||
# The variable <DOCUMENT_NAME>_SOURCES defines the dependencies.
|
||||
################################################################################
|
||||
define GENDOC_INNER
|
||||
$(1): $(1)-$(3)
|
||||
.PHONY: $(1)-$(3)
|
||||
$(1)-$(3): $$(O)/docs/$(1)/$(1).$(4)
|
||||
|
||||
$$(O)/docs/$(1)/$(1).$(4): docs/$(1)/$(1).txt $$($(call UPPERCASE,$(1))_SOURCES)
|
||||
@echo "Generating $(5) $(1)..."
|
||||
$(Q)mkdir -p $$(O)/docs/$(1)/$(2)
|
||||
$(Q)a2x $(6) -f $(2) -d book -L -r $(TOPDIR)/docs/images \
|
||||
-D $$(@D) $$<
|
||||
endef
|
||||
|
||||
################################################################################
|
||||
# GENDOC -- generates the make targets needed to build asciidoc documentation.
|
||||
#
|
||||
# argument 1 is the name of the document and must be a subdirectory of docs/;
|
||||
# the top-level asciidoc file must have the same name
|
||||
#
|
||||
# The variable <DOCUMENT_NAME>_SOURCES defines the dependencies.
|
||||
################################################################################
|
||||
define GENDOC
|
||||
$(call GENDOC_INNER,$(1),xhtml,html,html,HTML)
|
||||
$(call GENDOC_INNER,$(1),chunked,split-html,chunked,Split HTML)
|
||||
$(call GENDOC_INNER,$(1),pdf,pdf,pdf,PDF,--dblatex-opts "-P latex.output.revhistory=0")
|
||||
$(call GENDOC_INNER,$(1),text,txt,text,Text)
|
||||
$(call GENDOC_INNER,$(1),epub,epub,epub,EPUB)
|
||||
clean: clean-$(1)
|
||||
clean-$(1):
|
||||
$(Q)$(RM) -rf $(O)/docs/$(1)
|
||||
.PHONY: $(1) clean-$(1)
|
||||
endef
|
||||
|
||||
MANUAL_SOURCES = $(wildcard docs/manual/*.txt) $(wildcard docs/images/*)
|
||||
$(eval $(call GENDOC,manual))
|
||||
|
||||
.PHONY: $(noconfig_targets)
|
||||
.PHONY: dummy subdirs release distclean clean config oldconfig \
|
||||
menuconfig tags check test depend defconfig help
|
||||
|
||||
|
||||
14
TODO
Normal file
14
TODO
Normal file
@@ -0,0 +1,14 @@
|
||||
Buildroot2 TODOs
|
||||
|
||||
- fix packages/Makefile.autotools.in to use a package-imposed patchdir
|
||||
(Ivan Kuten)
|
||||
- convert all packages that use autoconf to use the infrastructure of
|
||||
packages/Makefile.autotools.in
|
||||
- fix setting of flags for packages
|
||||
|
||||
- stabilize for a 0.10.0 release
|
||||
|
||||
- think about using a common --config-cache for configure
|
||||
Should take care of expanding TARGET_CONFIGURE_ARGS for cross compiles
|
||||
to working presets.
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MACH_VERSATILE_AB=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_AEABI=y
|
||||
# CONFIG_OABI_COMPAT is not set
|
||||
CONFIG_LEDS=y
|
||||
CONFIG_LEDS_CPU=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="root=1f03 mem=32M"
|
||||
CONFIG_VFP=y
|
||||
CONFIG_PM=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_INET_DIAG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_PARTITIONS=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_ADV_OPTIONS=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_ARM_INTEGRATOR=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_SYM53C8XX_2=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
CONFIG_SMC91X=y
|
||||
# CONFIG_SERIO_SERPORT is not set
|
||||
CONFIG_SERIO_AMBAKMI=y
|
||||
CONFIG_SERIAL_8250=m
|
||||
CONFIG_SERIAL_8250_EXTENDED=y
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||
CONFIG_SERIAL_8250_RSA=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_LEGACY_PTY_COUNT=16
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=m
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_ARMCLCD=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_ACORN_8x8=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=m
|
||||
CONFIG_SND_MIXER_OSS=m
|
||||
CONFIG_SND_PCM_OSS=m
|
||||
CONFIG_SND_ARMAACI=m
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_ARMMMCI=m
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_VFAT_FS=m
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_CRAMFS=y
|
||||
CONFIG_MINIX_FS=y
|
||||
CONFIG_ROMFS_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NFSD=y
|
||||
CONFIG_NFSD_V3=y
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_NLS_CODEPAGE_850=m
|
||||
CONFIG_NLS_ISO8859_1=m
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DEBUG_USER=y
|
||||
CONFIG_DEBUG_ERRORS=y
|
||||
CONFIG_DEBUG_LL=y
|
||||
@@ -1,6 +0,0 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-arm -M versatilepb -kernel output/images/zImage -drive file=output/images/rootfs.ext2,if=scsi -append "root=/dev/sda console=ttyAMA0,115200" -serial stdio
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. The
|
||||
graphical window is the framebuffer.
|
||||
@@ -1,77 +0,0 @@
|
||||
CONFIG_MIPS_MALTA=y
|
||||
CONFIG_CPU_LITTLE_ENDIAN=y
|
||||
CONFIG_CPU_MIPS32_R2=y
|
||||
CONFIG_MIPS_MT_SMP=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_HZ_100=y
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=15
|
||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||
CONFIG_RELAY=y
|
||||
CONFIG_NAMESPACES=y
|
||||
CONFIG_UTS_NS=y
|
||||
CONFIG_IPC_NS=y
|
||||
CONFIG_PID_NS=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_SYSCTL_SYSCALL is not set
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PM=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_PNP=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_WIRELESS is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
# CONFIG_MISC_DEVICES is not set
|
||||
CONFIG_IDE=y
|
||||
CONFIG_BLK_DEV_IDECD=y
|
||||
CONFIG_IDE_GENERIC=y
|
||||
CONFIG_BLK_DEV_GENERIC=y
|
||||
CONFIG_BLK_DEV_PIIX=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
CONFIG_NET_PCI=y
|
||||
CONFIG_PCNET32=y
|
||||
# CONFIG_NETDEV_1000 is not set
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
# CONFIG_WLAN is not set
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO_I8042 is not set
|
||||
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_MFD_SUPPORT is not set
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_CIRRUS=y
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
# CONFIG_HID_SUPPORT is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_QUOTA=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
||||
@@ -1,7 +0,0 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-mipsel -M malta -kernel vmlinux -serial stdio -hda rootfs.ext2 -append "root=/dev/hda"
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. The
|
||||
graphical window is the framebuffer. No keyboard support has been
|
||||
enabled.
|
||||
@@ -1,86 +0,0 @@
|
||||
CONFIG_ALTIVEC=y
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_SWAP=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_COMPAT_BRK=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_LBDAF=y
|
||||
CONFIG_PPC_PMAC=y
|
||||
CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
|
||||
CONFIG_PPC601_SYNC_FIX=y
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_BINFMT_ELF=y
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
CONFIG_PM=y
|
||||
CONFIG_SECCOMP=y
|
||||
CONFIG_PCCARD=y
|
||||
CONFIG_PCMCIA=y
|
||||
CONFIG_PCMCIA_LOAD_CIS=y
|
||||
CONFIG_PCMCIA_IOCTL=y
|
||||
CONFIG_YENTA=y
|
||||
CONFIG_ADVANCED_OPTIONS=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_INET_LRO=y
|
||||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
CONFIG_FIRMWARE_IN_KERNEL=y
|
||||
CONFIG_CONNECTOR=y
|
||||
CONFIG_PROC_EVENTS=y
|
||||
CONFIG_BLK_DEV=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_IDE=y
|
||||
CONFIG_IDE_GD=y
|
||||
CONFIG_IDE_GD_ATA=y
|
||||
CONFIG_BLK_DEV_IDECD=y
|
||||
CONFIG_IDE_PROC_FS=y
|
||||
CONFIG_BLK_DEV_CMD64X=y
|
||||
CONFIG_BLK_DEV_IDE_PMAC=y
|
||||
CONFIG_IEEE1394=y
|
||||
CONFIG_IEEE1394_OHCI1394=y
|
||||
CONFIG_IEEE1394_ETH1394=y
|
||||
CONFIG_IEEE1394_RAWIO=y
|
||||
CONFIG_IEEE1394_VIDEO1394=y
|
||||
CONFIG_IEEE1394_DV1394=y
|
||||
CONFIG_MACINTOSH_DRIVERS=y
|
||||
CONFIG_ADB=y
|
||||
CONFIG_ADB_CUDA=y
|
||||
CONFIG_ADB_PMU=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
CONFIG_MACE=y
|
||||
CONFIG_BMAC=y
|
||||
CONFIG_HAPPYMEAL=y
|
||||
CONFIG_SUNGEM=y
|
||||
CONFIG_CASSINI=y
|
||||
CONFIG_NET_PCI=y
|
||||
CONFIG_PCNET32=y
|
||||
CONFIG_NE2K_PCI=y
|
||||
CONFIG_8139CP=y
|
||||
CONFIG_8139TOO=y
|
||||
CONFIG_8139TOO_PIO=y
|
||||
CONFIG_SERIO=y
|
||||
CONFIG_SERIAL_PMACZILOG=y
|
||||
CONFIG_SERIAL_PMACZILOG_TTYS=y
|
||||
CONFIG_SERIAL_PMACZILOG_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_SSB=y
|
||||
CONFIG_SSB_PCIHOST=y
|
||||
CONFIG_SSB_PCMCIAHOST=y
|
||||
CONFIG_SSB_DRIVER_PCICORE=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_DNOTIFY=y
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_INOTIFY_USER=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_MISC_FILESYSTEMS=y
|
||||
CONFIG_SQUASHFS=y
|
||||
CONFIG_LIBCRC32C=y
|
||||
CONFIG_BOOTX_TEXT=y
|
||||
CONFIG_CRYPTO_HW=y
|
||||
@@ -1,6 +0,0 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-ppc -M g3beige -kernel vmlinux -hda rootfs.ext2 -append "console=ttyS0 root=/dev/hdc" -serial stdio
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. The
|
||||
graphical window is the framebuffer.
|
||||
@@ -1,105 +0,0 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
# CONFIG_SYSCTL_SYSCALL is not set
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_OPROFILE=y
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_CPU_SUBTYPE_SH7751R=y
|
||||
CONFIG_MEMORY_START=0x0c000000
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
CONFIG_SH_RTS7751R2D=y
|
||||
CONFIG_RTS7751R2D_PLUS=y
|
||||
CONFIG_HEARTBEAT=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_HOTPLUG_PCI=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_FW_LOADER=m
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_PATA_PLATFORM=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
CONFIG_NET_PCI=y
|
||||
CONFIG_8139CP=y
|
||||
CONFIG_8139TOO=y
|
||||
# CONFIG_8139TOO_PIO is not set
|
||||
# CONFIG_WLAN is not set
|
||||
CONFIG_INPUT_FF_MEMLESS=m
|
||||
# CONFIG_INPUT_MOUSEDEV is not set
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_SH_SCI=y
|
||||
CONFIG_SERIAL_SH_SCI_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_SH_SCI=y
|
||||
CONFIG_MFD_SM501=y
|
||||
CONFIG_VIDEO_OUTPUT_CONTROL=m
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_SH_MOBILE_LCDC=m
|
||||
CONFIG_FB_SH_MOBILE_HDMI=m
|
||||
CONFIG_FB_SM501=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_LOGO=y
|
||||
# CONFIG_LOGO_LINUX_MONO is not set
|
||||
# CONFIG_LOGO_LINUX_VGA16 is not set
|
||||
# CONFIG_LOGO_LINUX_CLUT224 is not set
|
||||
# CONFIG_LOGO_SUPERH_MONO is not set
|
||||
# CONFIG_LOGO_SUPERH_VGA16 is not set
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=m
|
||||
CONFIG_SND_YMFPCI=m
|
||||
CONFIG_SOUND_PRIME=m
|
||||
CONFIG_HID_A4TECH=y
|
||||
CONFIG_HID_APPLE=y
|
||||
CONFIG_HID_BELKIN=y
|
||||
CONFIG_HID_CHERRY=y
|
||||
CONFIG_HID_CHICONY=y
|
||||
CONFIG_HID_CYPRESS=y
|
||||
CONFIG_HID_EZKEY=y
|
||||
CONFIG_HID_GYRATION=y
|
||||
CONFIG_HID_LOGITECH=y
|
||||
CONFIG_HID_MICROSOFT=y
|
||||
CONFIG_HID_MONTEREY=y
|
||||
CONFIG_HID_PANTHERLORD=y
|
||||
CONFIG_HID_PETALYNX=y
|
||||
CONFIG_HID_SAMSUNG=y
|
||||
CONFIG_HID_SONY=y
|
||||
CONFIG_HID_SUNPLUS=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_LIBUSUAL=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_R9701=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_MINIX_FS=y
|
||||
CONFIG_NLS_CODEPAGE_932=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
CONFIG_CRC_T10DIF=y
|
||||
@@ -1,7 +0,0 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-sh4 -M r2d -kernel output/images/zImage -drive file=output/images/rootfs.ext2,if=ide -append "root=/dev/sda console=ttySC1,115200 noiotrap" -serial null -serial stdio
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
The graphical window is the framebuffer.
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
# CONFIG_X86_EXTENDED_PLATFORM is not set
|
||||
# CONFIG_SCHED_OMIT_FRAME_POINTER is not set
|
||||
# CONFIG_MTRR_SANITIZER is not set
|
||||
# CONFIG_SECCOMP is not set
|
||||
# CONFIG_RELOCATABLE is not set
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_PNP=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_WIRELESS is not set
|
||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||
# CONFIG_FIRMWARE_IN_KERNEL is not set
|
||||
# CONFIG_BLK_DEV is not set
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_ATA_PIIX=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
CONFIG_NET_PCI=y
|
||||
CONFIG_NE2K_PCI=y
|
||||
CONFIG_8139CP=y
|
||||
# CONFIG_NETDEV_1000 is not set
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
# CONFIG_WLAN is not set
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO_SERPORT is not set
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
# CONFIG_DEVKMEM is not set
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_MFD_SUPPORT is not set
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
CONFIG_SND_HDA_INTEL=y
|
||||
# CONFIG_HID_SUPPORT is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
# CONFIG_X86_PLATFORM_DEVICES is not set
|
||||
# CONFIG_DMIID is not set
|
||||
CONFIG_EXT2_FS=y
|
||||
# CONFIG_DNOTIFY is not set
|
||||
# CONFIG_INOTIFY_USER is not set
|
||||
# CONFIG_MISC_FILESYSTEMS is not set
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
# CONFIG_ENABLE_WARN_DEPRECATED is not set
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
# CONFIG_FRAME_POINTER is not set
|
||||
# CONFIG_X86_VERBOSE_BOOTUP is not set
|
||||
# CONFIG_VIRTUALIZATION is not set
|
||||
@@ -1,12 +0,0 @@
|
||||
menu "Bootloaders"
|
||||
|
||||
source "boot/barebox/Config.in"
|
||||
source "boot/grub/Config.in"
|
||||
source "boot/syslinux/Config.in"
|
||||
source "boot/uboot/Config.in"
|
||||
source "boot/at91bootstrap/Config.in"
|
||||
source "boot/at91dataflashboot/Config.in"
|
||||
source "boot/xloader/Config.in"
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
config BR2_TARGET_AT91BOOTSTRAP
|
||||
depends on BR2_arm
|
||||
bool "AT91 Bootstrap"
|
||||
help
|
||||
AT91Bootstrap is a first level bootloader for the Atmel AT91
|
||||
devices. It integrates algorithms for:
|
||||
- Device initialization such as clock configuration, PIO settings...
|
||||
- Peripheral drivers such as PIO, PMC or SDRAMC...
|
||||
- Physical media algorithm such as DataFlash, NandFlash, NOR Flash...
|
||||
|
||||
if BR2_TARGET_AT91BOOTSTRAP
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP_BOARD
|
||||
string "Bootstrap board"
|
||||
default ""
|
||||
help
|
||||
This is used to do a make <board>_config
|
||||
|
||||
choice
|
||||
prompt "Boot Memory"
|
||||
default BR2_TARGET_AT91BOOTSTRAP_DATAFLASH
|
||||
help
|
||||
Select Chip for which AT91 bootstrap should be built
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP_DATAFLASH
|
||||
bool "Data Flash"
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP_NANDFLASH
|
||||
bool "NAND Flash"
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP_MEMORY
|
||||
string
|
||||
default "dataflash" if BR2_TARGET_AT91BOOTSTRAP_DATAFLASH
|
||||
default "nandflash" if BR2_TARGET_AT91BOOTSTRAP_NANDFLASH
|
||||
|
||||
endif
|
||||
|
||||
|
||||
|
||||
@@ -1,334 +0,0 @@
|
||||
When using an EABI toolchain, the default compilation generates
|
||||
references to __aeabi_unwind_cpp_pr0(). This symbol is defined in
|
||||
libgcc, but we don't want to use it for a bootloader.
|
||||
|
||||
Therefore, this patch passes some additional CFLAGS to disable the
|
||||
generation of such references by avoiding unwind tables, exceptions,
|
||||
etc.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
board/at91cap9adk/dataflash/Makefile | 2 +-
|
||||
board/at91cap9adk/norflash/Makefile | 2 +-
|
||||
board/at91cap9stk/nandflash/Makefile | 2 +-
|
||||
board/at91sam9260ek/dataflash/Makefile | 2 +-
|
||||
board/at91sam9260ek/nandflash/Makefile | 2 +-
|
||||
board/at91sam9261ek/dataflash/Makefile | 2 +-
|
||||
board/at91sam9261ek/nandflash/Makefile | 2 +-
|
||||
board/at91sam9263ek/dataflash/Makefile | 2 +-
|
||||
board/at91sam9263ek/nandflash/Makefile | 2 +-
|
||||
board/at91sam9g10ek/dataflash/Makefile | 2 +-
|
||||
board/at91sam9g10ek/nandflash/Makefile | 2 +-
|
||||
board/at91sam9g20ek/dataflash/Makefile | 2 +-
|
||||
board/at91sam9g20ek/nandflash/Makefile | 2 +-
|
||||
board/at91sam9g45ekes/nandflash/Makefile | 2 +-
|
||||
board/at91sam9m10ekes/dataflash/Makefile | 2 +-
|
||||
board/at91sam9m10ekes/nandflash/Makefile | 2 +-
|
||||
board/at91sam9m10g45ek/dataflash/Makefile | 2 +-
|
||||
board/at91sam9m10g45ek/nandflash/Makefile | 2 +-
|
||||
board/at91sam9rlek/dataflash/Makefile | 2 +-
|
||||
board/at91sam9rlek/nandflash/Makefile | 2 +-
|
||||
board/at91sam9xeek/dataflash/Makefile | 2 +-
|
||||
board/at91sam9xeek/nandflash/Makefile | 2 +-
|
||||
lib/Makefile | 2 +-
|
||||
23 files changed, 23 insertions(+), 23 deletions(-)
|
||||
|
||||
Index: Bootstrap-v1.16/board/at91cap9adk/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91cap9adk/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91cap9adk/dataflash/Makefile
|
||||
@@ -34,7 +34,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91cap9adk/norflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91cap9adk/norflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91cap9adk/norflash/Makefile
|
||||
@@ -34,7 +34,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91cap9stk/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91cap9stk/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91cap9stk/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
|
||||
Index: Bootstrap-v1.16/board/at91sam9260ek/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9260ek/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9260ek/dataflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9260ek/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9260ek/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9260ek/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9261ek/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9261ek/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9261ek/dataflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9261ek/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9261ek/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9261ek/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9263ek/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9263ek/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9263ek/dataflash/Makefile
|
||||
@@ -34,7 +34,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9263ek/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9263ek/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9263ek/nandflash/Makefile
|
||||
@@ -33,7 +33,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -O0 -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -O0 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9g10ek/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9g10ek/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9g10ek/dataflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9g10ek/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9g10ek/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9g10ek/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9g20ek/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9g20ek/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9g20ek/dataflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9g20ek/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9g20ek/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9g20ek/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9g45ekes/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9g45ekes/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9g45ekes/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9m10ekes/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9m10ekes/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9m10ekes/dataflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9m10ekes/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9m10ekes/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9m10ekes/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9m10g45ek/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9m10g45ek/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9m10g45ek/dataflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9m10g45ek/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9m10g45ek/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9m10g45ek/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9rlek/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9rlek/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9rlek/dataflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9rlek/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9rlek/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9rlek/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9xeek/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9xeek/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9xeek/dataflash/Makefile
|
||||
@@ -38,7 +38,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9xeek/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9xeek/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9xeek/nandflash/Makefile
|
||||
@@ -38,7 +38,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/lib/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/lib/Makefile
|
||||
+++ Bootstrap-v1.16/lib/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
@@ -1,41 +0,0 @@
|
||||
#############################################################
|
||||
#
|
||||
# at91bootstrap
|
||||
#
|
||||
#############################################################
|
||||
AT91BOOTSTRAP_VERSION = 1.16
|
||||
AT91BOOTSTRAP_SITE = http://www.atmel.com/dyn/resources/prod_documents/
|
||||
AT91BOOTSTRAP_SOURCE = AT91Bootstrap$(AT91BOOTSTRAP_VERSION).zip
|
||||
|
||||
AT91BOOTSTRAP_BOARD = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_BOARD))
|
||||
AT91BOOTSTRAP_MEMORY = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_MEMORY))
|
||||
AT91BOOTSTRAP_MAKE_SUBDIR = board/$(AT91BOOTSTRAP_BOARD)/$(AT91BOOTSTRAP_MEMORY)
|
||||
AT91BOOTSTRAP_BINARY = $(AT91BOOTSTRAP_MAKE_SUBDIR)/$(AT91BOOTSTRAP_MEMORY)_$(AT91BOOTSTRAP_BOARD).bin
|
||||
|
||||
AT91BOOTSTRAP_INSTALL_IMAGES = YES
|
||||
AT91BOOTSTRAP_INSTALL_TARGET = NO
|
||||
|
||||
define AT91BOOTSTRAP_EXTRACT_CMDS
|
||||
unzip -d $(BUILD_DIR) $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE)
|
||||
mv $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION)/* $(@D)
|
||||
rmdir $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION)
|
||||
endef
|
||||
|
||||
define AT91BOOTSTRAP_BUILD_CMDS
|
||||
$(MAKE) CROSS_COMPILE=$(TARGET_CROSS) -C $(@D)/$(AT91BOOTSTRAP_MAKE_SUBDIR)
|
||||
endef
|
||||
|
||||
define AT91BOOTSTRAP_INSTALL_IMAGES_CMDS
|
||||
cp $(@D)/$(AT91BOOTSTRAP_BINARY) $(BINARIES_DIR)
|
||||
endef
|
||||
|
||||
$(eval $(call GENTARGETS))
|
||||
|
||||
ifeq ($(BR2_TARGET_AT91BOOTSTRAP),y)
|
||||
# we NEED a board name unless we're at make source
|
||||
ifeq ($(filter source,$(MAKECMDGOALS)),)
|
||||
ifeq ($(AT91BOOTSTRAP_BOARD),)
|
||||
$(error No AT91Bootstrap board name set. Check your BR2_TARGET_AT91BOOTSTRAP_BOARD setting)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -1,3 +0,0 @@
|
||||
config BR2_TARGET_AT91DATAFLASHBOOT
|
||||
depends on BR2_arm
|
||||
bool "AT91 DataFlashBoot"
|
||||
@@ -1,22 +0,0 @@
|
||||
Disable the automatic installation of at91dataflashboot since it tries
|
||||
to install things to /tftpboot, which is not possible when not
|
||||
building as root.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: at91dataflashboot-1.05/Makefile
|
||||
===================================================================
|
||||
--- at91dataflashboot-1.05.orig/Makefile
|
||||
+++ at91dataflashboot-1.05/Makefile
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
I=config.h com.h dataflash.h embedded_services.h main.h stdio.h include/AT91RM9200.h include/lib_AT91RM9200.h
|
||||
|
||||
-all: clean $(BINNAME) $(LSSNAME) install
|
||||
+all: clean $(BINNAME) $(LSSNAME)
|
||||
$(SIZE) $(OUTNAME)
|
||||
|
||||
# C objects here
|
||||
@@ -1,43 +0,0 @@
|
||||
Get at91dataflashboot to build with EABI toolchains, by providing the
|
||||
__aeabi_uidiv and __aeabi_uidivmod symbols. The code is based on
|
||||
U-Boot's code.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
_udivsi3.S | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
Index: DataflashBoot-1.05/_udivsi3.S
|
||||
===================================================================
|
||||
--- DataflashBoot-1.05.orig/_udivsi3.S
|
||||
+++ DataflashBoot-1.05/_udivsi3.S
|
||||
@@ -12,8 +12,11 @@
|
||||
.text
|
||||
.globl __udivsi3
|
||||
.type __udivsi3 ,function
|
||||
+ .globl __aeabi_uidiv
|
||||
+ .type __aeabi_uidiv ,function
|
||||
.align 0
|
||||
__udivsi3 :
|
||||
+ __aeabi_uidiv:
|
||||
cmp divisor, #0
|
||||
beq Ldiv0
|
||||
mov curbit, #1
|
||||
@@ -68,6 +71,17 @@
|
||||
mov r0, #0 @ about as wrong as it could be
|
||||
ldmia sp!, {pc}
|
||||
.size __udivsi3 , . - __udivsi3
|
||||
+
|
||||
+.globl __aeabi_uidivmod
|
||||
+__aeabi_uidivmod:
|
||||
+
|
||||
+ stmfd sp!, {r0, r1, ip, lr}
|
||||
+ bl __aeabi_uidiv
|
||||
+ ldmfd sp!, {r1, r2, ip, lr}
|
||||
+ mul r3, r0, r2
|
||||
+ sub r1, r1, r3
|
||||
+ mov pc, lr
|
||||
+
|
||||
/* # 235 "libgcc1.S" */
|
||||
/* # 320 "libgcc1.S" */
|
||||
/* # 421 "libgcc1.S" */
|
||||
@@ -1,22 +0,0 @@
|
||||
#############################################################
|
||||
#
|
||||
# DataFlashBoot
|
||||
#
|
||||
#############################################################
|
||||
|
||||
AT91DATAFLASHBOOT_VERSION = 1.05
|
||||
AT91DATAFLASHBOOT_SOURCE = DataflashBoot-$(AT91DATAFLASHBOOT_VERSION).tar.bz2
|
||||
AT91DATAFLASHBOOT_SITE = ftp://www.at91.com/pub/buildroot/
|
||||
|
||||
AT91DATAFLASHBOOT_INSTALL_TARGET = NO
|
||||
AT91DATAFLASHBOOT_INSTALL_IMAGES = YES
|
||||
|
||||
define AT91DATAFLASHBOOT_BUILD_CMDS
|
||||
make -C $(@D) CROSS_COMPILE=$(TARGET_CROSS)
|
||||
endef
|
||||
|
||||
define AT91DATAFLASHBOOT_INSTALL_IMAGES_CMDS
|
||||
cp $(@D)/DataflashBoot-$(AT91DATAFLASHBOOT_VERSION).bin $(BINARIES_DIR)
|
||||
endef
|
||||
|
||||
$(eval $(call GENTARGETS))
|
||||
@@ -1,78 +0,0 @@
|
||||
config BR2_TARGET_BAREBOX
|
||||
bool "Barebox"
|
||||
help
|
||||
The Barebox bootloader, formerly known as U-Boot v2.
|
||||
|
||||
http://www.barebox.org
|
||||
|
||||
if BR2_TARGET_BAREBOX
|
||||
choice
|
||||
prompt "version"
|
||||
default BR2_TARGET_BAREBOX_2011_10
|
||||
help
|
||||
Select the specific Barebox version you want to use
|
||||
|
||||
config BR2_TARGET_BAREBOX_2011_08
|
||||
depends on BR2_DEPRECATED
|
||||
bool "2011.08"
|
||||
|
||||
config BR2_TARGET_BAREBOX_2011_09
|
||||
bool "2011.09"
|
||||
|
||||
config BR2_TARGET_BAREBOX_2011_10
|
||||
bool "2011.10"
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_TARBALL
|
||||
bool "Custom tarball"
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_GIT
|
||||
bool "Custom Git repository"
|
||||
|
||||
endchoice
|
||||
|
||||
if BR2_TARGET_BAREBOX_CUSTOM_TARBALL
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_TARBALL_LOCATION
|
||||
string "URL of custom Barebox tarball"
|
||||
|
||||
endif
|
||||
|
||||
config BR2_TARGET_BAREBOX_VERSION
|
||||
string
|
||||
default "2011.08.0" if BR2_TARGET_BAREBOX_2011_08
|
||||
default "2011.09.0" if BR2_TARGET_BAREBOX_2011_09
|
||||
default "2011.10.0" if BR2_TARGET_BAREBOX_2011_10
|
||||
default "custom" if BR2_TARGET_BAREBOX_CUSTOM_TARBALL
|
||||
default $BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION if BR2_TARGET_BAREBOX_CUSTOM_GIT
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR
|
||||
string "custom patch dir"
|
||||
help
|
||||
If your board requires custom patches, add the path to the
|
||||
directory containing the patches here. The patches must be
|
||||
named barebox-<version>-<something>.patch.
|
||||
|
||||
Most users may leave this empty
|
||||
|
||||
if BR2_TARGET_BAREBOX_CUSTOM_GIT
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_GIT_REPO_URL
|
||||
string "URL of custom Git repository"
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION
|
||||
string "Custom Git version"
|
||||
|
||||
endif
|
||||
|
||||
config BR2_TARGET_BAREBOX_BOARD_DEFCONFIG
|
||||
string "board defconfig"
|
||||
help
|
||||
Name of the board for which Barebox should be built, without
|
||||
the _defconfig suffix.
|
||||
|
||||
config BR2_TARGET_BAREBOX_BAREBOXENV
|
||||
bool "bareboxenv tool in target"
|
||||
help
|
||||
Install bareboxenv tool in target.
|
||||
|
||||
endif
|
||||
@@ -1,94 +0,0 @@
|
||||
#############################################################
|
||||
#
|
||||
# Barebox
|
||||
#
|
||||
#############################################################
|
||||
|
||||
BAREBOX_VERSION = $(call qstrip,$(BR2_TARGET_BAREBOX_VERSION))
|
||||
|
||||
ifeq ($(BAREBOX_VERSION),custom)
|
||||
# Handle custom Barebox tarballs as specified by the configuration
|
||||
BAREBOX_TARBALL = $(call qstrip,$(BR2_TARGET_BAREBOX_CUSTOM_TARBALL_LOCATION))
|
||||
BAREBOX_SITE = $(dir $(BAREBOX_TARBALL))
|
||||
BAREBOX_SOURCE = $(notdir $(BAREBOX_TARBALL))
|
||||
else ifeq ($(BR2_TARGET_BAREBOX_CUSTOM_GIT),y)
|
||||
BAREBOX_SITE = $(call qstrip,$(BR2_TARGET_BAREBOX_CUSTOM_GIT_REPO_URL))
|
||||
BAREBOX_SITE_METHOD = git
|
||||
else
|
||||
# Handle stable official Barebox versions
|
||||
BAREBOX_SOURCE = barebox-$(BAREBOX_VERSION).tar.bz2
|
||||
BAREBOX_SITE = http://www.barebox.org/download/
|
||||
endif
|
||||
|
||||
ifneq ($(call qstrip,$(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR)),)
|
||||
define BAREBOX_APPLY_CUSTOM_PATCHES
|
||||
support/scripts/apply-patches.sh $(@D) $(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR) \
|
||||
barebox-$(BAREBOX_VERSION)-\*.patch
|
||||
endef
|
||||
|
||||
BAREBOX_POST_PATCH_HOOKS += BAREBOX_APPLY_CUSTOM_PATCHES
|
||||
endif
|
||||
|
||||
BAREBOX_INSTALL_IMAGES = YES
|
||||
ifneq ($(BR2_TARGET_BAREBOX_BAREBOXENV),y)
|
||||
BAREBOX_INSTALL_TARGET = NO
|
||||
endif
|
||||
|
||||
BAREBOX_BOARD_DEFCONFIG = $(call qstrip,$(BR2_TARGET_BAREBOX_BOARD_DEFCONFIG))
|
||||
|
||||
ifeq ($(KERNEL_ARCH),i386)
|
||||
BAREBOX_ARCH=x86
|
||||
else ifeq ($(KERNEL_ARCH),powerpc)
|
||||
BAREBOX_ARCH=ppc
|
||||
else
|
||||
BAREBOX_ARCH=$(KERNEL_ARCH)
|
||||
endif
|
||||
|
||||
BAREBOX_MAKE_FLAGS = ARCH=$(BAREBOX_ARCH) CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)"
|
||||
|
||||
define BAREBOX_CONFIGURE_CMDS
|
||||
$(MAKE) $(BAREBOX_MAKE_FLAGS) -C $(@D) $(BAREBOX_BOARD_DEFCONFIG)_defconfig
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_TARGET_BAREBOX_BAREBOXENV),y)
|
||||
define BAREBOX_BUILD_BAREBOXENV_CMDS
|
||||
$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -o $(@D)/bareboxenv \
|
||||
$(@D)/scripts/bareboxenv.c
|
||||
endef
|
||||
endif
|
||||
|
||||
define BAREBOX_BUILD_CMDS
|
||||
$(BAREBOX_BUILD_BAREBOXENV_CMDS)
|
||||
$(MAKE) $(BAREBOX_MAKE_FLAGS) -C $(@D)
|
||||
endef
|
||||
|
||||
define BAREBOX_INSTALL_IMAGES_CMDS
|
||||
cp $(@D)/barebox.bin $(BINARIES_DIR)
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_TARGET_BAREBOX_BAREBOXENV),y)
|
||||
define BAREBOX_INSTALL_TARGET_CMDS
|
||||
cp $(@D)/bareboxenv $(TARGET_DIR)/usr/bin
|
||||
endef
|
||||
endif
|
||||
|
||||
$(eval $(call GENTARGETS))
|
||||
|
||||
ifeq ($(BR2_TARGET_BAREBOX),y)
|
||||
# we NEED a board defconfig file unless we're at make source
|
||||
ifeq ($(filter source,$(MAKECMDGOALS)),)
|
||||
ifeq ($(BAREBOX_BOARD_DEFCONFIG),)
|
||||
$(error No Barebox defconfig file. Check your BR2_TARGET_BAREBOX_BOARD_DEFCONFIG setting)
|
||||
endif
|
||||
endif
|
||||
|
||||
barebox-menuconfig barebox-xconfig barebox-gconfig barebox-nconfig: barebox-configure
|
||||
$(MAKE) $(BAREBOX_MAKE_FLAGS) -C $(BAREBOX_DIR) \
|
||||
$(subst barebox-,,$@)
|
||||
rm -f $(BAREBOX_DIR)/.stamp_{built,target_installed,images_installed}
|
||||
|
||||
barebox-savedefconfig: barebox-configure
|
||||
$(MAKE) $(BAREBOX_MAKE_FLAGS) -C $(BAREBOX_DIR) \
|
||||
$(subst barebox-,,$@)
|
||||
|
||||
endif
|
||||
@@ -1 +0,0 @@
|
||||
include boot/*/*.mk
|
||||
@@ -1,146 +0,0 @@
|
||||
config BR2_TARGET_GRUB
|
||||
bool "grub"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
help
|
||||
The GRand Unified Bootloader for x86 systems.
|
||||
|
||||
config BR2_TARGET_GRUB_SPLASH
|
||||
bool "Splashimage support"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
Add support for splashimage.
|
||||
|
||||
A splashimage is a 14-color indexed .xpm picture which
|
||||
is displayed as background for the grub menu.
|
||||
|
||||
config BR2_TARGET_GRUB_DISKLESS
|
||||
bool "diskless support"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable diskless support
|
||||
|
||||
config BR2_TARGET_GRUB_3c595
|
||||
bool "3Com595 driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable 3Com595 driver
|
||||
|
||||
config BR2_TARGET_GRUB_3c90x
|
||||
bool "3Com90x driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable 3Com90x driver
|
||||
|
||||
config BR2_TARGET_GRUB_davicom
|
||||
bool "Davicom driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable Davicom driver
|
||||
|
||||
config BR2_TARGET_GRUB_e1000
|
||||
bool "Etherexpress Pro/1000 driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable Etherexpress Pro/1000 driver
|
||||
|
||||
config BR2_TARGET_GRUB_eepro100
|
||||
bool "Etherexpress Pro/100 driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable Etherexpress Pro/100 driver
|
||||
|
||||
config BR2_TARGET_GRUB_epic100
|
||||
bool "SMC 83c170 EPIC/100 driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable SMC 83c170 EPIC/100 driver
|
||||
|
||||
config BR2_TARGET_GRUB_forcedeth
|
||||
bool "Nvidia Geforce driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable Nvidia Geforce driver
|
||||
|
||||
config BR2_TARGET_GRUB_natsemi
|
||||
bool "NatSemi DP8381x driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable NatSemi DP8381x driver
|
||||
|
||||
config BR2_TARGET_GRUB_ns83820
|
||||
bool "NS83820 driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable NS83820 driver
|
||||
|
||||
config BR2_TARGET_GRUB_ns8390
|
||||
bool "NE2000 PCI driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable NE2000 PCI driver
|
||||
|
||||
config BR2_TARGET_GRUB_pcnet32
|
||||
bool "AMD Lance/PCI PCNet/32 driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable AMD Lance/PCI PCNet/32 driver
|
||||
|
||||
config BR2_TARGET_GRUB_pnic
|
||||
bool "Bochs Pseudo Nic driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable Bochs Pseudo Nic driver
|
||||
|
||||
config BR2_TARGET_GRUB_rtl8139
|
||||
bool "Realtek 8139 driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable Realtek 8139 driver
|
||||
|
||||
config BR2_TARGET_GRUB_r8169
|
||||
bool "Realtek 8169 driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable Realtek 8169 driver
|
||||
|
||||
config BR2_TARGET_GRUB_sis900
|
||||
bool "SIS 900 and SIS 7016 driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable SIS 900 and SIS 7016 driver
|
||||
|
||||
config BR2_TARGET_GRUB_tg3
|
||||
bool "Broadcom Tigon3 driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable Broadcom Tigon3 driver
|
||||
|
||||
config BR2_TARGET_GRUB_tulip
|
||||
bool "Tulip driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable Tulip driver
|
||||
|
||||
config BR2_TARGET_GRUB_tlan
|
||||
bool "TI ThunderLAN driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable TI ThunderLAN driver
|
||||
|
||||
config BR2_TARGET_GRUB_undi
|
||||
bool "PXE UNDI driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable PXE UNDI driver
|
||||
|
||||
config BR2_TARGET_GRUB_via_rhine
|
||||
bool "Rhine-I/II driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable Rhine-I/II driver
|
||||
|
||||
config BR2_TARGET_GRUB_w89c840
|
||||
bool "Winbond W89c840 driver"
|
||||
depends on BR2_TARGET_GRUB
|
||||
help
|
||||
enable Winbond W89c840 driver
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,85 +0,0 @@
|
||||
#############################################################
|
||||
#
|
||||
# grub
|
||||
#
|
||||
#############################################################
|
||||
|
||||
GRUB_VERSION = 0.97
|
||||
GRUB_SOURCE = grub_$(GRUB_VERSION).orig.tar.gz
|
||||
GRUB_PATCH = grub_$(GRUB_VERSION)-35.diff.gz
|
||||
GRUB_SITE = http://snapshot.debian.org/archive/debian/20080329T000000Z/pool/main/g/grub/
|
||||
|
||||
GRUB_CFLAGS=-DSUPPORT_LOOPDEV
|
||||
ifeq ($(BR2_LARGEFILE),)
|
||||
GRUB_CFLAGS+=-U_FILE_OFFSET_BITS
|
||||
endif
|
||||
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_SPLASH) += --enable-graphics
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_DISKLESS) += --enable-diskless
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_3c595) += --enable-3c595
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_3c90x) += --enable-3c90x
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_davicom) += --enable-davicom
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_e1000) += --enable-e1000
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_eepro100) += --enable-eepro100
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_epic100) += --enable-epic100
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_forcedeth) += --enable-forcedeth
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_natsemi) += --enable-natsemi
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_ns83820) += --enable-ns83820
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_ns8390) += --enable-ns8390
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_pcnet32) += --enable-pcnet32
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_pnic) += --enable-pnic
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_rtl8139) += --enable-rtl8139
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_r8169) += --enable-r8169
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_sis900) += --enable-sis900
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_tg3) += --enable-tg3
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_tulip) += --enable-tulip
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_tlan) += --enable-tlan
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_undi) += --enable-undi
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_via_rhine) += --enable-via-rhine
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_w89c840) += --enable-w89c840
|
||||
|
||||
define GRUB_DEBIAN_PATCHES
|
||||
# Apply the patches from the Debian patch
|
||||
(cd $(@D) ; for f in `cat debian/patches/00list | grep -v ^#` ; do \
|
||||
cat debian/patches/$$f | patch -p1 ; \
|
||||
done)
|
||||
endef
|
||||
|
||||
GRUB_POST_PATCH_HOOKS += GRUB_DEBIAN_PATCHES
|
||||
|
||||
GRUB_CONF_ENV = \
|
||||
CFLAGS="$(TARGET_CFLAGS) $(GRUB_CFLAGS)"
|
||||
|
||||
GRUB_CONF_OPT = \
|
||||
--disable-auto-linux-mem-opt \
|
||||
$(GRUB_CONFIG-y)
|
||||
|
||||
define GRUB_INSTALL_STAGING_CMDS
|
||||
install -m 0755 -D $(@D)/grub/grub $(STAGING_DIR)/sbin/grub
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_TARGET_GRUB_SPLASH),y)
|
||||
define GRUB_INSTALL_SPLASH
|
||||
cp boot/grub/splash.xpm.gz $(TARGET_DIR)/boot/grub/
|
||||
endef
|
||||
endif
|
||||
|
||||
define GRUB_INSTALL_TARGET_CMDS
|
||||
install -m 0755 -D $(@D)/grub/grub $(TARGET_DIR)/sbin/grub
|
||||
mkdir -p $(TARGET_DIR)/boot/grub
|
||||
cp $(@D)/stage1/stage1 $(TARGET_DIR)/boot/grub
|
||||
cp $(@D)/stage2/*1_5 $(TARGET_DIR)/boot/grub
|
||||
cp $(@D)/stage2/stage2 $(TARGET_DIR)/boot/grub
|
||||
$(GRUB_INSTALL_SPLASH)
|
||||
endef
|
||||
|
||||
define GRUB_UNINSTALL_STAGING_CMDS
|
||||
rm -f $(STAGING_DIR)/sbin/grub
|
||||
endef
|
||||
|
||||
define GRUB_UNINSTALL_TARGET_CMDS
|
||||
rm -f $(TARGET_DIR)/sbin/grub
|
||||
rm -rf $(TARGET_DIR)/boot/grub
|
||||
endef
|
||||
|
||||
$(eval $(call AUTOTARGETS))
|
||||
@@ -1,16 +0,0 @@
|
||||
config BR2_TARGET_SYSLINUX
|
||||
bool "syslinux"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
help
|
||||
The syslinux bootloader for x86 systems.
|
||||
This includes: syslinux, pxelinux, extlinux.
|
||||
|
||||
config BR2_TARGET_SYSLINUX_ISOLINUX
|
||||
bool "Install isolinux"
|
||||
depends on BR2_TARGET_SYSLINUX
|
||||
default y
|
||||
|
||||
config BR2_TARGET_SYSLINUX_PXELINUX
|
||||
bool "Install pxelinux"
|
||||
depends on BR2_TARGET_SYSLINUX
|
||||
default y
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: syslinux-3.85/Makefile
|
||||
===================================================================
|
||||
--- syslinux-3.85.orig/Makefile
|
||||
+++ syslinux-3.85/Makefile
|
||||
@@ -43,7 +43,7 @@
|
||||
mbr/mbr_c.bin mbr/altmbr_c.bin mbr/gptmbr_c.bin \
|
||||
mbr/mbr_f.bin mbr/altmbr_f.bin mbr/gptmbr_f.bin \
|
||||
core/pxelinux.0 core/isolinux.bin core/isolinux-debug.bin \
|
||||
- gpxe/gpxelinux.0 dos/syslinux.com win32/syslinux.exe \
|
||||
+ gpxe/gpxelinux.0 dos/syslinux.com \
|
||||
dosutil/*.com dosutil/*.sys \
|
||||
$(MODULES)
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
#############################################################
|
||||
#
|
||||
# syslinux to make target msdos/iso9660 filesystems bootable
|
||||
#
|
||||
#############################################################
|
||||
|
||||
SYSLINUX_VERSION = 3.85
|
||||
SYSLINUX_SOURCE = syslinux-$(SYSLINUX_VERSION).tar.bz2
|
||||
SYSLINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux/3.xx/
|
||||
|
||||
SYSLINUX_INSTALL_TARGET = NO
|
||||
SYSLINUX_INSTALL_IMAGES = YES
|
||||
|
||||
SYSLINUX_DEPENDENCIES = host-nasm
|
||||
|
||||
define SYSLINUX_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) CC="$(HOSTCC)" AR="$(HOSTAR)" -C $(@D)
|
||||
endef
|
||||
|
||||
SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_ISOLINUX) += isolinux.bin
|
||||
SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_PXELINUX) += pxelinux.bin
|
||||
|
||||
define SYSLINUX_INSTALL_IMAGES_CMDS
|
||||
for i in $(SYSLINUX_IMAGES-y); do \
|
||||
$(INSTALL) -D -m 0755 $(@D)/core/$$i $(BINARIES_DIR)/$$i; \
|
||||
done
|
||||
endef
|
||||
|
||||
$(eval $(call GENTARGETS))
|
||||
@@ -1,139 +0,0 @@
|
||||
config BR2_TARGET_UBOOT
|
||||
bool "U-Boot"
|
||||
help
|
||||
Build "Das U-Boot" Boot Monitor
|
||||
|
||||
if BR2_TARGET_UBOOT
|
||||
config BR2_TARGET_UBOOT_BOARDNAME
|
||||
string "U-Boot board name"
|
||||
help
|
||||
One of U-Boot supported boards to be built.
|
||||
This will be suffixed with _config to meet U-Boot standard naming.
|
||||
|
||||
choice
|
||||
prompt "U-Boot Version"
|
||||
default BR2_TARGET_UBOOT_2011_06
|
||||
help
|
||||
Select the specific U-Boot version you want to use
|
||||
|
||||
config BR2_TARGET_UBOOT_2011_06
|
||||
bool "2011.06"
|
||||
|
||||
config BR2_TARGET_UBOOT_2011_03
|
||||
bool "2011.03"
|
||||
|
||||
config BR2_TARGET_UBOOT_2010_12
|
||||
bool "2010.12"
|
||||
|
||||
config BR2_TARGET_UBOOT_2010_09
|
||||
bool "2010.09"
|
||||
|
||||
config BR2_TARGET_UBOOT_2010_06
|
||||
bool "2010.06"
|
||||
|
||||
config BR2_TARGET_UBOOT_CUSTOM_TARBALL
|
||||
bool "Custom tarball"
|
||||
|
||||
config BR2_TARGET_UBOOT_CUSTOM_GIT
|
||||
bool "Custom Git repository"
|
||||
|
||||
endchoice
|
||||
|
||||
if BR2_TARGET_UBOOT_CUSTOM_TARBALL
|
||||
|
||||
config BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION
|
||||
string "URL of custom U-Boot tarball"
|
||||
|
||||
endif
|
||||
|
||||
config BR2_TARGET_UBOOT_VERSION
|
||||
string
|
||||
default "2011.06" if BR2_TARGET_UBOOT_2011_06
|
||||
default "2011.03" if BR2_TARGET_UBOOT_2011_03
|
||||
default "2010.12" if BR2_TARGET_UBOOT_2010_12
|
||||
default "2010.09" if BR2_TARGET_UBOOT_2010_09
|
||||
default "2010.06" if BR2_TARGET_UBOOT_2010_06
|
||||
default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL
|
||||
default $BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION if BR2_TARGET_UBOOT_CUSTOM_GIT
|
||||
|
||||
config BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR
|
||||
string "custom patch dir"
|
||||
help
|
||||
If your board requires custom patches, add the path to the
|
||||
directory containing the patches here. The patches must be
|
||||
named u-boot-<version>-<something>.patch.
|
||||
|
||||
Most users may leave this empty
|
||||
|
||||
if BR2_TARGET_UBOOT_CUSTOM_GIT
|
||||
|
||||
config BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL
|
||||
string "URL of custom Git repository"
|
||||
|
||||
config BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION
|
||||
string "Custom Git version"
|
||||
|
||||
endif
|
||||
|
||||
choice
|
||||
prompt "U-Boot binary format"
|
||||
|
||||
config BR2_TARGET_UBOOT_FORMAT_BIN
|
||||
bool "u-boot.bin"
|
||||
|
||||
config BR2_TARGET_UBOOT_FORMAT_KWB
|
||||
depends on BR2_arm
|
||||
bool "u-boot.kwb (Marvell)"
|
||||
|
||||
config BR2_TARGET_UBOOT_FORMAT_LDR
|
||||
depends on BR2_bfin
|
||||
bool "u-boot.ldr"
|
||||
|
||||
endchoice
|
||||
|
||||
menuconfig BR2_TARGET_UBOOT_NETWORK
|
||||
bool "Custom Network Settings"
|
||||
help
|
||||
Custom network settings for U-boot
|
||||
|
||||
if BR2_TARGET_UBOOT_NETWORK
|
||||
|
||||
config BR2_TARGET_UBOOT_SERVERIP
|
||||
string "server ip"
|
||||
default "10.175.196.221"
|
||||
help
|
||||
TFTP server ip address
|
||||
|
||||
config BR2_TARGET_UBOOT_IPADDR
|
||||
string "ip address"
|
||||
default "10.175.196.18"
|
||||
help
|
||||
Target ip address
|
||||
|
||||
config BR2_TARGET_UBOOT_GATEWAY
|
||||
string "gateway ip"
|
||||
default "10.175.196.1"
|
||||
help
|
||||
Gateway ip address
|
||||
|
||||
config BR2_TARGET_UBOOT_NETMASK
|
||||
string "netmask"
|
||||
default "255.255.255.0"
|
||||
help
|
||||
Network Mask
|
||||
|
||||
config BR2_TARGET_UBOOT_ETHADDR
|
||||
string "ethernet address"
|
||||
default "04:25:fe:ed:00:18"
|
||||
help
|
||||
Target MAC address for the ethernet interface.
|
||||
This should be changed for production units
|
||||
|
||||
config BR2_TARGET_UBOOT_ETH1ADDR
|
||||
string "ethernet 2 address"
|
||||
help
|
||||
Target MAC address for the second ethernet interface.
|
||||
|
||||
endif # BR2_TARGET_UBOOT_NETWORK
|
||||
|
||||
endif # BR2_TARGET_UBOOT
|
||||
@@ -1,100 +0,0 @@
|
||||
#############################################################
|
||||
#
|
||||
# U-Boot
|
||||
#
|
||||
#############################################################
|
||||
UBOOT_VERSION = $(call qstrip,$(BR2_TARGET_UBOOT_VERSION))
|
||||
UBOOT_BOARD_NAME = $(call qstrip,$(BR2_TARGET_UBOOT_BOARDNAME))
|
||||
|
||||
UBOOT_INSTALL_IMAGES = YES
|
||||
|
||||
ifeq ($(UBOOT_VERSION),custom)
|
||||
# Handle custom U-Boot tarballs as specified by the configuration
|
||||
UBOOT_TARBALL = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION))
|
||||
UBOOT_SITE = $(dir $(UBOOT_TARBALL))
|
||||
UBOOT_SOURCE = $(notdir $(UBOOT_TARBALL))
|
||||
else ifeq ($(BR2_TARGET_UBOOT_CUSTOM_GIT),y)
|
||||
UBOOT_SITE = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL))
|
||||
UBOOT_SITE_METHOD = git
|
||||
else
|
||||
# Handle stable official U-Boot versions
|
||||
UBOOT_SITE = ftp://ftp.denx.de/pub/u-boot
|
||||
UBOOT_SOURCE = u-boot-$(UBOOT_VERSION).tar.bz2
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_FORMAT_KWB),y)
|
||||
UBOOT_BIN = u-boot.kwb
|
||||
UBOOT_MAKE_TARGET = $(UBOOT_BIN)
|
||||
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_LDR),y)
|
||||
UBOOT_BIN = u-boot.ldr
|
||||
else
|
||||
UBOOT_BIN = u-boot.bin
|
||||
endif
|
||||
|
||||
UBOOT_ARCH=$(KERNEL_ARCH)
|
||||
|
||||
UBOOT_CONFIGURE_OPTS += CONFIG_NOSOFTFLOAT=1
|
||||
UBOOT_MAKE_OPTS += \
|
||||
CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \
|
||||
ARCH=$(UBOOT_ARCH)
|
||||
|
||||
# Helper function to fill the U-Boot config.h file.
|
||||
# Argument 1: option name
|
||||
# Argument 2: option value
|
||||
# If the option value is empty, this function does nothing.
|
||||
define insert_define
|
||||
$(if $(call qstrip,$(2)),
|
||||
@echo "#ifdef $(strip $(1))" >> $(@D)/include/config.h
|
||||
@echo "#undef $(strip $(1))" >> $(@D)/include/config.h
|
||||
@echo "#endif" >> $(@D)/include/config.h
|
||||
@echo '#define $(strip $(1)) $(call qstrip,$(2))' >> $(@D)/include/config.h)
|
||||
endef
|
||||
|
||||
ifneq ($(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR)),)
|
||||
define UBOOT_APPLY_CUSTOM_PATCHES
|
||||
support/scripts/apply-patches.sh $(@D) $(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR) \
|
||||
uboot-$(UBOOT_VERSION)-\*.patch
|
||||
endef
|
||||
|
||||
UBOOT_POST_PATCH_HOOKS += UBOOT_APPLY_CUSTOM_PATCHES
|
||||
endif
|
||||
|
||||
define UBOOT_CONFIGURE_CMDS
|
||||
$(TARGET_CONFIGURE_OPTS) $(UBOOT_CONFIGURE_OPTS) \
|
||||
$(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \
|
||||
$(UBOOT_BOARD_NAME)_config
|
||||
@echo >> $(@D)/include/config.h
|
||||
@echo "/* Add a wrapper around the values Buildroot sets. */" >> $(@D)/include/config.h
|
||||
@echo "#ifndef __BR2_ADDED_CONFIG_H" >> $(@D)/include/config.h
|
||||
@echo "#define __BR2_ADDED_CONFIG_H" >> $(@D)/include/config.h
|
||||
$(call insert_define,DATE,$(DATE))
|
||||
$(call insert_define,CONFIG_LOAD_SCRIPTS,1)
|
||||
$(call insert_define,CONFIG_IPADDR,$(BR2_TARGET_UBOOT_IPADDR))
|
||||
$(call insert_define,CONFIG_GATEWAYIP,$(BR2_TARGET_UBOOT_GATEWAY))
|
||||
$(call insert_define,CONFIG_NETMASK,$(BR2_TARGET_UBOOT_NETMASK))
|
||||
$(call insert_define,CONFIG_SERVERIP,$(BR2_TARGET_UBOOT_SERVERIP))
|
||||
$(call insert_define,CONFIG_ETHADDR,$(BR2_TARGET_UBOOT_ETHADDR))
|
||||
$(call insert_define,CONFIG_ETH1ADDR,$(BR2_TARGET_UBOOT_ETH1ADDR))
|
||||
@echo "#endif /* __BR2_ADDED_CONFIG_H */" >> $(@D)/include/config.h
|
||||
endef
|
||||
|
||||
define UBOOT_BUILD_CMDS
|
||||
$(TARGET_CONFIGURE_OPTS) $(UBOOT_CONFIGURE_OPTS) \
|
||||
$(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \
|
||||
$(UBOOT_MAKE_TARGET)
|
||||
endef
|
||||
|
||||
define UBOOT_INSTALL_IMAGES_CMDS
|
||||
cp -dpf $(@D)/$(UBOOT_BIN) $(BINARIES_DIR)/
|
||||
endef
|
||||
|
||||
$(eval $(call GENTARGETS))
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT),y)
|
||||
# we NEED a board name unless we're at make source
|
||||
ifeq ($(filter source,$(MAKECMDGOALS)),)
|
||||
ifeq ($(UBOOT_BOARD_NAME),)
|
||||
$(error NO U-Boot board name set. Check your BR2_TARGET_UBOOT_BOARDNAME setting)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -1,15 +0,0 @@
|
||||
config BR2_TARGET_XLOADER
|
||||
bool "X-loader"
|
||||
depends on BR2_cortex_a8 || BR2_cortex_a9
|
||||
help
|
||||
The x-loader bootloader. It is mainly used on OMAP-based
|
||||
platforms.
|
||||
|
||||
if BR2_TARGET_XLOADER
|
||||
config BR2_TARGET_XLOADER_BOARDNAME
|
||||
string "x-loader board name"
|
||||
help
|
||||
One of x-loader supported boards to be built.
|
||||
This will be suffixed with _config to meet x-loader
|
||||
standard naming.
|
||||
endif
|
||||
@@ -1,37 +0,0 @@
|
||||
#############################################################
|
||||
#
|
||||
# x-loader
|
||||
#
|
||||
#############################################################
|
||||
XLOADER_VERSION = 6f3a26101303051e0f91b6213735b68ce804e94e
|
||||
XLOADER_SITE = git://gitorious.org/x-loader/x-loader.git
|
||||
XLOADER_BOARD_NAME = $(call qstrip,$(BR2_TARGET_XLOADER_BOARDNAME))
|
||||
|
||||
XLOADER_INSTALL_IMAGES = YES
|
||||
|
||||
define XLOADER_BUILD_CMDS
|
||||
$(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) $(XLOADER_BOARD_NAME)_config
|
||||
$(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) all
|
||||
$(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) ift
|
||||
endef
|
||||
|
||||
define XLOADER_INSTALL_IMAGES_CMDS
|
||||
$(INSTALL) -D -m 0755 $(@D)/MLO $(BINARIES_DIR)/
|
||||
endef
|
||||
|
||||
$(eval $(call GENTARGETS))
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Toplevel Makefile options
|
||||
#
|
||||
#############################################################
|
||||
ifeq ($(BR2_TARGET_XLOADER),y)
|
||||
# we NEED a board name unless we're at make source
|
||||
ifeq ($(filter source,$(MAKECMDGOALS)),)
|
||||
ifeq ($(XLOADER_BOARD_NAME),)
|
||||
$(error NO x-loader board name set. Check your BR2_BOOT_XLOADER_BOARDNAME setting)
|
||||
endif
|
||||
endif
|
||||
|
||||
endif
|
||||
@@ -1,23 +0,0 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_JFFS2=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_1056=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_PAGESIZE=0x420
|
||||
BR2_TARGET_ROOTFS_JFFS2_EBSIZE=0x2100
|
||||
BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_LE=y
|
||||
|
||||
# Bootloader
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="at91rm9200ek"
|
||||
BR2_TARGET_UBOOT_2010_06=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.33"
|
||||
BR2_LINUX_KERNEL_PATCH="http://maxim.org.za/AT91RM9200/2.6/2.6.33-at91.patch.gz"
|
||||
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="at91rm9200ek"
|
||||
@@ -1,23 +0,0 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
|
||||
# First stage bootloader
|
||||
BR2_TARGET_AT91BOOTSTRAP=y
|
||||
BR2_TARGET_AT91BOOTSTRAP_BOARD="at91sam9260ek"
|
||||
BR2_TARGET_AT91BOOTSTRAP_DATAFLASHCARD=y
|
||||
|
||||
# Second stage bootloader
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="at91sam9260ek"
|
||||
BR2_TARGET_UBOOT_2010_06=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.33"
|
||||
BR2_LINUX_KERNEL_PATCH="http://maxim.org.za/AT91RM9200/2.6/2.6.33-at91.patch.gz"
|
||||
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="at91sam9260ek"
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_TAR=y
|
||||
@@ -1,24 +0,0 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
|
||||
# First stage bootloader
|
||||
BR2_TARGET_AT91BOOTSTRAP=y
|
||||
BR2_TARGET_AT91BOOTSTRAP_BOARD="at91sam9261ek"
|
||||
BR2_TARGET_AT91BOOTSTRAP_DATAFLASHCARD=y
|
||||
|
||||
# Second stage bootloader
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="at91sam9261ek"
|
||||
BR2_TARGET_UBOOT_2010_06=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.33"
|
||||
BR2_LINUX_KERNEL_PATCH="http://maxim.org.za/AT91RM9200/2.6/2.6.33-at91.patch.gz"
|
||||
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="at91sam9261ek"
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_TAR=y
|
||||
@@ -1,24 +0,0 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
|
||||
# First stage bootloader
|
||||
BR2_TARGET_AT91BOOTSTRAP=y
|
||||
BR2_TARGET_AT91BOOTSTRAP_BOARD="at91sam9263ek"
|
||||
BR2_TARGET_AT91BOOTSTRAP_DATAFLASHCARD=y
|
||||
|
||||
# Second stage bootloader
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="at91sam9263ek"
|
||||
BR2_TARGET_UBOOT_2010_06=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.33"
|
||||
BR2_LINUX_KERNEL_PATCH="http://maxim.org.za/AT91RM9200/2.6/2.6.33-at91.patch.gz"
|
||||
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="at91sam9263ek"
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_TAR=y
|
||||
@@ -1,24 +0,0 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
|
||||
# First stage bootloader
|
||||
BR2_TARGET_AT91BOOTSTRAP=y
|
||||
BR2_TARGET_AT91BOOTSTRAP_BOARD="at91sam9g20ek"
|
||||
BR2_TARGET_AT91BOOTSTRAP_DATAFLASHCARD=y
|
||||
|
||||
# Second stage bootloader
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="at91sam9g20ek"
|
||||
BR2_TARGET_UBOOT_2010_06=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.33"
|
||||
BR2_LINUX_KERNEL_PATCH="http://maxim.org.za/AT91RM9200/2.6/2.6.33-at91.patch.gz"
|
||||
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="at91sam9g20ek"
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_TAR=y
|
||||
@@ -1,24 +0,0 @@
|
||||
# Architecture
|
||||
BR2_avr32=y
|
||||
|
||||
# Filesystems
|
||||
BR2_TARGET_ROOTFS_JFFS2=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_FLASH_128=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_PAGESIZE=0x1000
|
||||
BR2_TARGET_ROOTFS_JFFS2_EBSIZE=0x20000
|
||||
BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_BE=y
|
||||
BR2_TARGET_ROOTFS_TAR=y
|
||||
BR2_TARGET_ROOTFS_TAR_NONE=y
|
||||
|
||||
# Bootloader
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="atngw100"
|
||||
BR2_TARGET_UBOOT_2010_09=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.35"
|
||||
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="atngw100"
|
||||
@@ -1,19 +0,0 @@
|
||||
# Architecture
|
||||
BR2_avr32=y
|
||||
|
||||
# U-Boot
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="atstk1002"
|
||||
BR2_TARGET_UBOOT_2010_09=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.35"
|
||||
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="atstk1002"
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_TAR=y
|
||||
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
|
||||
# Bootloader
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="cp926ejs"
|
||||
BR2_TARGET_UBOOT_2010_06=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_2_6_35=
|
||||
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="integrator"
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_TAR=y
|
||||
@@ -1,14 +0,0 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_arm920t=y
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_TAR=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.33"
|
||||
BR2_LINUX_KERNEL_PATCH="http://maxim.org.za/AT91RM9200/2.6/2.6.33-at91.patch.gz"
|
||||
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="kb9202"
|
||||
@@ -1,31 +0,0 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_arm920t=y
|
||||
|
||||
# Serial port
|
||||
BR2_TARGET_GENERIC_GETTY=y
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttySAC0"
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_JFFS2=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_PAGESIZE=0x800
|
||||
BR2_TARGET_ROOTFS_JFFS2_EBSIZE=0x20000
|
||||
BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_LE=y
|
||||
BR2_TARGET_ROOTFS_TAR=y
|
||||
|
||||
# Bootloader
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="mini2440"
|
||||
BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="http://repo.or.cz/w/u-boot-openmoko/mini2440.git/snapshot/dev-mini2440-stable.tar.gz"
|
||||
|
||||
#
|
||||
# Kernel
|
||||
#
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.0.4"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="mini2440"
|
||||
BR2_LINUX_KERNEL_UIMAGE=y
|
||||
@@ -1,19 +0,0 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
|
||||
# system
|
||||
BR2_TARGET_GENERIC_GETTY=y
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
|
||||
|
||||
# filesystem
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.1"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/arm-versatile/linux-3.1.config"
|
||||
BR2_LINUX_KERNEL_ZIMAGE=y
|
||||
@@ -1,19 +0,0 @@
|
||||
# Architecture
|
||||
BR2_mipsel=y
|
||||
BR2_mips_32r2=y
|
||||
|
||||
# filesystem
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.1"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mipsel-malta/linux-3.1.config"
|
||||
BR2_LINUX_KERNEL_VMLINUX=y
|
||||
|
||||
# Serial port config
|
||||
BR2_TARGET_GENERIC_GETTY=y
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
|
||||
@@ -1,19 +0,0 @@
|
||||
# Architecture
|
||||
BR2_powerpc=y
|
||||
BR2_powerpc_440fp=y
|
||||
|
||||
# filesystem
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.1"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/powerpc-g3beige/linux-3.1.config"
|
||||
BR2_LINUX_KERNEL_VMLINUX=y
|
||||
|
||||
# Serial port config
|
||||
BR2_TARGET_GENERIC_GETTY=y
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
|
||||
@@ -1,24 +0,0 @@
|
||||
# Architecture
|
||||
BR2_sh=y
|
||||
BR2_sh4=y
|
||||
|
||||
# system
|
||||
BR2_TARGET_GENERIC_GETTY=y
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttySC1"
|
||||
|
||||
# filesystem
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
|
||||
# The kernel wants to use the -m4-nofpu option to make sure that it
|
||||
# doesn't use floating point operations.
|
||||
BR2_GCC_VERSION_4_5_X=y
|
||||
BR2_EXTRA_GCC_CONFIG_OPTIONS="--with-multilib-list=m4,m4-nofpu"
|
||||
|
||||
# Linux kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.1"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sh4-r2d/linux-3.1.config"
|
||||
BR2_LINUX_KERNEL_ZIMAGE=y
|
||||
@@ -1,17 +0,0 @@
|
||||
# Architecture
|
||||
BR2_i386=y
|
||||
BR2_x86_pentiumpro=y
|
||||
|
||||
# system
|
||||
BR2_TARGET_GENERIC_GETTY=y
|
||||
|
||||
# filesystem
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.0.4"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86/linux-3.0.config"
|
||||
@@ -1,24 +0,0 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
|
||||
# system
|
||||
BR2_TARGET_GENERIC_GETTY=y
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
|
||||
|
||||
# filesystem
|
||||
BR2_TARGET_ROOTFS_JFFS2=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K=y
|
||||
|
||||
# bootloader
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="sheevaplug"
|
||||
BR2_TARGET_UBOOT_FORMAT_KWB=y
|
||||
# BR2_TARGET_UBOOT_NETWORK is not set
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.39.4"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="kirkwood"
|
||||
BR2_LINUX_KERNEL_UIMAGE=y
|
||||
240
docs/Glibc_vs_uClibc.html
Normal file
240
docs/Glibc_vs_uClibc.html
Normal file
@@ -0,0 +1,240 @@
|
||||
<!--#include file="header.html" -->
|
||||
|
||||
<h2>uClibc vs. glibc</h2>
|
||||
|
||||
<p>
|
||||
uClibc and Glibc are not the same -- there are a number of differences which
|
||||
may or may not cause you problems. This document attempts to list these
|
||||
differences and, when completed, will contain a full list of all relevant
|
||||
differences.
|
||||
<br><br></p>
|
||||
<ol>
|
||||
<li>uClibc is smaller than glibc. We attempt to maintain a glibc compatible
|
||||
interface, allowing applications that compile with glibc to easily compile with
|
||||
uClibc. However, we do not include _everything_ that glibc includes, and
|
||||
therefore some applications may not compile. If this happens to you, please
|
||||
report the failure to the uclibc mailing list, with detailed error messages.
|
||||
</li><br>
|
||||
<li>uClibc is much more configurable then glibc. This means that a developer
|
||||
may have compiled uClibc in such a way that significant amounts of
|
||||
functionality have been omitted.
|
||||
</li><br>
|
||||
<li>uClibc does not even attempt to ensure binary compatibility across releases.
|
||||
When a new version of uClibc is released, you may or may not need to recompile
|
||||
all your binaries.
|
||||
</li><br>
|
||||
<li><ul><li> malloc(0) in glibc returns a valid pointer to something(!?!?) while in
|
||||
uClibc calling malloc(0) returns a NULL. The behavior of malloc(0) is listed
|
||||
as implementation-defined by SuSv3, so both libraries are equally correct.
|
||||
This difference also applies to realloc(NULL, 0). I personally feel glibc's
|
||||
behavior is not particularly safe. To enable glibc behavior, one has to
|
||||
explicitly enable the MALLOC_GLIBC_COMPAT option.
|
||||
</li><br><li>
|
||||
glibc's malloc() implementation has behavior that is tunable via the
|
||||
MALLOC_CHECK_ environment variable. This is primarily used to provide extra
|
||||
malloc debugging features. These extended malloc debugging features are not
|
||||
available within uClibc. There are many good malloc debugging libraries
|
||||
available for Linux (dmalloc, electric fence, valgrind, etc) that work much
|
||||
better than the glibc extended malloc debugging. So our omitting this
|
||||
functionality from uClibc is not a great loss.
|
||||
</li><br>
|
||||
</ul></li>
|
||||
<li>uClibc does not provide a database library (libdb).
|
||||
</li><br>
|
||||
<li>uClibc does not support NSS (/lib/libnss_*), which allows glibc to easily
|
||||
support various methods of authentication and DNS resolution. uClibc only
|
||||
supports flat password files and shadow password files for storing
|
||||
authentication information. If you need something more complex than this,
|
||||
you can compile and install pam.
|
||||
</li><br>
|
||||
<li>uClibc's libresolv is only a stub. Some, but not all of the functionality
|
||||
provided by glibc's libresolv is provided internal to uClibc. Other functions
|
||||
are not at all implemented.
|
||||
</li><br>
|
||||
<li>libnsl provides support for Network Information Service (NIS) which was
|
||||
originally called "Yellow Pages" or "YP", which is an extension of RPC invented
|
||||
by Sun to share Unix password files over the network. I personally think NIS
|
||||
is an evil abomination and should not be used. These days, using ldap is much
|
||||
more effective mechanism for doing the same thing. uClibc provides a stub
|
||||
libnsl, but has no actual support for Network Information Service (NIS).
|
||||
We therefore, also do not provide any of the headers files provided by glibc
|
||||
under /usr/include/rpcsvc.
|
||||
</li><br>
|
||||
<li>uClibc's locale support is not 100% complete yet. We are working on it.
|
||||
</li><br>
|
||||
<li>uClibc's math library only supports long double as inlines, and even
|
||||
then the long double support is quite limited. Also, very few of the
|
||||
float math functions are implemented. Stick with double and you should
|
||||
be just fine.
|
||||
</li><br>
|
||||
<li>uClibc's libcrypt does not support the reentrant crypt_r, setkey_r and
|
||||
encrypt_r, since these are not required by SuSv3.
|
||||
</li><br>
|
||||
<li>uClibc directly uses kernel types to define most opaque data types.
|
||||
</li><br>
|
||||
<li>uClibc directly uses the linux kernel's arch specific 'stuct stat'.
|
||||
</li><br>
|
||||
<li>uClibc's librt library currently lacks all aio routines, all clock
|
||||
routines, and all shm routines (only the timer routines and the mq
|
||||
routines are implemented).
|
||||
</li><br>
|
||||
</ol>
|
||||
<hr>
|
||||
<h3>Manuel's Notes</h3>
|
||||
|
||||
Some general comments...<br>
|
||||
<p>
|
||||
The intended target for all my uClibc code is ANSI/ISO C99 and SUSv3
|
||||
compliance. While some glibc extensions are present, many will eventually
|
||||
be configurable. Also, even when present, the glibc-like extensions may
|
||||
differ slightly or be more restrictive than the native glibc counterparts.
|
||||
They are primarily meant to be porting _aides_ and not necessarily
|
||||
drop-in replacements.
|
||||
</p><br>
|
||||
Now for some details...<br><br>
|
||||
|
||||
<u>time functions</u><br>
|
||||
<ol>
|
||||
<li>Leap seconds are not supported.</li><br>
|
||||
<li>/etc/timezone and the whole zoneinfo directory tree are not supported.
|
||||
To set the timezone, set the TZ environment variable as specified in
|
||||
http://www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap08.html
|
||||
or you may also create an /etc/TZ file of a single line, ending with a
|
||||
newline, containing the TZ setting. For example
|
||||
echo CST6CDT > /etc/TZ
|
||||
</li><br>
|
||||
<li>Currently, locale specific eras and alternate digits are not supported.
|
||||
They are on my TODO list.
|
||||
</li>
|
||||
</ol><br>
|
||||
<u>wide char support</u><br>
|
||||
<ol>
|
||||
<li>The only multibyte encoding currently supported is UTF-8. The various
|
||||
ISO-8859-* encodings are (optionally) supported. The internal
|
||||
representation of wchar's is assumed to be 31 bit unicode values in
|
||||
native endian representation. Also, the underlying char encoding is
|
||||
assumed to match ASCII in the range 0-0x7f.
|
||||
</li>
|
||||
<li>In the next iteration of locale support, I plan to add support for
|
||||
(at least some) other multibyte encodings.
|
||||
</li>
|
||||
</ol>
|
||||
<u>locale support</u><br>
|
||||
<ol>
|
||||
<li>The target for support is SUSv3 locale functionality. While nl_langinfo
|
||||
has been extended, similar to glibc, it only returns values for related
|
||||
locale entries.
|
||||
</li>
|
||||
<li>Currently, all SUSv3 libc locale functionality should be implemented
|
||||
except for wcsftime and collating item support in regex.
|
||||
</li>
|
||||
</ol>
|
||||
<u>stdio</u><br>
|
||||
<ol>
|
||||
<li>Conversion of large magnitude floating-point values by printf suffers a loss
|
||||
of precision due to the algorithm used.
|
||||
</li><br>
|
||||
<li>uClibc's printf is much stricter than glibcs, especially regarding positional
|
||||
args. The entire format string is parsed first and an error is returned if
|
||||
a problem is detected. In locales other than C, the format string is checked
|
||||
to be a valid multibyte sequence as well. Also, currently at most 10 positional
|
||||
args are allowed (although this is configurable).
|
||||
</li><br>
|
||||
<li>BUFSIZ is configurable, but no attempt is made at automatic tuning of internal
|
||||
buffer sizes for stdio streams. In fact, the stdio code in general sacrifices
|
||||
sophistication/performace for minimal size.
|
||||
</li><br>
|
||||
<li>uClibc allows glibc-like custom printf functions. However, while not
|
||||
currently checked, the specifier must be <= 0x7f.
|
||||
</li><br>
|
||||
<li>uClibc allows glibc-like custom streams. However, no in-buffer seeking is
|
||||
done.
|
||||
</li><br>
|
||||
<li>The functions fcloseall() and __fpending() can behave differently than their
|
||||
glibc counterparts.
|
||||
</li><br>
|
||||
<li>uClibc's setvbuf is more restrictive about when it can be called than glibc's
|
||||
is. The standards specify that setvbuf must occur before any other operations
|
||||
take place on the stream.
|
||||
</li><br>
|
||||
<li>Right now, %m is not handled properly by printf when the format uses positional
|
||||
args.
|
||||
</li><br>
|
||||
<li>The FILEs created by glibc's fmemopen(), open_memstream(), and fopencookie()
|
||||
are not capable of wide orientation. The corresponding uClibc routines do
|
||||
not have this limitation.
|
||||
</li><br>
|
||||
<li>For scanf, the C99 standard states "The fscanf function returns the value of
|
||||
the macro EOF if an input failure occurs before any conversion." But glibc's
|
||||
scanf does not respect conversions for which assignment was surpressed, even
|
||||
though the standard states that the value is converted but not stored.
|
||||
</li></ol><br>
|
||||
<hr><h3>Glibc bugs</h3><br>
|
||||
glibc bugs that Ulrich Drepper has refused to acknowledge or comment on
|
||||
( <a href="http://sources.redhat.com/ml/libc-alpha/2003-09/">http://sources.redhat.com/ml/libc-alpha/2003-09/</a> )
|
||||
<br>
|
||||
<ol>
|
||||
<li>The C99 standard says that for printf, a %s conversion makes no special
|
||||
provisions for multibyte characters. SUSv3 is even more clear, stating
|
||||
that bytes are written and a specified precision is in bytes. Yet glibc
|
||||
treats the arg as a multibyte string when a precision is specified and
|
||||
not otherwise.
|
||||
</li><br>
|
||||
<li>Both C99 and C89 state that the %c conversion for scanf reads the exact
|
||||
number of bytes specified by the optional field width (or 1 if not specified).
|
||||
uClibc complies with the standard. There is an argument that perhaps the
|
||||
specified width should be treated as an upper bound, based on some historical
|
||||
use. However, such behavior should be mentioned in the Conformance document.
|
||||
</li><br>
|
||||
<li>glibc's scanf is broken regarding some numeric patterns. Some invalid
|
||||
strings are accepted as valid ("0x.p", "1e", digit grouped strings).
|
||||
In spite of my posting examples clearly illustrating the bugs, they remain
|
||||
unacknowledged by the glibc developers.
|
||||
</li><br>
|
||||
<li>glibc's scanf seems to require a 'p' exponent for hexadecimal float strings.
|
||||
According to the standard, this is optional.
|
||||
</li><br>
|
||||
<li>C99 requires that once an EOF is encountered, the stream should be treated
|
||||
as if at end-of-file even if more data becomes available. Further reading
|
||||
can be attempted by clearing the EOF flag though, via clearerr() or a file
|
||||
positioning function. For details concerning the original change, see
|
||||
Defect Report #141. glibc is currently non-compliant, and the developers
|
||||
did not comment when I asked for their official position on this issue.
|
||||
</li><br>
|
||||
<li>glibc's collation routines and/or localedef are broken regarding implicit
|
||||
and explicit UNDEFINED rules.
|
||||
</li><br></ol>
|
||||
More to follow as I think of it...
|
||||
<br><br><hr>
|
||||
<h3>Profiling:</h3>
|
||||
<p>
|
||||
uClibc no longer supports 'gcc -fprofile-arcs -pg' style profiling, which
|
||||
causes your application to generate a 'gmon.out' file that can then be analyzed
|
||||
by 'gprof'. Not only does this require explicit extra support in uClibc, it
|
||||
requires that you rebuild everything with profiling support. There is both a
|
||||
size and performance penalty to profiling your applications this way, as well
|
||||
as Heisenberg effects, where the act of measuring changes what is measured.
|
||||
</p>
|
||||
<p>
|
||||
There exist a number of less invasive alternatives that do not require you to
|
||||
specially instrument your application, and recompile and relink everything.
|
||||
</p><p>
|
||||
The OProfile system-wide profiler is an excellent alternative:
|
||||
<a href="http://oprofile.sourceforge.net/">http://oprofile.sourceforge.net/</a>
|
||||
</p><p>
|
||||
Many people have had good results using the combination of Valgrind
|
||||
to generate profiling information and KCachegrind for analysis:
|
||||
<a href="http://developer.kde.org/~sewardj/">http://developer.kde.org/~sewardj/</a>
|
||||
<a href="http://kcachegrind.sourceforge.net/">http://kcachegrind.sourceforge.net/</a>
|
||||
</p><p>
|
||||
Prospect is another alternative based on OProfile:
|
||||
<a href="http://prospect.sourceforge.net/">http://prospect.sourceforge.net/</a>
|
||||
</p><p>
|
||||
And the Linux Trace Toolkit (LTT) is also a fine tool:
|
||||
<a href="http://www.opersys.com/LTT/">http://www.opersys.com/LTT/</a>
|
||||
</p><p>
|
||||
FunctionCheck:
|
||||
<a href="http://www710.univ-lyon1.fr/~yperret/fnccheck/">http://www710.univ-lyon1.fr/~yperret/fnccheck/</a>
|
||||
</p>
|
||||
|
||||
<!--#include file="footer.html" -->
|
||||
@@ -4,13 +4,15 @@ To build and use the buildroot stuff, do the following:
|
||||
2) select the packages you wish to compile
|
||||
3) run 'make'
|
||||
4) wait while it compiles
|
||||
5) Use your shiny new root filesystem. Depending on which sort of
|
||||
5) Use your shiny new root filesystem. Depending on which sortof
|
||||
root filesystem you selected, you may want to loop mount it,
|
||||
chroot into it, nfs mount it on your target device, burn it
|
||||
to flash, or whatever is appropriate for your target system.
|
||||
|
||||
You do not need to be root to build or run buildroot. Have fun!
|
||||
|
||||
-Erik
|
||||
|
||||
Offline build:
|
||||
==============
|
||||
|
||||
@@ -33,7 +35,7 @@ make command line, E.G.:
|
||||
|
||||
$ make O=/tmp/build
|
||||
|
||||
And all the output files (including .config) will be located under /tmp/build.
|
||||
And all the output files will be located under /tmp/build.
|
||||
|
||||
More finegrained configuration:
|
||||
===============================
|
||||
@@ -51,7 +53,7 @@ $ make HOSTCC=gcc-4.3.orig HOSTCXX=gcc-4.3-mine
|
||||
|
||||
Depending on your configuration, there are some targets you can use to
|
||||
use menuconfig of certain packages. This includes:
|
||||
$ make HOSTCC=gcc-4.3 linux-menuconfig
|
||||
$ make HOSTCC=gcc-4.3 linux26-menuconfig
|
||||
$ make HOSTCC=gcc-4.3 uclibc-menuconfig
|
||||
$ make HOSTCC=gcc-4.3 busybox-menuconfig
|
||||
|
||||
|
||||
37
docs/README.diskimage
Normal file
37
docs/README.diskimage
Normal file
@@ -0,0 +1,37 @@
|
||||
# Sample for i386 to create a 6MB disk-image
|
||||
|
||||
# create an image file
|
||||
dd if=/dev/zero bs=512 count=$((6*1024*1024/512)) of=img
|
||||
# create a partition (optional)
|
||||
echo -e "n\np\n1\n\nw\n" | \
|
||||
~/src/busybox/busybox fdisk -C 16065 -H 255 -S 63 ./img
|
||||
# as root, associate the image with a look-device:
|
||||
# The offset of 512 comes from the the layout of the image. See
|
||||
# ~/src/busybox/busybox fdisk -C 16065 -H 255 -S 63 -l ./img for the start
|
||||
# block and multiply this with the block size (==512).
|
||||
~/src/busybox/busybox losetup -o 512 /dev/loop/0 /path/to/the/img
|
||||
# create some filesystem on it, for example ext2
|
||||
mkfs.ext2 -m0 -Lslash /dev/loop/0
|
||||
# mount it and copy your stuff to it
|
||||
~/src/busybox/busybox mount -oloop,rw /dev/loop/0 /media/l0
|
||||
~/src/busybox/busybox mkdir -p /media/l0/boot/grub
|
||||
~/src/busybox/busybox cp -a project_build_i386/root/boot/grub/stage? /media/l0/boot/grub/
|
||||
~/src/busybox/busybox cp -a project_build_i386/root/boot/bzImage /media/l0/boot/
|
||||
~/src/busybox/busybox cat > /media/l0/boot/grub/menu.lst <<EOF
|
||||
title=GNU/Linux
|
||||
root (hd0,0)
|
||||
kernel /boot/bzImage
|
||||
EOF
|
||||
# finally unmount the dist and disassociate the loopdev
|
||||
~/src/busybox/busybox umount /media/l0
|
||||
~/src/busybox/busybox losetup -d /dev/loop/0
|
||||
# now install grub from the chroot
|
||||
~/src/busybox/busybox losetup /dev/loop/0 /path/to/the/img
|
||||
project_build_i386/root/usr/sbin/grub --device-map=/dev/null
|
||||
device (hd0) img
|
||||
geometry (hd0) 16065 255 63
|
||||
root (hd0,0)
|
||||
setup (hd0)
|
||||
quit
|
||||
# finally boot the thing
|
||||
/opt/qemu-trunk_ggi-2.2.2/bin/qemu -snapshot -hda img -boot c
|
||||
67
docs/TESTING.html
Normal file
67
docs/TESTING.html
Normal file
@@ -0,0 +1,67 @@
|
||||
<!--#include file="header.html" -->
|
||||
|
||||
<h2>Testing Buildroot for an Architecture</h2>
|
||||
|
||||
<p>
|
||||
<h4>scripts/mkpkg script</h4>
|
||||
If you want to test the build of a single package you can use the mkpkg script.
|
||||
</p>
|
||||
<p>
|
||||
<li>$ scripts/mkpkg PACKAGE</li>
|
||||
</p>
|
||||
<p>
|
||||
Will make the board, and save the result in a log file.
|
||||
The log file resides in
|
||||
<li>$ log/OK/PACKAGE.log.OK</li>
|
||||
</p>
|
||||
<p>
|
||||
if the build succeeds and in
|
||||
<li>$ log/OK/PACKAGE.log.FAIL</li>
|
||||
</p>
|
||||
<p>
|
||||
if it cannot complete.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
By creating an alias
|
||||
<li>alias mk=scripts/mkpkg</li>
|
||||
</p>
|
||||
<p>
|
||||
it is enough to type
|
||||
<li>$ mk PACKAGE</li>
|
||||
</p>
|
||||
<p>
|
||||
mkpkg will only print out the <h4>{PACKAGE}......OK</h4> or <h4>{PACKAGE}......FAIL</h4>
|
||||
depending on success or failure making it easy to get an overview
|
||||
of the status of this specific architecture.
|
||||
</p>
|
||||
<p>
|
||||
It is recommended to build a simple board before running the test
|
||||
to get some basic things done.
|
||||
</p>
|
||||
<p>
|
||||
<h4>scripts/buildall.sh script</h4>
|
||||
</p>
|
||||
<p>
|
||||
By running this script you will run scripts/mkpkg on
|
||||
a lot of the packages available in Buildroot.
|
||||
</p>
|
||||
<p>
|
||||
You need to run the script while in the TOP directory.
|
||||
I.E: Where you typically run make.
|
||||
</p>
|
||||
<p>
|
||||
There are a few lacking, for no very good reason,
|
||||
but these can be easily added.
|
||||
</p>
|
||||
<p>
|
||||
Note that some packages will not build properly
|
||||
if you do not enable them using makeconfig.
|
||||
</p>
|
||||
<p>
|
||||
Examples are:
|
||||
<li>freetype</li>
|
||||
<li>socat</li>
|
||||
</p>
|
||||
|
||||
<!--#include file="footer.html" -->
|
||||
255
docs/U-boot.html
Normal file
255
docs/U-boot.html
Normal file
@@ -0,0 +1,255 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Buildroot - U-boot extensions in 2009.01-rc1</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="main">
|
||||
<div class="titre">
|
||||
<a name="top" id="top"></a>
|
||||
<h1>U-boot extensions in 2009.01-rc1</h1>
|
||||
</div>
|
||||
|
||||
<p><a href="http://buildroot.uclibc.org/">U-Boot</a>
|
||||
usage and documentation by Ulf Samuelsson.
|
||||
</p>
|
||||
|
||||
<p><small>$LastChangedDate: 2008-12-16 10:00:11 +0100 (tis, 16 dec 2008) $</small></p>
|
||||
<ul>
|
||||
<li><a href="#about">About U-Boot</a></li>
|
||||
<li><a href="#at91rm9200dk">Board Support for AT91RM9200DK</a></li>
|
||||
<li><a href="#at91rm9200ek">Board Support for AT91RM9200EK</a></li>
|
||||
<li><a href="#at91sam9g20ek">Board Support for AT91SAM9G20EK</a></li>
|
||||
<li><a href="#Minicom extensions">X-Modem/Raw extensions to minicom</a></li>
|
||||
<li><a href="#cmd_factory">New Command: factory</a></li>
|
||||
<li><a href="#cmd_os">New Command: os</a></li>
|
||||
<li><a href="#cmd_fs">New Command: fs</a></li>
|
||||
<li><a href="#cmd_setargs">New Command: setargs</a></li>
|
||||
<li><a href="#cmd_led">New Command: led</a></li>
|
||||
<li><a href="#cmd_mux">New Command: mux</a></li>
|
||||
<li><a href="#cmd_ethinit">New Command: ethinit</a></li>
|
||||
<li><a href="#environment">Special environment variables</a></li>
|
||||
</ul>
|
||||
<h2><a name="about" id="about"></a>About U-boot</h2>
|
||||
<a href="#top"><small>[TOP]</small></a>
|
||||
|
||||
<p>
|
||||
U-Boot is an open source bootloader ported to a multitude of processors.
|
||||
See (<a href="http://www.denx.de/wiki/U-Boot/WebHome">U-Boot Home</a>)
|
||||
for documentation for vanilla U-Boot. This document only describes
|
||||
changes compared to the vanilla u-boot.
|
||||
</p>
|
||||
|
||||
<h2><a name="at91rm9200dk" id="at91rm9200dk"></a>Board support for at91rm9200dk</h2>
|
||||
<a href="#top"><small>[TOP]</small></a>
|
||||
|
||||
<p>
|
||||
"at91rm9200dk" is updated to use a linux like API for gpio.
|
||||
A new target "at91rm9200dk_df" is defined to support boot from dataflash.
|
||||
</p>
|
||||
|
||||
<h2><a name="at91rm9200ek" id="at91rm9200ek"></a>Board support for at91rm9200ek</h2>
|
||||
<a href="#top"><small>[TOP]</small></a>
|
||||
|
||||
<p>
|
||||
The "at91rm9200ek" BSP supports booting from a parallel flash.
|
||||
The "at91rm9200df" BSP supports a generic target booting from dataflash.
|
||||
</p>
|
||||
|
||||
<h2><a name="#at91sam9g20ek" id="#at91sam9g20ek"></a>Board support for at91sam9g20ek</h2>
|
||||
<a href="#top"><small>[TOP]</small></a>
|
||||
|
||||
<p>
|
||||
The "at91sam9g20ek" target with dataflash(card) and NAND boot support.
|
||||
</p>
|
||||
|
||||
<h2><a name="minicom_extensions" id="minicom_extensions"></a>Minicom extensions </h2>
|
||||
<a href="#top"><small>[TOP]</small></a>
|
||||
|
||||
<p>
|
||||
"sx-at91" is a reliable X-Modem application allowing download to the at91rm9200
|
||||
based board
|
||||
</p>
|
||||
<p>
|
||||
"raw-at91" is a download application which will download binary data using minicom.
|
||||
Typically used to download an environment script.
|
||||
</p>
|
||||
|
||||
<h2><a name="cmd_factory" id="cmd_factory"></a>New command: factory</h2>
|
||||
<a href="#top"><small>[TOP]</small></a>
|
||||
|
||||
<p>
|
||||
<h3><code>factory</code></h3>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
"factory" will set a selected set of environment variables
|
||||
back to the compile time default. The following will give some
|
||||
hints on capabilities, but is not yet complete.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
It will generate a set of scripts which will facilitate downloading
|
||||
the kernel and root file system using tftp and will also
|
||||
add commands to store into and retrieve from flash
|
||||
</p>
|
||||
|
||||
<h2><a name="cmd_os" id="cmd_os"></a>New command: os</h2>
|
||||
<a href="#top"><small>[TOP]</small></a>
|
||||
|
||||
<p>
|
||||
<h3><code>os<code></h3>
|
||||
</p>
|
||||
<p>
|
||||
"os" computes a new name for the linux kernel
|
||||
</p>
|
||||
|
||||
<h2><a name="cmd_fs" id="cmd_fs"></a>New command: fs</h2>
|
||||
<a href="#top"><small>[TOP]</small></a>
|
||||
|
||||
<p>
|
||||
<h3><code>fs<code></h3>
|
||||
</p>
|
||||
<p>
|
||||
"fs" computes a new name for the file system
|
||||
</p>
|
||||
|
||||
<h2><a name="cmd_setargs" id="cmd_setargs"></a>New command: setargs</h2>
|
||||
<a href="#top"><small>[TOP]</small></a>
|
||||
<p>
|
||||
<h3><code>setargs<code></h3>
|
||||
</p>
|
||||
<p>
|
||||
"setargs" will create new bootcmd/bootargs combination from
|
||||
kernel name, filesystem name, and rootfs type.
|
||||
</p>
|
||||
|
||||
<h2><a name="cmd_led" id="cmd_led"></a>New command: led</h2>
|
||||
<a href="#top"><small>[TOP]</small></a>
|
||||
|
||||
<p>
|
||||
<h3><code>led [green | yellow | red | all ] [ on | off ]<code></h3>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
"led" will turn on or off the specified (coloured) led
|
||||
</p>
|
||||
|
||||
<h2><a name="cmd_mux" id="cmd_mux"></a>New command: mux</h2>
|
||||
<a href="#top"><small>[TOP]</small></a>
|
||||
|
||||
<p>
|
||||
<h3><code>mux [spi | mmc ]<code></h3>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
"mux" will select how to use the flash card connector on the
|
||||
at91rm9200dk or at91rm9200ek
|
||||
</p>
|
||||
|
||||
<h2><a name="cmd_ethinit" id="cmd_ethinit"></a>New command: ethinit</h2>
|
||||
<a href="#top"><small>[TOP]</small></a>
|
||||
|
||||
<p>
|
||||
<h3><code>ethinit<code></h3>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
"ethinit" can be used to delay the boot of linux, until a valid network
|
||||
connection has been established. This is useful if the machine is NFS mounting
|
||||
the root file system and both this machine and the NFS server are powering up
|
||||
simultaneously. The NFS server could take a lot longer to boot, and waiting
|
||||
for this to boot may be neccessary for proper operation.
|
||||
</p>
|
||||
|
||||
<h2><a name="environment" id="environment"></a>Special environment variables</h2>
|
||||
<a href="#top"><small>[TOP]</small></a>
|
||||
|
||||
<p>
|
||||
<h3><code>rd<code></h3>
|
||||
</p>
|
||||
<p>
|
||||
rd contains the name of the current root file system
|
||||
It is autmatically generated from <bold>ver</bold> and <bold>rd-1</bold>, <bold>rd-2</bold> etc.
|
||||
The "fs-date" is added at the end.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<h3><code>ver<code></h3>
|
||||
</p>
|
||||
<p>
|
||||
You can handle a number of different root fs by defining <code>ver</code>.
|
||||
When running <code>fs</code> rd will be assigned from one of:
|
||||
<ul><code>rd-1, rd2, rd-3 ...<code></ul>
|
||||
</p>
|
||||
<p>
|
||||
By defining <code>ver</code> to a number you will
|
||||
select the appropriate disk name
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<h3><code>fs-date<code></h3>
|
||||
</p>
|
||||
<p>
|
||||
"date" part of the root file system name
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<h3><code>linux<code></h3>
|
||||
</p>
|
||||
<p>
|
||||
linux contains the name of the current kernel.
|
||||
</p>
|
||||
<p>
|
||||
It is generated from several environment variables when <code>os</code> is run
|
||||
</p>
|
||||
<p>
|
||||
A typical name would be "at91sam9263ek-linux-2.6.28-20090105.gz"
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<h3><code>hostname<code></h3>
|
||||
</p>
|
||||
<p>
|
||||
"name" part of the kernel file name
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<h3><code>kernel-version<code></h3>
|
||||
</p>
|
||||
<p>
|
||||
"version" part of the kernel file name
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<h3><code>kernel-date<code></h3>
|
||||
</p>
|
||||
<p>
|
||||
"date" part of the kernel file name
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<h3><code>fstype [ ram | flash ]<code></h3>
|
||||
<p>
|
||||
You can have several file system types.
|
||||
bootargs is created depending on fstype..
|
||||
</p>
|
||||
|
||||
<a href="#top"><small>[TOP]</small></a>
|
||||
|
||||
</div>
|
||||
<!--
|
||||
<a href="http://validator.w3.org/check?uri=referer"><img
|
||||
border="0" height="31" width="88"
|
||||
src="images/valid-html401.png"
|
||||
alt="Valid HTML"></img></a>
|
||||
-->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -3,62 +3,24 @@
|
||||
|
||||
<!-- Begin Introduction section -->
|
||||
|
||||
<h3>Buildroot: making Embedded Linux easy</h3>
|
||||
<h3>buildroot: making Embedded Linux easy</h3>
|
||||
|
||||
<div align="center">
|
||||
<a href="images/menuconfig.png">
|
||||
<img src="images/menuconfig_small.png" width="340" height="220"
|
||||
alt="Buildroot menuconfig" border="0">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<p>Buildroot is a set of Makefiles and patches that makes it easy to
|
||||
generate a complete embedded Linux system. Buildroot can generate any
|
||||
or all of a cross-compilation toolchain, a root filesystem, a kernel
|
||||
image and a bootloader image. Buildroot is useful mainly for people
|
||||
working with small or embedded systems, using various CPU
|
||||
architectures (x86, ARM, MIPS, PowerPC, etc.) : it automates the
|
||||
building process of your embedded system and eases the
|
||||
cross-compilation process.</p>
|
||||
Buildroot is a set of Makefiles and patches that makes it easy generate a
|
||||
cross-compilation toolchain and root filesystem for your target Linux
|
||||
system using the <a href= "http://www.uclibc.org/">uClibc C library</a>.
|
||||
Buildroot is useful mainly for people working with small or embedded
|
||||
systems. Embedded systems often use processors that are not the regular
|
||||
x86 processors everyone is used to using on their PC. It can be PowerPC
|
||||
processors, MIPS processors, ARM processors, etc. And to be extra safe,
|
||||
you do not need to be root to build or run buildroot.
|
||||
|
||||
<p>The major Buildroot features are:</p>
|
||||
<p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>Can <b>handle everything</b> in your embedded system development
|
||||
project: cross-compiling toolchain, root filesystem generation,
|
||||
kernel image compilation and bootloader compilation. Buildroot is
|
||||
also sufficiently flexible that it can also be used for only one or
|
||||
several of these steps.</li>
|
||||
|
||||
<li>Is <b>very easy</b> to set up, thanks to its menuconfig, gconfig
|
||||
and xconfig configuration interfaces, familiar to all embedded Linux
|
||||
developers. Building a basic embedded Linux system with Buildroot
|
||||
typically takes 15-30 minutes.</li>
|
||||
|
||||
<li>Supports <b>several hundreds of packages</b> for userspace
|
||||
applications and libraries: X.org stack, Gtk2, Qt, DirectFB, SDL,
|
||||
GStreamer and a large number of network-related and system-related
|
||||
utilities and libraries are supported.</li>
|
||||
|
||||
<li>Supports <b>multiple filesystem types</b> for the root
|
||||
filesystem image: JFFS2, UBIFS, tarballs, romfs, cramfs, squashfs
|
||||
and more.</li>
|
||||
|
||||
<li>Can generate an uClibc cross-compilation toolchain, or re-use
|
||||
your existing glibc, eglibc or uClibc cross-compilation
|
||||
toolchain</li>
|
||||
|
||||
<li>Has a <b>simple structure</b> that makes it easy to understand
|
||||
and extend. It relies only on the well-known Makefile language.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>Buildroot is maintained by <a href=
|
||||
"mailto:jacmet@uclibc.org">Peter Korsgaard</a>, and licensed under the
|
||||
<a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU
|
||||
GENERAL PUBLIC LICENSE V2 (Or later)</a>. Stable releases are
|
||||
delivered every three months.</p>
|
||||
buildroot is maintained by <a href=
|
||||
"mailto:jacmet@uclibc.org">Peter Korsgaard</a>, and
|
||||
licensed under the
|
||||
<a href="http://www.gnu.org/copyleft/lgpl.html">GNU LIBRARY GENERAL PUBLIC LICENSE</a>.
|
||||
|
||||
|
||||
<!--#include file="footer.html" -->
|
||||
|
||||
2473
docs/buildroot.html
2473
docs/buildroot.html
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
|
||||
The code and graphics on this website (and it's mirror sites, if any) are
|
||||
Copyright (c) 1999-2005 by Erik Andersen, 2006-2011 The Buildroot
|
||||
Copyright (c) 1999-2005 by Erik Andersen, 2006-2009 The Buildroot
|
||||
developers. All rights reserved.
|
||||
|
||||
Documents on this Web site including their graphical elements, design, and
|
||||
@@ -25,6 +25,6 @@ HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
You have been warned.
|
||||
|
||||
You can contact the webmaster at <buildroot@uclibc.org> if you have some sort
|
||||
You can contact the webmaster at <andersen@codepoet.org> if you have some sort
|
||||
of problem with this.
|
||||
|
||||
|
||||
@@ -1,46 +1,64 @@
|
||||
<!--#include file="header.html" -->
|
||||
|
||||
|
||||
<h3>Developer Access</h3>
|
||||
<h3>Subversion Read/Write Access</h3>
|
||||
|
||||
Because we use Git for version control, you don't need developer (ssh)
|
||||
access on uclibc.org to contribute to Buildroot, but you can request
|
||||
it if needed.
|
||||
If you want to be able to commit things to Subversion, first contribute some
|
||||
stuff to show you are serious. Then, very nicely ask <a
|
||||
href="mailto:buildroot@uclibc.org">The Buildroot Developers</a> to set you up
|
||||
with commit access to the Subversion repository. To access Subversion, you
|
||||
will want to add the following to set up your environment:
|
||||
|
||||
<p>
|
||||
|
||||
To obtain developer access, you will need to demonstrate you are
|
||||
serious by submitting a few good patches first. Then, you will need
|
||||
to select a username to use when logging in, you will need to send me
|
||||
the username you have selected, you must send me your preferred
|
||||
contact email address, and finally, you must send me an ssh version 2
|
||||
DSA key with 1024 bits (the default) or more. If you do not currently
|
||||
have an ssh version 2 DSA key, you can generate a key using the
|
||||
command<pre>ssh-keygen -t dsa</pre> This will create the
|
||||
files <pre>/home/<USERNAME>/ssh/id_dsa
|
||||
/home/<USERNAME>/.ssh/id_dsa.pub</pre> It is recommended that
|
||||
you generate a key with a "passphrase" for security reasons.
|
||||
To obtain commit access, you will need to demonstrate you are serious by
|
||||
submitting a few good patches first. Then, you will need to select a username
|
||||
to use when committing changes to SVN, you will need to send me the username
|
||||
you have selected, you must send me your preferred contact email address, and
|
||||
finally, you must send me an ssh version 2 DSA key with 1024 bits (the default)
|
||||
or more. If you do not currently have an ssh version 2 DSA key, you can
|
||||
generate a key using the command<pre>ssh-keygen -t dsa</pre> This will
|
||||
create the files <pre>/home/<USERNAME>/ssh/id_dsa
|
||||
/home/<USERNAME>/.ssh/id_dsa.pub</pre>
|
||||
It is recommended that you generate a key with a "passphrase" for security reasons.
|
||||
|
||||
<p>
|
||||
Make the file known to the system by running
|
||||
|
||||
<pre>ssh-add ~/.ssh/id_dsa</pre>
|
||||
|
||||
You must then send the content of 'id_dsa.pub' to me so I can setup your account.
|
||||
You must then send the content of 'id_dsa.pub' to me so I can setup your account.
|
||||
The content of 'id_dsa' should of course be kept secret.
|
||||
|
||||
<p>
|
||||
|
||||
Once you have an account, you can use it to store Git
|
||||
repositories. Simply put them in subdirectories of your ~/git, and
|
||||
touch ~/git/<repo>/git-daemon-export-ok, after which the hourly
|
||||
cronjob will pick them up and show them in cgit. They are also
|
||||
available though git-daemon:
|
||||
Once you are setup with an account, you will need to use your account to
|
||||
checkout a copy of buildroot from Subversion:
|
||||
|
||||
<pre>git clone git://git.buildroot.net/~<USERNAME>/git/<REPO></pre>
|
||||
<pre>
|
||||
svn list svn+ssh://username@svn.uclibc.org/svn/trunk/buildroot</pre>
|
||||
<br>
|
||||
It goes without saying you must change <em>username</em> to your own
|
||||
username...
|
||||
<p>
|
||||
|
||||
You can then enter the newly checked out buildroot directory, make changes, check
|
||||
your changes, diff your changes, revert your changes, and and commit your
|
||||
changes usine commands such as:
|
||||
|
||||
<pre>
|
||||
svn diff
|
||||
svn status
|
||||
svn revert
|
||||
svn commit</pre>
|
||||
|
||||
<p>
|
||||
|
||||
For additional detail on how to use Subversion, please visit the
|
||||
<a href="http://subversion.tigris.org/">the Subversion website</a>.
|
||||
You might also want to read online or buy a copy of <a
|
||||
href="http://svnbook.red-bean.com/">the Subversion Book</a>...
|
||||
|
||||
For additional detail on how to use Git, please visit the
|
||||
<a href="http://git-scm.org/">the Git website</a>.
|
||||
|
||||
<!--#include file="footer.html" -->
|
||||
|
||||
|
||||
@@ -1,32 +1,29 @@
|
||||
<!--#include file="header.html" -->
|
||||
|
||||
|
||||
<h3>Documentation</h3>
|
||||
|
||||
<p>Our document "Buildroot usage and documentation" is where you want
|
||||
to start reading if you wish to understand how Buildroot work, or wish
|
||||
to change/extend/fix things. If you find any errors (factual,
|
||||
grammatical, whatever) please report them. Choose between:</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="/downloads/buildroot.html">Latest stable release</a></li>
|
||||
<li><a href="buildroot.html">GIT head revision</a></li>
|
||||
</ul>
|
||||
|
||||
<p>If you find that you need help with Buildroot, you can ask for
|
||||
help:</p>
|
||||
Current documentation for buildroot includes:
|
||||
|
||||
<ul>
|
||||
|
||||
<li>On the <a href="lists.html">buildroot mailing list</a>
|
||||
at <code>buildroot at uclibc.org</code></li>
|
||||
<li>
|
||||
<a href= "buildroot.html">Buildroot - Usage and
|
||||
documentation</a> is where you want to start reading if you wish to
|
||||
understand how buildroot work, or wish to change/extend/fix things. If you
|
||||
find any errors (factual, grammatical, whatever) please report them.
|
||||
</li>
|
||||
|
||||
<li>On the <a href="irc://freenode.net/#uclibc">Buildroot IRC
|
||||
channel</a>, <code>#uclibc</code> on Freenode</li>
|
||||
<li>
|
||||
<a href="README">README</a>. This is the README file included in the
|
||||
buildroot source release.
|
||||
</li>
|
||||
|
||||
<li>On our <a href="https://bugs.uclibc.org">bugtracker</a>.</li>
|
||||
|
||||
<li>Through the various companies offering commercial Buildroot
|
||||
support.</li>
|
||||
<li>
|
||||
If you find that you need help with buildroot, you can ask for help on the
|
||||
<a href= "lists/uClibc/">buildroot mailing list</a> at buildroot at mail.uclibc.org.
|
||||
In addition the BusyBox, uClibc, and buildroot developers are also known to
|
||||
hang out on the uClibc IRC channel: #uclibc on irc.freenode.net.
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -6,40 +6,30 @@
|
||||
|
||||
<p>
|
||||
|
||||
The latest stable release is <b>2011.08</b>, which can be downloaded
|
||||
here:<p>
|
||||
|
||||
<a href="/downloads/buildroot-2011.08.tar.gz">buildroot-2011.08.tar.gz</a>
|
||||
or
|
||||
<a href="/downloads/buildroot-2011.08.tar.bz2">buildroot-2011.08.tar.bz2</a>.
|
||||
<p>
|
||||
|
||||
The latest release candidate is <b>2011.11-rc2</b>, which can be
|
||||
downloaded here:<p>
|
||||
|
||||
<a href="/downloads/buildroot-2011.11-rc2.tar.gz">buildroot-2011.11-rc2.tar.gz</a>
|
||||
or
|
||||
<a href="/downloads/buildroot-2011.11-rc2.tar.bz2">buildroot-2011.11-rc2.tar.bz2</a>.
|
||||
<p>
|
||||
|
||||
This and earlier releases can always be downloaded from
|
||||
<a href="/downloads/">http://buildroot.net/downloads/</a>.
|
||||
The latest release can always be dowloaded from
|
||||
<a href="/downloads/">http://buildroot.uclibc.org/downloads/</a>.
|
||||
|
||||
<p>
|
||||
|
||||
You can also obtain <a href="/downloads/snapshots/">Daily
|
||||
Snapshots</a> of the latest Buildroot source tree if you want to to
|
||||
follow development, but cannot or do not wish to use Git.
|
||||
follow development, but cannot or do not wish to use Subversion (svn).
|
||||
|
||||
<ul>
|
||||
<li> Click here to <a href="downloads/snapshots/">Daily Snapshots</a>.
|
||||
</li>
|
||||
|
||||
<li> Click here to <a href="http://git.buildroot.net/buildroot">browse the source tree</a>.
|
||||
<li> Click here to <a href="http://sources.busybox.net/index.py/trunk/buildroot/">browse the source tree</a>.
|
||||
</li>
|
||||
|
||||
<li>Anonymous <a href="git.html">Git access</a> is available.
|
||||
<li>Anonymous <a href="subversion.html">Subversion access</a> is available.
|
||||
</li>
|
||||
|
||||
<li>For those that are actively contributing obtaining
|
||||
<a href="developer.html">Subversion read/write access</a> is also possible.
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<!--#include file="footer.html" -->
|
||||
|
||||
|
||||
BIN
docs/favicon.ico
BIN
docs/favicon.ico
Binary file not shown.
|
Before Width: | Height: | Size: 2.2 KiB |
@@ -9,8 +9,7 @@
|
||||
|
||||
<p>
|
||||
<font face="arial, helvetica, sans-serif" size="-1">
|
||||
<a HREF="/copyright.txt">Copyright © 1999-2005 Erik Andersen,
|
||||
2006-2011 The Buildroot developers</a>
|
||||
<a HREF="/copyright.txt">Copyright © 1999-2009 Erik Andersen</a>
|
||||
<br>
|
||||
Mail all comments, insults, suggestions and bribes to
|
||||
<br>
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
<!--#include file="header.html" -->
|
||||
|
||||
|
||||
<h3>Git Access</h3>
|
||||
|
||||
The buildroot repository can be browsed online through cgit at
|
||||
<a href="http://git.buildroot.net/buildroot">http://git.buildroot.net/buildroot</a>.
|
||||
To grab a copy of the repository use
|
||||
|
||||
<pre>
|
||||
git clone git://git.buildroot.net/buildroot</pre>
|
||||
|
||||
Or if you're behind a firewall blocking git:
|
||||
|
||||
<pre>
|
||||
git clone http://git.buildroot.net/git/buildroot.git</pre>
|
||||
|
||||
<p>
|
||||
|
||||
Please use the native git protocol if at all possible, as it's a lot
|
||||
more efficient than HTTP.
|
||||
|
||||
<p>
|
||||
|
||||
If you are not already familiar with using Git, we recommend you visit <a
|
||||
href="http://git-scm.org">the Git website</a>.
|
||||
|
||||
<p>
|
||||
|
||||
Once you've checked out a copy of the source tree, you can update your source
|
||||
tree at any time so it is in sync with the latest and greatest by entering your
|
||||
buildroot directory and running the command:
|
||||
|
||||
<pre>
|
||||
git pull
|
||||
</pre>
|
||||
|
||||
Because you've only been granted anonymous access to the tree, you won't be
|
||||
able to commit any changes. Changes can be submitted for inclusion by posting
|
||||
them to the buildroot mailing list or to the <a
|
||||
href="https://bugs.uclibc.org/">Bug and Patch Tracking System</a>.
|
||||
|
||||
<!--#include file="footer.html" -->
|
||||
|
||||
@@ -15,21 +15,6 @@
|
||||
td.c2 {font-family: arial, helvetica, sans-serif; font-size: 80%}
|
||||
td.c1 {font-family: lucida, helvetica; font-size: 248%}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-21761074-1']);
|
||||
_gaq.push(['_setDomainName', 'none']);
|
||||
_gaq.push(['_setAllowLinker', true]);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@@ -42,16 +27,28 @@
|
||||
|
||||
|
||||
<tr>
|
||||
<td valign="TOP">
|
||||
<a href="/"><IMG SRC="images/logo_small.png" alt="Buildroot"
|
||||
border="0" width="200" height="100"></a><BR>
|
||||
<td>
|
||||
<div class="c3">
|
||||
<table border="0" cellspacing="1" cellpadding="2">
|
||||
<tr>
|
||||
<td class="c1">BUILDROOT</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<a href="/"><IMG SRC="images/busybox1.png" alt="Buildroot" border="0"></a><BR>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td valign="TOP">
|
||||
<br><a href="/about.html">About</a>
|
||||
<br><a href="/news.html">Latest News</a>
|
||||
<br><a href="/download.html">Download</a>
|
||||
<br><a href="http://git.buildroot.net/buildroot">Browse Source</a>
|
||||
<br><a href="/git.html">Accessing Source</a>
|
||||
<br><a href="https://bugs.uclibc.org/">Bug Tracking</a>
|
||||
<br><a href="http://sources.busybox.net/index.py/trunk/buildroot/">Browse Source</a>
|
||||
<br><a href="/subversion.html">Accessing Source</a>
|
||||
<br><a href="http://bugs.uclibc.org/">Bug Tracking</a>
|
||||
<br><a href="/docs.html">Documentation</a>
|
||||
<br><a href="/lists.html">Mailing Lists</a>
|
||||
|
||||
|
||||
BIN
docs/images/busybox1.png
Normal file
BIN
docs/images/busybox1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 126 KiB |
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 3.5 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 8.9 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 8.4 KiB |
@@ -1 +1 @@
|
||||
<!--#include file="about.html" -->
|
||||
<!--#include file="news.html" -->
|
||||
|
||||
@@ -8,9 +8,7 @@ development. You can subscribe by visiting
|
||||
<a href="http://lists.busybox.net/mailman/listinfo/buildroot">this page</a>.
|
||||
Only subscribers to the Buildroot mailing list are allowed to post
|
||||
to this list.
|
||||
<p>
|
||||
The list is also available through <a
|
||||
href="http://gmane.org">Gmane</a> at <a href="http://dir.gmane.org/gmane.comp.lib.uclibc.buildroot">gmane.comp.lib.uclibc.buildroot</a>.
|
||||
|
||||
<p>
|
||||
|
||||
<h3>Search the List Archives</h3>
|
||||
@@ -22,8 +20,8 @@ list with frequently asked questions...
|
||||
|
||||
<center>
|
||||
<form method="GET" action="http://www.google.com/custom">
|
||||
<input type="hidden" name="domains" value="lists.busybox.net">
|
||||
<input type="hidden" name="sitesearch" value="lists.busybox.net">
|
||||
<input type="hidden" name="domains" value="buildroot.uclibc.org">
|
||||
<input type="hidden" name="sitesearch" value="buildroot.uclibc.org">
|
||||
<input type="text" name="q" size="31" maxlength="255" value="">
|
||||
<br>
|
||||
<input type="submit" name="sa" value="search the mailing list archives">
|
||||
|
||||
@@ -1,171 +0,0 @@
|
||||
Infrastructure for autotools-based packages
|
||||
-------------------------------------------
|
||||
|
||||
[[autotargets-tutorial]]
|
||||
|
||||
+AUTOTARGETS+ tutorial
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
First, let's see how to write a +.mk+ file for an autotools-based
|
||||
package, with an example :
|
||||
|
||||
------------------------
|
||||
01: #############################################################
|
||||
02: #
|
||||
03: # libfoo
|
||||
04: #
|
||||
05: #############################################################
|
||||
06: LIBFOO_VERSION = 1.0
|
||||
07: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
|
||||
08: LIBFOO_SITE = http://www.foosoftware.org/download
|
||||
09: LIBFOO_INSTALL_STAGING = YES
|
||||
10: LIBFOO_INSTALL_TARGET = YES
|
||||
11: LIBFOO_CONF_OPT = --enable-shared
|
||||
12: LIBFOO_DEPENDENCIES = libglib2 host-pkg-config
|
||||
13:
|
||||
14: $(eval $(call AUTOTARGETS))
|
||||
------------------------
|
||||
|
||||
On line 6, we declare the version of the package.
|
||||
|
||||
On line 7 and 8, we declare the name of the tarball and the location
|
||||
of the tarball on the Web. Buildroot will automatically download the
|
||||
tarball from this location.
|
||||
|
||||
On line 9, we tell Buildroot to install the package to the staging
|
||||
directory. The staging directory, located in +output/staging/+
|
||||
is the directory where all the packages are installed, including their
|
||||
development files, etc. By default, packages are not installed to the
|
||||
staging directory, since usually, only libraries need to be installed in
|
||||
the staging directory: their development files are needed to compile
|
||||
other libraries or applications depending on them. Also by default, when
|
||||
staging installation is enabled, packages are installed in this location
|
||||
using the +make install+ command.
|
||||
|
||||
On line 10, we tell Buildroot to also install the package to the
|
||||
target directory. This directory contains what will become the root
|
||||
filesystem running on the target. Usually, we try not to install header
|
||||
files and to install stripped versions of the binary. By default, target
|
||||
installation is enabled, so in fact, this line is not strictly
|
||||
necessary. Also by default, packages are installed in this location
|
||||
using the +make install+ command.
|
||||
|
||||
On line 11, we tell Buildroot to pass a custom configure option, that
|
||||
will be passed to the +./configure+ script before configuring
|
||||
and building the package.
|
||||
|
||||
On line 12, we declare our dependencies, so that they are built
|
||||
before the build process of our package starts.
|
||||
|
||||
Finally, on line line 14, we invoke the +AUTOTARGETS+
|
||||
macro that generates all the Makefile rules that actually allows the
|
||||
package to be built.
|
||||
|
||||
[[autotargets-reference]]
|
||||
|
||||
+AUTOTARGETS+ reference
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The main macro of the autotools package infrastructure is
|
||||
+AUTOTARGETS+. It has the same number of arguments and the
|
||||
same semantic as the +GENTARGETS+ macro, which is the main
|
||||
macro of the generic package infrastructure. For autotools packages, the
|
||||
ability to have target and host packages is also available (and is
|
||||
actually widely used).
|
||||
|
||||
Just like the generic infrastructure, the autotools infrastructure
|
||||
works by defining a number of variables before calling the
|
||||
+AUTOTARGETS+ macro.
|
||||
|
||||
First, all the package metadata information variables that exist in the
|
||||
generic infrastructure also exist in the autotools infrastructure:
|
||||
+LIBFOO_VERSION+, +LIBFOO_SOURCE+,
|
||||
+LIBFOO_PATCH+, +LIBFOO_SITE+,
|
||||
+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+,
|
||||
+LIBFOO_INSTALL_STAGING+, +LIBFOO_INSTALL_TARGET+.
|
||||
|
||||
A few additional variables, specific to the autotools infrastructure,
|
||||
can also be defined. Many of them are only useful in very specific
|
||||
cases, typical packages will therefore only use a few of them.
|
||||
|
||||
* +LIBFOO_SUBDIR+ may contain the name of a subdirectory
|
||||
inside the package that contains the configure script. This is useful,
|
||||
if for example, the main configure script is not at the root of the
|
||||
tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is
|
||||
not specified, it defaults to +LIBFOO_SUBDIR+.
|
||||
|
||||
* +LIBFOO_CONF_ENV+, to specify additional environment
|
||||
variables to pass to the configure script. By default, empty.
|
||||
|
||||
* +LIBFOO_CONF_OPT+, to specify additional configure
|
||||
options to pass to the configure script. By default, empty.
|
||||
|
||||
* +LIBFOO_MAKE+, to specify an alternate +make+
|
||||
command. This is typically useful when parallel make is enabled in
|
||||
the configuration (using +BR2_JLEVEL+) but that this
|
||||
feature should be disabled for the given package, for one reason or
|
||||
another. By default, set to +$(MAKE)+. If parallel building
|
||||
is not supported by the package, then it should be set to
|
||||
+LIBFOO_MAKE=$(MAKE1)+.
|
||||
|
||||
* +LIBFOO_MAKE_ENV+, to specify additional environment
|
||||
variables to pass to make in the build step. These are passed before
|
||||
the +make+ command. By default, empty.
|
||||
|
||||
* +LIBFOO_MAKE_OPT+, to specify additional variables to
|
||||
pass to make in the build step. These are passed after the
|
||||
+make+ command. By default, empty.
|
||||
|
||||
* +LIBFOO_AUTORECONF+, tells whether the package should
|
||||
be autoreconfigured or not (i.e, if the configure script and
|
||||
Makefile.in files should be re-generated by re-running autoconf,
|
||||
automake, libtool, etc.). Valid values are +YES+ and
|
||||
+NO+. By default, the value is +NO+
|
||||
|
||||
* +LIBFOO_AUTORECONF_OPT+ to specify additional options
|
||||
passed to the 'autoreconf' program if
|
||||
+LIBFOO_AUTORECONF=YES+. By default, empty.
|
||||
|
||||
* +LIBFOO_LIBTOOL_PATCH+ tells whether the Buildroot
|
||||
patch to fix libtool cross-compilation issues should be applied or
|
||||
not. Valid values are +YES+ and +NO+. By
|
||||
default, the value is +YES+
|
||||
|
||||
* +LIBFOO_INSTALL_STAGING_OPT+ contains the make options
|
||||
used to install the package to the staging directory. By default, the
|
||||
value is +DESTDIR=$$(STAGING_DIR) install+, which is
|
||||
correct for most autotools packages. It is still possible to override
|
||||
it.
|
||||
|
||||
* +LIBFOO_INSTALL_TARGET_OPT+ contains the make options
|
||||
used to install the package to the target directory. By default, the
|
||||
value is +DESTDIR=$$(TARGET_DIR) install+. The default
|
||||
value is correct for most autotools packages, but it is still possible
|
||||
to override it if needed.
|
||||
|
||||
* +LIBFOO_CLEAN_OPT+ contains the make options used to
|
||||
clean the package. By default, the value is +clean+.
|
||||
|
||||
* +LIBFOO_UNINSTALL_STAGING_OPT+, contains the make
|
||||
options used to uninstall the package from the staging directory. By
|
||||
default, the value is +DESTDIR=$$(STAGING_DIR) uninstall+.
|
||||
|
||||
* +LIBFOO_UNINSTALL_TARGET_OPT+, contains the make
|
||||
options used to uninstall the package from the target directory. By
|
||||
default, the value is +DESTDIR=$$(TARGET_DIR) uninstall+.
|
||||
|
||||
With the autotools infrastructure, all the steps required to build
|
||||
and install the packages are already defined, and they generally work
|
||||
well for most autotools-based packages. However, when required, it is
|
||||
still possible to customize what is done in any particular step:
|
||||
|
||||
* By adding a post-operation hook (after extract, patch, configure,
|
||||
build or install). See the reference documentation of the generic
|
||||
infrastructure for details.
|
||||
|
||||
* By overriding one of the steps. For example, even if the autotools
|
||||
infrastructure is used, if the package +.mk+ file defines its
|
||||
own +LIBFOO_CONFIGURE_CMDS+ variable, it will be used
|
||||
instead of the default autotools one. However, using this method
|
||||
should be restricted to very specific cases. Do not use it in the
|
||||
general case.
|
||||
@@ -1,142 +0,0 @@
|
||||
Infrastructure for CMake-based packages
|
||||
---------------------------------------
|
||||
|
||||
[[cmaketargets-tutorial]]
|
||||
|
||||
+CMAKETARGETS+ tutorial
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
First, let's see how to write a +.mk+ file for a CMake-based package,
|
||||
with an example :
|
||||
|
||||
------------------------
|
||||
01: #############################################################
|
||||
02: #
|
||||
03: # libfoo
|
||||
04: #
|
||||
05: #############################################################
|
||||
06: LIBFOO_VERSION = 1.0
|
||||
07: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
|
||||
08: LIBFOO_SITE = http://www.foosoftware.org/download
|
||||
09: LIBFOO_INSTALL_STAGING = YES
|
||||
10: LIBFOO_INSTALL_TARGET = YES
|
||||
11: LIBFOO_CONF_OPT = -DBUILD_DEMOS=ON
|
||||
12: LIBFOO_DEPENDENCIES = libglib2 host-pkg-config
|
||||
13:
|
||||
14: $(eval $(call CMAKETARGETS))
|
||||
------------------------
|
||||
|
||||
On line 6, we declare the version of the package.
|
||||
|
||||
On line 7 and 8, we declare the name of the tarball and the location
|
||||
of the tarball on the Web. Buildroot will automatically download the
|
||||
tarball from this location.
|
||||
|
||||
On line 9, we tell Buildroot to install the package to the staging
|
||||
directory. The staging directory, located in +output/staging/+
|
||||
is the directory where all the packages are installed, including their
|
||||
development files, etc. By default, packages are not installed to the
|
||||
staging directory, since usually, only libraries need to be installed in
|
||||
the staging directory: their development files are needed to compile
|
||||
other libraries or applications depending on them. Also by default, when
|
||||
staging installation is enabled, packages are installed in this location
|
||||
using the +make install+ command.
|
||||
|
||||
On line 10, we tell Buildroot to also install the package to the
|
||||
target directory. This directory contains what will become the root
|
||||
filesystem running on the target. Usually, we try not to install header
|
||||
files and to install stripped versions of the binary. By default, target
|
||||
installation is enabled, so in fact, this line is not strictly
|
||||
necessary. Also by default, packages are installed in this location
|
||||
using the +make install+ command.
|
||||
|
||||
On line 11, we tell Buildroot to pass custom options to CMake when it is
|
||||
configuring the package.
|
||||
|
||||
On line 12, we declare our dependencies, so that they are built
|
||||
before the build process of our package starts.
|
||||
|
||||
Finally, on line line 14, we invoke the +CMAKETARGETS+
|
||||
macro that generates all the Makefile rules that actually allows the
|
||||
package to be built.
|
||||
|
||||
[[cmaketargets-reference]]
|
||||
|
||||
+CMAKETARGETS+ reference
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The main macro of the CMake package infrastructure is
|
||||
+CMAKETARGETS+. It has the same number of arguments and the same
|
||||
semantic as the +GENTARGETS+ macro, which is the main macro of the
|
||||
generic package infrastructure. For CMake packages, the ability to
|
||||
have target and host packages is also available.
|
||||
|
||||
Just like the generic infrastructure, the CMake infrastructure works
|
||||
by defining a number of variables before calling the +CMAKETARGETS+
|
||||
macro.
|
||||
|
||||
First, all the package metadata information variables that exist in
|
||||
the generic infrastructure also exist in the CMake infrastructure:
|
||||
+LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+,
|
||||
+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+,
|
||||
+LIBFOO_INSTALL_TARGET+.
|
||||
|
||||
A few additional variables, specific to the CMake infrastructure, can
|
||||
also be defined. Many of them are only useful in very specific cases,
|
||||
typical packages will therefore only use a few of them.
|
||||
|
||||
* +LIBFOO_SUBDIR+ may contain the name of a subdirectory inside the
|
||||
package that contains the main CMakeLists.txt file. This is useful,
|
||||
if for example, the main CMakeLists.txt file is not at the root of
|
||||
the tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is not
|
||||
specified, it defaults to +LIBFOO_SUBDIR+.
|
||||
|
||||
* +LIBFOO_CONF_ENV+, to specify additional environment variables to
|
||||
pass to CMake. By default, empty.
|
||||
|
||||
* +LIBFOO_CONF_OPT+, to specify additional configure options to pass
|
||||
to CMake. By default, empty.
|
||||
|
||||
* +LIBFOO_MAKE+, to specify an alternate +make+ command. This is
|
||||
typically useful when parallel make is enabled in the configuration
|
||||
(using +BR2_JLEVEL+) but that this feature should be disabled for
|
||||
the given package, for one reason or another. By default, set to
|
||||
+$(MAKE)+. If parallel building is not supported by the package,
|
||||
then it should be set to +LIBFOO_MAKE=$(MAKE1)+.
|
||||
|
||||
* +LIBFOO_MAKE_ENV+, to specify additional environment variables to
|
||||
pass to make in the build step. These are passed before the +make+
|
||||
command. By default, empty.
|
||||
|
||||
* +LIBFOO_MAKE_OPT+, to specify additional variables to pass to make
|
||||
in the build step. These are passed after the +make+ command. By
|
||||
default, empty.
|
||||
|
||||
* +LIBFOO_INSTALL_STAGING_OPT+ contains the make options used to
|
||||
install the package to the staging directory. By default, the value
|
||||
is +DESTDIR=$$(STAGING_DIR) install+, which is correct for most
|
||||
CMake packages. It is still possible to override it.
|
||||
|
||||
* +LIBFOO_INSTALL_TARGET_OPT+ contains the make options used to
|
||||
install the package to the target directory. By default, the value
|
||||
is +DESTDIR=$$(TARGET_DIR) install+. The default value is correct
|
||||
for most CMake packages, but it is still possible to override it if
|
||||
needed.
|
||||
|
||||
* +LIBFOO_CLEAN_OPT+ contains the make options used to clean the
|
||||
package. By default, the value is +clean+.
|
||||
|
||||
With the CMake infrastructure, all the steps required to build and
|
||||
install the packages are already defined, and they generally work well
|
||||
for most CMake-based packages. However, when required, it is still
|
||||
possible to customize what is done in any particular step:
|
||||
|
||||
* By adding a post-operation hook (after extract, patch, configure,
|
||||
build or install). See the reference documentation of the generic
|
||||
infrastructure for details.
|
||||
|
||||
* By overriding one of the steps. For example, even if the CMake
|
||||
infrastructure is used, if the package +.mk+ file defines its own
|
||||
+LIBFOO_CONFIGURE_CMDS+ variable, it will be used instead of the
|
||||
default CMake one. However, using this method should be restricted
|
||||
to very specific cases. Do not use it in the general case.
|
||||
@@ -1,10 +0,0 @@
|
||||
Conclusion
|
||||
----------
|
||||
|
||||
As you can see, adding a software package to Buildroot is simply a
|
||||
matter of writing a Makefile using an existing example and modifying it
|
||||
according to the compilation process required by the package.
|
||||
|
||||
If you package software that might be useful for other people, don't
|
||||
forget to send a patch to Buildroot developers!
|
||||
|
||||
@@ -1,133 +0,0 @@
|
||||
Package directory
|
||||
-----------------
|
||||
|
||||
First of all, create a directory under the +package+ directory for
|
||||
your software, for example +libfoo+.
|
||||
|
||||
Some packages have been grouped by topic in a sub-directory:
|
||||
+multimedia+, +java+, +x11r7+, and +games+. If your package fits in
|
||||
one of these categories, then create your package directory in these.
|
||||
|
||||
+Config.in+ file
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
Then, create a file named +Config.in+. This file will contain the
|
||||
option descriptions related to our +libfoo+ software that will be used
|
||||
and displayed in the configuration tool. It should basically contain :
|
||||
|
||||
---------------------------
|
||||
config BR2_PACKAGE_LIBFOO
|
||||
bool "libfoo"
|
||||
help
|
||||
This is a comment that explains what libfoo is.
|
||||
|
||||
http://foosoftware.org/libfoo/
|
||||
---------------------------
|
||||
|
||||
The +bool+ line, +help+ line and other meta-informations about the
|
||||
configuration option must be indented with one tab. The help text
|
||||
itself should be indented with one tab and two spaces, and it must
|
||||
mention the upstream URL of the project.
|
||||
|
||||
Of course, you can add other sub-options into a +if
|
||||
BR2_PACKAGE_LIBFOO...endif+ statement to configure particular things
|
||||
in your software. You can look at examples in other packages. The
|
||||
syntax of the +Config.in+ file is the same as the one for the kernel
|
||||
Kconfig file. The documentation for this syntax is available at
|
||||
http://lxr.free-electrons.com/source/Documentation/kbuild/kconfig-language.txt[]
|
||||
|
||||
Finally you have to add your new +libfoo/Config.in+ to
|
||||
+package/Config.in+ (or in a category subdirectory if you decided to
|
||||
put your package in one of the existing categories). The files
|
||||
included there are 'sorted alphabetically' per category and are 'NOT'
|
||||
supposed to contain anything but the 'bare' name of the package.
|
||||
|
||||
--------------------------
|
||||
source "package/libfoo/Config.in"
|
||||
--------------------------
|
||||
|
||||
The +Config.in+ file of your package must also ensure that
|
||||
dependencies are enabled. Typically, Buildroot uses the following
|
||||
rules:
|
||||
|
||||
* Use a +select+ type of dependency for dependencies on
|
||||
libraries. These dependencies are generally not obvious and it
|
||||
therefore make sense to have the kconfig system ensure that the
|
||||
dependencies are selected. For example, the _libgtk2_ package uses
|
||||
+select BR2_PACKAGE_LIBGLIB2+ to make sure this library is also
|
||||
enabled.
|
||||
|
||||
* Use a +depends on+ type of dependency when the user really needs to
|
||||
be aware of the dependency. Typically, Buildroot uses this type of
|
||||
dependency for dependencies on toolchain options (large file
|
||||
support, RPC support, IPV6 support), or for dependencies on "big"
|
||||
things, such as the X.org system. In some cases, especially
|
||||
dependency on toolchain options, it is recommended to add a
|
||||
+comment+ displayed when the option is not enabled, so that the user
|
||||
knows why the package is not available.
|
||||
|
||||
An example illustrates both the usage of +select+ and +depends on+.
|
||||
|
||||
--------------------------
|
||||
config BR2_PACKAGE_ACL
|
||||
bool "acl"
|
||||
select BR2_PACKAGE_ATTR
|
||||
depends on BR2_LARGEFILE
|
||||
help
|
||||
POSIX Access Control Lists, which are used to define more
|
||||
fine-grained discretionary access rights for files and
|
||||
directories.
|
||||
This package also provides libacl.
|
||||
|
||||
http://savannah.nongnu.org/projects/acl
|
||||
|
||||
comment "acl requires a toolchain with LARGEFILE support"
|
||||
depends on !BR2_LARGEFILE
|
||||
--------------------------
|
||||
|
||||
|
||||
Note that such dependencies will make sure that the dependency option
|
||||
is also enabled, but not necessarily built before your package. To do
|
||||
so, the dependency also needs to be expressed in the +.mk+ file of the
|
||||
package.
|
||||
|
||||
The +.mk+ file
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
Finally, here's the hardest part. Create a file named +libfoo.mk+. It
|
||||
describes how the package should be downloaded, configured, built,
|
||||
installed, etc.
|
||||
|
||||
Depending on the package type, the +.mk+ file must be written in a
|
||||
different way, using different infrastructures:
|
||||
|
||||
* *Makefiles for generic packages* (not using autotools or CMake):
|
||||
These are based on an infrastructure similar to the one used for
|
||||
autotools-based packages, but requires a little more work from the
|
||||
developer. They specify what should be done for the configuration,
|
||||
compilation, installation and cleanup of the package. This
|
||||
infrastructure must be used for all packages that do not use the
|
||||
autotools as their build system. In the future, other specialized
|
||||
infrastructures might be written for other build systems. We cover
|
||||
them through in a xref:gentargets-tutorial[tutorial] and a
|
||||
xref:gentargets-reference[reference].
|
||||
|
||||
* *Makefiles for autotools-based software* (autoconf, automake, etc.):
|
||||
We provide a dedicated infrastructure for such packages, since
|
||||
autotools is a very common build system. This infrastructure 'must'
|
||||
be used for new packages that rely on the autotools as their build
|
||||
system. We cover them through a xref:autotargets-tutorial[tutorial]
|
||||
and xref:autotargets-reference[reference].
|
||||
|
||||
* *Makefiles for cmake-based software*: We provide a dedicated
|
||||
infrastructure for such packages, as CMake is a more and more
|
||||
commonly used build system and has a standardized behaviour. This
|
||||
infrastructure 'must' be used for new packages that rely on
|
||||
CMake. We cover them through a xref:cmaketargets-tutorial[tutorial]
|
||||
and xref:cmaketargets-reference[reference].
|
||||
|
||||
* *Hand-written Makefiles:* These are currently obsolete, and no new
|
||||
manual Makefiles should be added. However, since there are still
|
||||
many of them in the tree, we keep them documented in a
|
||||
xref:handwritten-tutorial[tutorial].
|
||||
|
||||
@@ -1,294 +0,0 @@
|
||||
Infrastructure for packages with specific build systems
|
||||
-------------------------------------------------------
|
||||
|
||||
By 'packages with specific build systems' we mean all the packages
|
||||
whose build system is not one of the standard ones, such as
|
||||
'autotools' or 'CMake'. This typically includes packages whose build
|
||||
system is based on hand-written Makefiles or shell scripts.
|
||||
|
||||
[[gentargets-tutorial]]
|
||||
|
||||
+GENTARGETS+ Tutorial
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
------------------------------
|
||||
01: #############################################################
|
||||
02: #
|
||||
03: # libfoo
|
||||
04: #
|
||||
05: #############################################################
|
||||
06: LIBFOO_VERSION = 1.0
|
||||
07: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
|
||||
08: LIBFOO_SITE = http://www.foosoftware.org/download
|
||||
09: LIBFOO_INSTALL_STAGING = YES
|
||||
10: LIBFOO_DEPENDENCIES = host-libaaa libbbb
|
||||
11:
|
||||
12: define LIBFOO_BUILD_CMDS
|
||||
13: $(MAKE) CC=$(TARGET_CC) LD=$(TARGET_LD) -C $(@D) all
|
||||
14: endef
|
||||
15:
|
||||
16: define LIBFOO_INSTALL_STAGING_CMDS
|
||||
17: $(INSTALL) -D -m 0755 $(@D)/libfoo.a $(STAGING_DIR)/usr/lib/libfoo.a
|
||||
18: $(INSTALL) -D -m 0644 $(@D)/foo.h $(STAGING_DIR)/usr/include/foo.h
|
||||
19: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(STAGING_DIR)/usr/lib
|
||||
20: endef
|
||||
21:
|
||||
22: define LIBFOO_INSTALL_TARGET_CMDS
|
||||
23: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(TARGET_DIR)/usr/lib
|
||||
24: $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d
|
||||
25: endef
|
||||
26:
|
||||
27: $(eval $(call GENTARGETS))
|
||||
--------------------------------
|
||||
|
||||
The Makefile begins on line 6 to 8 with metadata information: the
|
||||
version of the package (+LIBFOO_VERSION+), the name of the
|
||||
tarball containing the package (+LIBFOO_SOURCE+) and the
|
||||
Internet location at which the tarball can be downloaded
|
||||
(+LIBFOO_SITE+). All variables must start with the same prefix,
|
||||
+LIBFOO_+ in this case. This prefix is always the uppercased
|
||||
version of the package name (see below to understand where the package
|
||||
name is defined).
|
||||
|
||||
On line 9, we specify that this package wants to install something to
|
||||
the staging space. This is often needed for libraries, since they must
|
||||
install header files and other development files in the staging space.
|
||||
This will ensure that the commands listed in the
|
||||
+LIBFOO_INSTALL_STAGING_CMDS+ variable will be executed.
|
||||
|
||||
On line 10, we specify the list of dependencies this package relies
|
||||
on. These dependencies are listed in terms of lower-case package names,
|
||||
which can be packages for the target (without the +host-+
|
||||
prefix) or packages for the host (with the +host-+) prefix).
|
||||
Buildroot will ensure that all these packages are built and installed
|
||||
'before' the current package starts its configuration.
|
||||
|
||||
The rest of the Makefile defines what should be done at the different
|
||||
steps of the package configuration, compilation and installation.
|
||||
+LIBFOO_BUILD_CMDS+ tells what steps should be performed to
|
||||
build the package. +LIBFOO_INSTALL_STAGING_CMDS+ tells what
|
||||
steps should be performed to install the package in the staging space.
|
||||
+LIBFOO_INSTALL_TARGET_CMDS+ tells what steps should be
|
||||
performed to install the package in the target space.
|
||||
|
||||
All these steps rely on the +$(@D)+ variable, which
|
||||
contains the directory where the source code of the package has been
|
||||
extracted.
|
||||
|
||||
Finally, on line 27, we call the +GENTARGETS+ which
|
||||
generates, according to the variables defined previously, all the
|
||||
Makefile code necessary to make your package working.
|
||||
|
||||
[[gentargets-reference]]
|
||||
|
||||
+GENTARGETS+ Reference
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The +GENTARGETS+ macro takes one optional argument. This argument can
|
||||
be used to tell if the package is a target package (cross-compiled for
|
||||
the target) or a host package (natively compiled for the host). If
|
||||
unspecified, it is assumed that it is a target package. See below for
|
||||
details.
|
||||
|
||||
For a given package, in a single +.mk+ file, it is possible to call
|
||||
GENTARGETS twice, once to create the rules to generate a target
|
||||
package and once to create the rules to generate a host package:
|
||||
|
||||
----------------------
|
||||
$(eval $(call GENTARGETS))
|
||||
$(eval $(call GENTARGETS,host))
|
||||
----------------------
|
||||
|
||||
This might be useful if the compilation of the target package requires
|
||||
some tools to be installed on the host. If the package name is
|
||||
+libfoo+, then the name of the package for the target is also
|
||||
+libfoo+, while the name of the package for the host is
|
||||
+host-libfoo+. These names should be used in the DEPENDENCIES
|
||||
variables of other packages, if they depend on +libfoo+ or
|
||||
+host-libfoo+.
|
||||
|
||||
The call to the +GENTARGETS+ macro *must* be at the end of the +.mk+
|
||||
file, after all variable definitions.
|
||||
|
||||
For the target package, the +GENTARGETS+ uses the variables defined by
|
||||
the .mk file and prefixed by the uppercased package name:
|
||||
+LIBFOO_*+. For the host package, it uses the +HOST_LIBFOO_*+. For
|
||||
'some' variables, if the +HOST_LIBFOO_+ prefixed variable doesn't
|
||||
exist, the package infrastructure uses the corresponding variable
|
||||
prefixed by +LIBFOO_+. This is done for variables that are likely to
|
||||
have the same value for both the target and host packages. See below
|
||||
for details.
|
||||
|
||||
The list of variables that can be set in a +.mk+ file to give metadata
|
||||
information is (assuming the package name is +libfoo+) :
|
||||
|
||||
* +LIBFOO_VERSION+, mandatory, must contain the version of the
|
||||
package. Note that if +HOST_LIBFOO_VERSION+ doesn't exist, it is
|
||||
assumed to be the same as +LIBFOO_VERSION+. It can also be a
|
||||
Subversion or Git branch or tag, for packages that are fetched
|
||||
directly from their revision control system. +
|
||||
Example: +LIBFOO_VERSION = 0.1.2+
|
||||
|
||||
* +LIBFOO_SOURCE+ may contain the name of the tarball of
|
||||
the package. If +HOST_LIBFOO_SOURCE+ is not specified, it
|
||||
defaults to +LIBFOO_VERSION+. If none are specified, then
|
||||
the value is assumed to be
|
||||
+packagename-$(LIBFOO_VERSION).tar.gz+. +
|
||||
Example: +LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2+
|
||||
|
||||
* +LIBFOO_PATCH+ may contain the name of a patch, that will be
|
||||
downloaded from the same location as the tarball indicated in
|
||||
+LIBFOO_SOURCE+. If +HOST_LIBFOO_PATCH+ is not specified, it
|
||||
defaults to +LIBFOO_PATCH+. Also note that another mechanism is
|
||||
available to patch a package: all files of the form
|
||||
+packagename-packageversion-description.patch+ present in the
|
||||
package directory inside Buildroot will be applied to the package
|
||||
after extraction.
|
||||
|
||||
* +LIBFOO_SITE+ may contain the Internet location of the package. It
|
||||
can either be the HTTP or FTP location of a tarball, or the URL of a
|
||||
Git or Subversion repository (see +LIBFOO_SITE_METHOD+ below). If
|
||||
+HOST_LIBFOO_SITE+ is not specified, it defaults to
|
||||
+LIBFOO_SITE+. If none are specified, then the location is assumed
|
||||
to be
|
||||
+http://$$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/packagename+. +
|
||||
Examples: +LIBFOO_SITE=http://www.libfoosoftware.org/libfoo+ +
|
||||
+LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor/+
|
||||
|
||||
* +LIBFOO_SITE_METHOD+ may contain the method to fetch the package
|
||||
source code. It can either be +wget+ (for normal FTP/HTTP downloads
|
||||
of tarballs), +svn+, +git+ or +bzr+. When not specified, it is
|
||||
guessed from the URL given in +LIBFOO_SITE+: +svn://+, +git://+ and
|
||||
+bzr://+ URLs will use the +svn+, +git+ and +bzr+ methods
|
||||
respectively. All other URL-types will use the +wget+ method. So for
|
||||
example, in the case of a package whose source code is available
|
||||
through Subversion repository on HTTP, one 'must' specifiy
|
||||
+LIBFOO_SITE_METHOD=svn+. For +svn+ and +git+ methods, what
|
||||
Buildroot does is a checkout/clone of the repository which is then
|
||||
tarballed and stored into the download cache. Next builds will not
|
||||
checkout/clone again, but will use the tarball directly. When
|
||||
+HOST_LIBFOO_SITE_METHOD+ is not specified, it defaults to the value
|
||||
of +LIBFOO_SITE_METHOD+. See +package/multimedia/tremor/+ for an
|
||||
example.
|
||||
|
||||
* +LIBFOO_DEPENDENCIES+ lists the dependencies (in terms of package
|
||||
name) that are required for the current target package to
|
||||
compile. These dependencies are guaranteed to be compiled and
|
||||
installed before the configuration of the current package starts. In
|
||||
a similar way, +HOST_LIBFOO_DEPENDENCIES+ lists the dependency for
|
||||
the current host package.
|
||||
|
||||
* +LIBFOO_INSTALL_STAGING+ can be set to +YES+ or +NO+ (default). If
|
||||
set to +YES+, then the commands in the +LIBFOO_INSTALL_STAGING_CMDS+
|
||||
variables are executed to install the package into the staging
|
||||
directory.
|
||||
|
||||
* +LIBFOO_INSTALL_TARGET+ can be set to +YES+ (default) or +NO+. If
|
||||
set to +YES+, then the commands in the +LIBFOO_INSTALL_TARGET_CMDS+
|
||||
variables are executed to install the package into the target
|
||||
directory.
|
||||
|
||||
The recommended way to define these variables is to use the following
|
||||
syntax:
|
||||
|
||||
----------------------
|
||||
LIBFOO_VERSION = 2.32
|
||||
----------------------
|
||||
|
||||
Now, the variables that define what should be performed at the
|
||||
different steps of the build process.
|
||||
|
||||
* +LIBFOO_CONFIGURE_CMDS+, used to list the actions to be performed to
|
||||
configure the package before its compilation
|
||||
|
||||
* +LIBFOO_BUILD_CMDS+, used to list the actions to be performed to
|
||||
compile the package
|
||||
|
||||
* +HOST_LIBFOO_INSTALL_CMDS+, used to list the actions to be performed
|
||||
to install the package, when the package is a host package. The
|
||||
package must install its files to the directory given by
|
||||
+$(HOST_DIR)+. All files, including development files such as
|
||||
headers should be installed, since other packages might be compiled
|
||||
on top of this package.
|
||||
|
||||
* +LIBFOO_INSTALL_TARGET_CMDS+, used to list the actions to be
|
||||
performed to install the package to the target directory, when the
|
||||
package is a target package. The package must install its files to
|
||||
the directory given by +$(TARGET_DIR)+. Only the files required for
|
||||
'documentation' and 'execution' of the package should be
|
||||
installed. Header files should not be installed, they will be copied
|
||||
to the target, if the +development files in target filesystem+
|
||||
option is selected.
|
||||
|
||||
* +LIBFOO_INSTALL_STAGING_CMDS+, used to list the actions to be
|
||||
performed to install the package to the staging directory, when the
|
||||
package is a target package. The package must install its files to
|
||||
the directory given by +$(STAGING_DIR)+. All development files
|
||||
should be installed, since they might be needed to compile other
|
||||
packages.
|
||||
|
||||
* +LIBFOO_CLEAN_CMDS+, used to list the actions to perform to clean up
|
||||
the build directory of the package.
|
||||
|
||||
* +LIBFOO_UNINSTALL_TARGET_CMDS+, used to list the actions to
|
||||
uninstall the package from the target directory +$(TARGET_DIR)+
|
||||
|
||||
* +LIBFOO_UNINSTALL_STAGING_CMDS+, used to list the actions to
|
||||
uninstall the package from the staging directory +$(STAGING_DIR)+.
|
||||
|
||||
The preferred way to define these variables is:
|
||||
|
||||
----------------------
|
||||
define LIBFOO_CONFIGURE_CMDS
|
||||
action 1
|
||||
action 2
|
||||
action 3
|
||||
endef
|
||||
----------------------
|
||||
|
||||
In the action definitions, you can use the following variables:
|
||||
|
||||
* +$(@D)+, which contains the directory in which the package source
|
||||
code has been uncompressed.
|
||||
|
||||
* +$(TARGET_CC)+, +$(TARGET_LD)+, etc. to get the target
|
||||
cross-compilation utilities
|
||||
|
||||
* +$(TARGET_CROSS)+ to get the cross-compilation toolchain prefix
|
||||
|
||||
* Of course the +$(HOST_DIR)+, +$(STAGING_DIR)+ and +$(TARGET_DIR)+
|
||||
variables to install the packages properly.
|
||||
|
||||
The last feature of the generic infrastructure is the ability to add
|
||||
hooks. These define further actions to perform after existing steps.
|
||||
Most hooks aren't really useful for generic packages, since the +.mk+
|
||||
file already has full control over the actions performed in each step
|
||||
of the package construction. The hooks are more useful for packages
|
||||
using the autotools infrastructure described below. However, since
|
||||
they are provided by the generic infrastructure, they are documented
|
||||
here. The exception is +LIBFOO_POST_PATCH_HOOKS+. Patching the
|
||||
package is not user definable, so +LIBFOO_POST_PATCH_HOOKS+ will be
|
||||
userful for generic packages.
|
||||
|
||||
The following hook points are available:
|
||||
|
||||
* +LIBFOO_POST_PATCH_HOOKS+
|
||||
* +LIBFOO_PRE_CONFIGURE_HOOKS+
|
||||
* +LIBFOO_POST_CONFIGURE_HOOKS+
|
||||
* +LIBFOO_POST_BUILD_HOOKS+
|
||||
* +LIBFOO_POST_INSTALL_HOOKS+ (for host packages only)
|
||||
* +LIBFOO_POST_INSTALL_STAGING_HOOKS+ (for target packages only)
|
||||
* +LIBFOO_POST_INSTALL_TARGET_HOOKS+ (for target packages only)
|
||||
|
||||
These variables are 'lists' of variable names containing actions to be
|
||||
performed at this hook point. This allows several hooks to be
|
||||
registered at a given hook point. Here is an example:
|
||||
|
||||
----------------------
|
||||
define LIBFOO_POST_PATCH_FIXUP
|
||||
action1
|
||||
action2
|
||||
endef
|
||||
|
||||
LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP
|
||||
----------------------
|
||||
@@ -1,44 +0,0 @@
|
||||
Gettext integration and interaction with packages
|
||||
-------------------------------------------------
|
||||
|
||||
Many packages that support internationalization use the gettext
|
||||
library. Dependencies for this library are fairly complicated and
|
||||
therefore, deserves some explanation.
|
||||
|
||||
The 'uClibc' C library doesn't implement gettext functionality,
|
||||
therefore with this C library, a separate gettext must be compiled. On
|
||||
the other hand, the 'glibc' C library does integrate its own gettext,
|
||||
and in this case, the separate gettext library should not be compiled,
|
||||
because it creates various kinds of build failures.
|
||||
|
||||
Additionally, some packages (such as +libglib2+) do require gettext
|
||||
unconditionally, while other packages (those who support
|
||||
+--disable-nls+ in general) only require gettext when locale support
|
||||
is enabled.
|
||||
|
||||
Therefore, Buildroot defines two configuration options:
|
||||
|
||||
* +BR2_NEEDS_GETTEXT+, which is true as soon as the toolchain doesn't
|
||||
provide its own gettext implementation
|
||||
|
||||
* +BR2_NEEDS_GETTEXT_IF_LOCALE+, which is true if the toolchain
|
||||
doesn't provide its own gettext implementation and if locale support
|
||||
is enabled
|
||||
|
||||
Therefore, packages that unconditionally need gettext should:
|
||||
|
||||
* Use +select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT+ and possibly
|
||||
+select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT+, if libintl is
|
||||
also needed
|
||||
|
||||
* Use +$(if $(BR2_NEEDS_GETTEXT),gettext)+ in the package
|
||||
+DEPENDENCIES+ variable
|
||||
|
||||
Packages that need gettext only when locale support is enabled should:
|
||||
|
||||
* Use +select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE+ and
|
||||
possibly +select BR2_PACKAGE_LIBINTL if
|
||||
BR2_NEEDS_GETTEXT_IF_LOCALE+, if libintl is also needed
|
||||
|
||||
* Use +$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)+ in the package
|
||||
+DEPENDENCIES+ variable
|
||||
@@ -1,167 +0,0 @@
|
||||
[[handwritten-tutorial]]
|
||||
|
||||
Manual Makefile
|
||||
---------------
|
||||
|
||||
*NOTE: new manual makefiles should not be created, and existing manual
|
||||
makefiles should be converted either to the generic, autotools or
|
||||
cmake infrastructure. This section is only kept to document the
|
||||
existing manual makefiles and to help understand how they work.*
|
||||
|
||||
------------------------
|
||||
01: #############################################################
|
||||
02: #
|
||||
03: # libfoo
|
||||
04: #
|
||||
05: #############################################################
|
||||
06: LIBFOO_VERSION:=1.0
|
||||
07: LIBFOO_SOURCE:=libfoo-$(LIBFOO_VERSION).tar.gz
|
||||
08: LIBFOO_SITE:=http://www.foosoftware.org/downloads
|
||||
09: LIBFOO_DIR:=$(BUILD_DIR)/foo-$(FOO_VERSION)
|
||||
10: LIBFOO_BINARY:=foo
|
||||
11: LIBFOO_TARGET_BINARY:=usr/bin/foo
|
||||
12:
|
||||
13: $(DL_DIR)/$(LIBFOO_SOURCE):
|
||||
14: $(call DOWNLOAD,$(LIBFOO_SITE),$(LIBFOO_SOURCE))
|
||||
15:
|
||||
16: $(LIBFOO_DIR)/.source: $(DL_DIR)/$(LIBFOO_SOURCE)
|
||||
17: $(ZCAT) $(DL_DIR)/$(LIBFOO_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
|
||||
18: touch $@
|
||||
19:
|
||||
20: $(LIBFOO_DIR)/.configured: $(LIBFOO_DIR)/.source
|
||||
21: (cd $(LIBFOO_DIR); rm -rf config.cache; \
|
||||
22: $(TARGET_CONFIGURE_OPTS) \
|
||||
23: $(TARGET_CONFIGURE_ARGS) \
|
||||
24: ./configure \
|
||||
25: --target=$(GNU_TARGET_NAME) \
|
||||
26: --host=$(GNU_TARGET_NAME) \
|
||||
27: --build=$(GNU_HOST_NAME) \
|
||||
28: --prefix=/usr \
|
||||
29: --sysconfdir=/etc \
|
||||
30: )
|
||||
31: touch $@
|
||||
32:
|
||||
33: $(LIBFOO_DIR)/$(LIBFOO_BINARY): $(LIBFOO_DIR)/.configured
|
||||
34: $(MAKE) CC=$(TARGET_CC) -C $(LIBFOO_DIR)
|
||||
35:
|
||||
36: $(TARGET_DIR)/$(LIBFOO_TARGET_BINARY): $(LIBFOO_DIR)/$(LIBFOO_BINARY)
|
||||
37: $(MAKE) DESTDIR=$(TARGET_DIR) -C $(LIBFOO_DIR) install-strip
|
||||
38: rm -Rf $(TARGET_DIR)/usr/man
|
||||
39:
|
||||
40: libfoo: uclibc ncurses $(TARGET_DIR)/$(LIBFOO_TARGET_BINARY)
|
||||
41:
|
||||
42: libfoo-source: $(DL_DIR)/$(LIBFOO_SOURCE)
|
||||
43:
|
||||
44: libfoo-clean:
|
||||
45: $(MAKE) prefix=$(TARGET_DIR)/usr -C $(LIBFOO_DIR) uninstall
|
||||
46: -$(MAKE) -C $(LIBFOO_DIR) clean
|
||||
47:
|
||||
48: libfoo-dirclean:
|
||||
49: rm -rf $(LIBFOO_DIR)
|
||||
50:
|
||||
51: #############################################################
|
||||
52: #
|
||||
53: # Toplevel Makefile options
|
||||
54: #
|
||||
55: #############################################################
|
||||
56: ifeq ($(BR2_PACKAGE_LIBFOO),y)
|
||||
57: TARGETS+=libfoo
|
||||
58: endif
|
||||
------------------------
|
||||
|
||||
First of all, this Makefile example works for a package which
|
||||
comprises a single binary executable. For other software, such as
|
||||
libraries or more complex stuff with multiple binaries, it must be
|
||||
qqadapted. For examples look at the other +*.mk+ files in the
|
||||
+package+ directory.
|
||||
|
||||
At lines 6-11, a couple of useful variables are defined:
|
||||
|
||||
* +LIBFOO_VERSION+: The version of 'libfoo' that should be downloaded.
|
||||
|
||||
* +LIBFOO_SOURCE+: The name of the tarball of 'libfoo' on the download
|
||||
website or FTP site. As you can see +LIBFOO_VERSION+ is used.
|
||||
|
||||
* +LIBFOO_SITE+: The HTTP or FTP site from which 'libfoo' archive is
|
||||
downloaded. It must include the complete path to the directory where
|
||||
+LIBFOO_SOURCE+ can be found.
|
||||
|
||||
* +LIBFOO_DIR+: The directory into which the software will be
|
||||
configured and compiled. Basically, it's a subdirectory of
|
||||
+BUILD_DIR+ which is created upon decompression of the tarball.
|
||||
|
||||
* +LIBFOO_BINARY+: Software binary name. As said previously, this is
|
||||
an example for a package with a single binary.
|
||||
|
||||
* +LIBFOO_TARGET_BINARY+: The full path of the binary inside the
|
||||
target filesystem. Lines 13-14 define a target that downloads the
|
||||
tarball from the remote site to the download directory (+DL_DIR+).
|
||||
|
||||
Lines 16-18 define a target and associated rules that uncompress the
|
||||
downloaded tarball. As you can see, this target depends on the tarball
|
||||
file so that the previous target (lines 13-14) is called before
|
||||
executing the rules of the current target. Uncompressing is followed
|
||||
by 'touching' a hidden file to mark the software as having been
|
||||
uncompressed. This trick is used everywhere in a Buildroot Makefile to
|
||||
split steps (download, uncompress, configure, compile, install) while
|
||||
still having correct dependencies.
|
||||
|
||||
Lines 20-31 define a target and associated rules that configure the
|
||||
software. It depends on the previous target (the hidden +.source+
|
||||
file) so that we are sure the software has been uncompressed. In order
|
||||
to configure the package, it basically runs the well-known
|
||||
+./configure+ script. As we may be doing cross-compilation, +target+,
|
||||
+host+ and +build+ arguments are given. The prefix is also set to
|
||||
+/usr+, not because the software will be installed in +/usr+ on your
|
||||
host system, but because the software will be installed in + /usr+ on
|
||||
the target filesystem. Finally it creates a +.configured+ file to mark
|
||||
the software as configured.
|
||||
|
||||
Lines 33-34 define a target and a rule that compile the software. This
|
||||
target will create the binary file in the compilation directory and
|
||||
depends on the software being already configured (hence the reference
|
||||
to the +.configured+ file). It basically runs +make+ inside the
|
||||
source directory.
|
||||
|
||||
Lines 36-38 define a target and associated rules that install the
|
||||
software inside the target filesystem. They depend on the binary file
|
||||
in the source directory to make sure the software has been
|
||||
compiled. They use the +install-strip+ target of the software
|
||||
+Makefile+ by passing a +DESTDIR+ argument so that the +Makefile+
|
||||
doesn't try to install the software in the host +/usr+ but rather in
|
||||
the target +/usr+. After the installation, the +/usr/man + directory
|
||||
inside the target filesystem is removed to save space.
|
||||
|
||||
Line 40 defines the main target of the software — the one that
|
||||
will eventually be used by the top level +Makefile+ to download,
|
||||
compile, and then install this package. This target should first of
|
||||
all depend on all needed dependencies of the software (in our example,
|
||||
'uclibc' and 'ncurses') and also depend on the final binary. This last
|
||||
dependency will call all previous dependencies in the correct order.
|
||||
|
||||
Line 42 defines a simple target that only downloads the code
|
||||
source. This is not used during normal operation of Buildroot, but is
|
||||
needed if you intend to download all required sources at once for
|
||||
later offline build. Note that if you add a new package, providing a
|
||||
+libfoo-source+ target is 'mandatory' to support users that wish to do
|
||||
offline-builds. Furthermore, it eases checking if all package-sources
|
||||
are downloadable.
|
||||
|
||||
Lines 44-46 define a simple target to clean the software build by
|
||||
calling the Makefile with the appropriate options. The +-clean+
|
||||
target should run +make clean+ on $(BUILD_DIR)/package-version and
|
||||
MUST uninstall all files of the package from $(STAGING_DIR) and from
|
||||
$(TARGET_DIR).
|
||||
|
||||
Lines 48-49 define a simple target to completely remove the directory
|
||||
in which the software was uncompressed, configured and compiled. The
|
||||
+-dirclean+ target MUST completely rm $(BUILD_DIR)/ package-version.
|
||||
|
||||
Lines 51-58 add the target +libfoo+ to the list of targets to be
|
||||
compiled by Buildroot, by first checking if the configuration option
|
||||
for this package has been enabled using the configuration tool. If so,
|
||||
it then "subscribes" this package to be compiled by adding
|
||||
the package to the TARGETS global variable. The name added to the
|
||||
TARGETS global variable is the name of this package's target, as
|
||||
defined on line 40, which is used by Buildroot to download, compile,
|
||||
and then install this package.
|
||||
@@ -1,21 +0,0 @@
|
||||
Adding new packages to Buildroot
|
||||
================================
|
||||
|
||||
This section covers how new packages (userspace libraries or
|
||||
applications) can be integrated into Buildroot. It also shows how
|
||||
existing packages are integrated, which is needed for fixing issues or
|
||||
tuning their configuration.
|
||||
|
||||
include::adding-packages-directory.txt[]
|
||||
|
||||
include::adding-packages-gentargets.txt[]
|
||||
|
||||
include::adding-packages-autotargets.txt[]
|
||||
|
||||
include::adding-packages-cmaketargets.txt[]
|
||||
|
||||
include::adding-packages-handwritten.txt[]
|
||||
|
||||
include::adding-packages-gettext.txt[]
|
||||
|
||||
include::adding-packages-conclusion.txt[]
|
||||
@@ -1,35 +0,0 @@
|
||||
Creating your own board support
|
||||
===============================
|
||||
|
||||
Creating your own board support in Buildroot allows users of a
|
||||
particular hardware platform to easily build a system that is known to
|
||||
work.
|
||||
|
||||
To do so, you need to create a normal Buildroot configuration that
|
||||
builds a basic system for the hardware: toolchain, kernel, bootloader,
|
||||
filesystem and a simple Busybox-only userspace. No specific package
|
||||
should be selected: the configuration should be as minimal as
|
||||
possible, and should only build a working basic Busybox system for the
|
||||
target platform. You can of course use more complicated configurations
|
||||
for your internal projects, but the Buildroot project will only
|
||||
integrate basic board configurations. This is because package
|
||||
selections are highly application-specific.
|
||||
|
||||
Once you have a known working configuration, run +make
|
||||
savedefconfig+. This will generate a minimal +defconfig+ file at the
|
||||
root of the Buildroot source tree. Move this file into the +configs/+
|
||||
directory, and rename it +MYBOARD_defconfig+.
|
||||
|
||||
It is recommended to use as much as possible upstream versions of the
|
||||
Linux kernel and bootloaders, and to use as much as possible default
|
||||
kernel and bootloader configurations. If they are incorrect for your
|
||||
platform, we encourage you to send fixes to the corresponding upstream
|
||||
projects.
|
||||
|
||||
However, in the mean time, you may want to store kernel or bootloader
|
||||
configuration or patches specific to your target platform. To do so,
|
||||
create a directory +board/MANUFACTURER+ and a subdirectory
|
||||
+board/MANUFACTURER/BOARDNAME+ (after replacing, of course,
|
||||
MANUFACTURER and BOARDNAME with the appropriate values, in lower case
|
||||
letters). You can then store your patches and configurations in these
|
||||
directories, and reference them from the main Buildroot configuration.
|
||||
@@ -1,21 +0,0 @@
|
||||
Using +ccache+ in Buildroot
|
||||
===========================
|
||||
|
||||
http://ccache.samba.org[ccache] is a compiler cache. It stores the
|
||||
object files resulting from each compilation process, and is able to
|
||||
skip future compilation of the same source file (with same compiler
|
||||
and same arguments) by using the pre-existing object files. When doing
|
||||
almost identical builds from scratch a number of times, it can nicely
|
||||
speed up the build process.
|
||||
|
||||
+ccache+ support is integrated in Buildroot. You just have to enable
|
||||
+Enable compiler cache+ in +Build options+. This will automatically
|
||||
build +ccache+ and use it for every host and target compilation.
|
||||
|
||||
The cache is located in +$HOME/.buildroot-ccache+. It is stored
|
||||
outside of Buildroot output directory so that it can be shared by
|
||||
separate Buildroot builds. If you want to get rid of the cache, simply
|
||||
remove this directory.
|
||||
|
||||
You can get statistics on the cache (its size, number of hits,
|
||||
misses, etc.) by running +make ccache-stats+.
|
||||
@@ -1,24 +0,0 @@
|
||||
Customizing the Busybox configuration
|
||||
-------------------------------------
|
||||
[[busybox-custom]]
|
||||
|
||||
http://www.busybox.net/[Busybox] is very configurable, and you may
|
||||
want to customize it. You can follow these simple steps to do so. This
|
||||
method isn't optimal, but it's simple, and it works:
|
||||
|
||||
* Do an initial compilation of Buildroot, with busybox, without
|
||||
trying to customize it.
|
||||
|
||||
* Invoke +make busybox-menuconfig+.
|
||||
The nice configuration tool appears, and you can
|
||||
customize everything.
|
||||
|
||||
* Run the compilation of Buildroot again.
|
||||
|
||||
Otherwise, you can simply change the
|
||||
+package/busybox/busybox-<version>.config+ file, if you know the
|
||||
options you want to change, without using the configuration tool.
|
||||
|
||||
If you want to use an existing config file for busybox, then see
|
||||
section xref:env-vars[].
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
Customizing the Linux kernel configuration
|
||||
------------------------------------------
|
||||
|
||||
The Linux kernel configuration can be customized just like
|
||||
xref:busybox-custom[BusyBox] and xref:uclibc-custom[uClibc] using
|
||||
+make linux-menuconfig+. Make sure you have enabled the kernel build
|
||||
in +make menuconfig+ first. Once done, run +make+ to (re)build
|
||||
everything.
|
||||
|
||||
If you want to use an existing config file for Linux, then see
|
||||
xref:env-vars[].
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
Customizing the generated target filesystem
|
||||
-------------------------------------------
|
||||
|
||||
There are a few ways to customize the resulting target filesystem:
|
||||
|
||||
* Customize the target filesystem directly and rebuild the image. The
|
||||
target filesystem is available under +output/target/+. You can
|
||||
simply make your changes here and run make afterwards - this will
|
||||
rebuild the target filesystem image. This method allows you to do
|
||||
anything to the target filesystem, but if you decide to completely
|
||||
rebuild your toolchain and tools, these changes will be lost.
|
||||
|
||||
* Create your own 'target skeleton'. You can start with the default
|
||||
skeleton available under +fs/skeleton+ and then customize it to suit
|
||||
your needs. The +BR2_ROOTFS_SKELETON_CUSTOM+ and
|
||||
+BR2_ROOTFS_SKELETON_CUSTOM_PATH+ will allow you to specify the
|
||||
location of your custom skeleton. At build time, the contents of the
|
||||
skeleton are copied to output/target before any package
|
||||
installation.
|
||||
|
||||
* In the Buildroot configuration, you can specify the path to a
|
||||
post-build script, that gets called 'after' Buildroot builds all the
|
||||
selected software, but 'before' the rootfs packages are
|
||||
assembled. The destination root filesystem folder is given as the
|
||||
first argument to this script, and this script can then be used to
|
||||
copy programs, static data or any other needed file to your target
|
||||
filesystem. You should, however, use this feature with care.
|
||||
Whenever you find that a certain package generates wrong or unneeded
|
||||
files, you should fix that package rather than work around it with a
|
||||
post-build cleanup script.
|
||||
|
||||
* A special package, 'customize', stored in +package/customize+ can be
|
||||
used. You can put all the files that you want to see in the final
|
||||
target root filesystem in +package/customize/source+, and then
|
||||
enable this special package in the configuration system.
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
Customizing the uClibc configuration
|
||||
------------------------------------
|
||||
[[uclibc-custom]]
|
||||
|
||||
Just like xref:busybox-custom[BusyBox], http://www.uclibc.org/[uClibc]
|
||||
offers a lot of configuration options. They allow you to select
|
||||
various functionalities depending on your needs and limitations.
|
||||
|
||||
The easiest way to modify the configuration of uClibc is to
|
||||
follow these steps:
|
||||
|
||||
* Do an initial compilation of Buildroot without trying to customize
|
||||
uClibc.
|
||||
|
||||
* Invoke +make uclibc-menuconfig+. The nice configuration assistant,
|
||||
similar to the one used in the Linux kernel or Buildroot,
|
||||
appears. Make your configuration changes as appropriate.
|
||||
|
||||
* Copy the +$(O)/toolchain/uclibc-VERSION/.config+ file to a different
|
||||
place (like +toolchain/uClibc/uClibc-myconfig.config+, or
|
||||
+board/mymanufacturer/myboard/uClibc.config+) and adjust the uClibc
|
||||
configuration (configuration option +BR2_UCLIBC_CONFIG+) to use this
|
||||
configuration instead of the default one.
|
||||
|
||||
* Run the compilation of Buildroot again.
|
||||
|
||||
Otherwise, you can simply change +toolchain/uClibc/uClibc.config+,
|
||||
without running the configuration assistant.
|
||||
|
||||
If you want to use an existing config file for uclibc, then see
|
||||
xref:env-vars[].
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
Customization
|
||||
=============
|
||||
|
||||
include::customize-rootfs.txt[]
|
||||
|
||||
include::customize-busybox-config.txt[]
|
||||
|
||||
include::customize-uclibc-config.txt[]
|
||||
|
||||
include::customize-kernel-config.txt[]
|
||||
@@ -1,26 +0,0 @@
|
||||
Location of downloaded packages
|
||||
===============================
|
||||
|
||||
It might be useful to know that the various tarballs that are
|
||||
downloaded by the Makefiles are all stored in the +DL_DIR+ which by
|
||||
default is the +dl+ directory. It's useful, for example, if you want
|
||||
to keep a complete version of Buildroot which is known to be working
|
||||
with the associated tarballs. This will allow you to regenerate the
|
||||
toolchain and the target filesystem with exactly the same versions.
|
||||
|
||||
If you maintain several Buildroot trees, it might be better to have a
|
||||
shared download location. This can be accessed by creating a symbolic
|
||||
link from the +dl+ directory to the shared download location:
|
||||
|
||||
-----------------
|
||||
$ ln -s <shared download location> dl
|
||||
-----------------
|
||||
|
||||
Another way of accessing a shared download location is to create the
|
||||
+BUILDROOT_DL_DIR+ environment variable. If this is set, then the
|
||||
value of DL_DIR in the project is overridden. The following line
|
||||
should be added to +<~/.bashrc>+.
|
||||
|
||||
-----------------
|
||||
$ export BUILDROOT_DL_DIR <shared download location>
|
||||
-----------------
|
||||
@@ -1,84 +0,0 @@
|
||||
Using an external toolchain
|
||||
===========================
|
||||
|
||||
Using an already existing toolchain is useful for different
|
||||
reasons:
|
||||
|
||||
* you already have a toolchain that is known to work for your specific
|
||||
CPU
|
||||
|
||||
* you want to speed up the Buildroot build process by skipping the
|
||||
long toolchain build part
|
||||
|
||||
* the toolchain generation feature of Buildroot is not sufficiently
|
||||
flexible for you (for example if you need to generate a system with
|
||||
'glibc' instead of 'uClibc')
|
||||
|
||||
Buildroot supports using existing toolchains through a mechanism
|
||||
called 'external toolchain'. The external toolchain mechanism is
|
||||
enabled in the +Toolchain+ menu, by selecting +External toolchain+ in
|
||||
+Toolchain type+.
|
||||
|
||||
Then, you have three solutions to use an external toolchain:
|
||||
|
||||
* Use a predefined external toolchain profile, and let Buildroot
|
||||
download, extract and install the toolchain. Buildroot already knows
|
||||
about a few CodeSourcery toolchains for ARM, PowerPC, MIPS and
|
||||
SuperH. Just select the toolchain profile in +Toolchain+ through the
|
||||
available ones. This is definitely the easiest solution.
|
||||
|
||||
* Use a predefined external toolchain profile, but instead of having
|
||||
Buildroot download and extract the toolchain, you can tell Buildroot
|
||||
where your toolchain is already installed on your system. Just
|
||||
select the toolchain profile in +Toolchain+ through the available
|
||||
ones, unselect +Download toolchain automatically+, and fill the
|
||||
+Toolchain path+ text entry with the path to your cross-compiling
|
||||
toolchain.
|
||||
|
||||
* Use a completely custom external toolchain. This is particularly
|
||||
useful for toolchains generated using crosstool-NG. To do this,
|
||||
select the +Custom toolchain+ solution in the +Toolchain+ list. You
|
||||
need to fill the +Toolchain path+, +Toolchain prefix+ and +External
|
||||
toolchain C library+ options. Then, you have to tell Buildroot what
|
||||
your external toolchain supports. If your external toolchain uses
|
||||
the 'glibc' library, you only have to tell whether your toolchain
|
||||
supports C++ or not. If your external toolchain uses the 'uclibc'
|
||||
library, then you have to tell Buildroot if it supports largefile,
|
||||
IPv6, RPC, wide-char, locale, program invocation, threads and
|
||||
C++. At the beginning of the execution, Buildroot will tell you if
|
||||
the selected options do not match the toolchain configuration.
|
||||
|
||||
|
||||
Our external toolchain support has been tested with toolchains from
|
||||
CodeSourcery, toolchains generated by
|
||||
http://crosstool-ng.org[crosstool-NG], and toolchains generated by
|
||||
Buildroot itself. In general, all toolchains that support the
|
||||
'sysroot' feature should work. If not, do not hesitate to contact the
|
||||
developers.
|
||||
|
||||
We do not support toolchains from the
|
||||
http://www.denx.de/wiki/DULG/ELDK[ELDK] of Denx, for two reasons:
|
||||
|
||||
* The ELDK does not contain a pure toolchain (i.e just the compiler,
|
||||
binutils, the C and C++ libraries), but a toolchain that comes with
|
||||
a very large set of pre-compiled libraries and programs. Therefore,
|
||||
Buildroot cannot import the 'sysroot' of the toolchain, as it would
|
||||
contain hundreds of megabytes of pre-compiled libraries that are
|
||||
normally built by Buildroot.
|
||||
|
||||
* The ELDK toolchains have a completely non-standard custom mechanism
|
||||
to handle multiple library variants. Instead of using the standard
|
||||
GCC 'multilib' mechanism, the ARM ELDK uses different symbolic links
|
||||
to the compiler to differentiate between library variants (for ARM
|
||||
soft-float and ARM VFP), and the PowerPC ELDK compiler uses a
|
||||
+CROSS_COMPILE+ environment variable. This non-standard behaviour
|
||||
makes it difficult to support ELDK in Buildroot.
|
||||
|
||||
We also do not support using the distribution toolchain (i.e the
|
||||
gcc/binutils/C library installed by your distribution) as the
|
||||
toolchain to build software for the target. This is because your
|
||||
distribution toolchain is not a "pure" toolchain (i.e only with the
|
||||
C/C++ library), so we cannot import it properly into the Buildroot
|
||||
build environment. So even if you are building a system for a x86 or
|
||||
x86_64 target, you have to generate a cross-compilation toolchain with
|
||||
Buildroot or crosstool-NG.
|
||||
@@ -1,23 +0,0 @@
|
||||
Getting Buildroot
|
||||
=================
|
||||
|
||||
Buildroot releases are made approximately every 3 months. Direct Git
|
||||
access and daily snapshots are also available, if you want more
|
||||
bleeding edge.
|
||||
|
||||
Releases are available at http://buildroot.net/downloads/[].
|
||||
|
||||
The latest snapshot is always available at
|
||||
http://buildroot.net/downloads/snapshots/buildroot-snapshot.tar.bz2[],
|
||||
and previous snapshots are also available at
|
||||
http://buildroot.net/downloads/snapshots/[].
|
||||
|
||||
To download Buildroot using Git, you can simply follow the rules
|
||||
described on the "Accessing Git" page
|
||||
(http://buildroot.net/git.html[]) of the Buildroot website
|
||||
(http://buildroot.net[]). For the impatient, here's a quick recipe:
|
||||
|
||||
---------------------
|
||||
$ git clone git://git.buildroot.net/buildroot
|
||||
---------------------
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
How Buildroot works
|
||||
===================
|
||||
|
||||
As mentioned above, Buildroot is basically a set of Makefiles that
|
||||
download, configure, and compile software with the correct options. It
|
||||
also includes patches for various software packages - mainly the ones
|
||||
involved in the cross-compilation tool chain (+gcc+, +binutils+ and
|
||||
+uClibc+).
|
||||
|
||||
There is basically one Makefile per software package, and they are
|
||||
named with the +.mk+ extension. Makefiles are split into three main
|
||||
sections:
|
||||
|
||||
* *toolchain* (in the +toolchain/+ directory) contains the Makefiles
|
||||
and associated files for all software related to the
|
||||
cross-compilation toolchain: +binutils+, +gcc+, +gdb+,
|
||||
+kernel-headers+ and +uClibc+.
|
||||
|
||||
* *package* (in the +package/+ directory) contains the Makefiles and
|
||||
associated files for all user-space tools that Buildroot can compile
|
||||
and add to the target root filesystem. There is one sub-directory
|
||||
per tool.
|
||||
|
||||
* *target* (in the +target+ directory) contains the Makefiles and
|
||||
associated files for software related to the generation of the
|
||||
target root filesystem image. Four types of filesystems are
|
||||
supported: ext2, jffs2, cramfs and squashfs. For each of them there
|
||||
is a sub-directory with the required files. There is also a
|
||||
+default/+ directory that contains the target filesystem skeleton.
|
||||
|
||||
Each directory contains at least 2 files:
|
||||
|
||||
* +something.mk+ is the Makefile that downloads, configures,
|
||||
compiles and installs the package +something+.
|
||||
|
||||
* +Config.in+ is a part of the configuration tool
|
||||
description file. It describes the options related to the
|
||||
package.
|
||||
|
||||
The main Makefile performs the following steps (once the
|
||||
configuration is done):
|
||||
|
||||
* Create all the output directories: +staging+, +target+, +build+,
|
||||
+stamps+, etc. in the output directory (+output/+ by default,
|
||||
another value can be specified using +O=+)
|
||||
|
||||
* Generate all the targets listed in the +BASE_TARGETS+ variable. When
|
||||
an internal toolchain is used, this means generating the
|
||||
cross-compilation toolchain. When an external toolchain is used,
|
||||
this means checking the features of the external toolchain and
|
||||
importing it into the Buildroot environment.
|
||||
|
||||
* Generate all the targets listed in the +TARGETS+ variable. This
|
||||
variable is filled by all the individual components'
|
||||
Makefiles. Generating these targets will trigger the compilation of
|
||||
the userspace packages (libraries, programs), the kernel, the
|
||||
bootloader and the generation of the root filesystem images,
|
||||
depending on the configuration.
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
About Buildroot
|
||||
===============
|
||||
|
||||
Buildroot is a set of Makefiles and patches that allows you to easily
|
||||
generate a cross-compilation toolchain, a root filesystem and a Linux
|
||||
kernel image for your target. Buildroot can be used for one, two or
|
||||
all of these options, independently.
|
||||
|
||||
Buildroot is useful mainly for people working with embedded systems.
|
||||
Embedded systems often use processors that are not the regular x86
|
||||
processors everyone is used to having in his PC. They can be PowerPC
|
||||
processors, MIPS processors, ARM processors, etc.
|
||||
|
||||
A compilation toolchain is the set of tools that allows you to compile
|
||||
code for your system. It consists of a compiler (in our case, +gcc+),
|
||||
binary utils like assembler and linker (in our case, +binutils+) and a
|
||||
C standard library (for example
|
||||
http://www.gnu.org/software/libc/libc.html[GNU Libc],
|
||||
http://www.uclibc.org/[uClibc] or
|
||||
http://www.fefe.de/dietlibc/[dietlibc]). The system installed on your
|
||||
development station certainly already has a compilation toolchain that
|
||||
you can use to compile an application that runs on your system. If
|
||||
you're using a PC, your compilation toolchain runs on an x86 processor
|
||||
and generates code for an x86 processor. Under most Linux systems, the
|
||||
compilation toolchain uses the GNU libc (glibc) as the C standard
|
||||
library. This compilation toolchain is called the "host compilation
|
||||
toolchain". The machine on which it is running, and on which you're
|
||||
working, is called the "host system". The compilation toolchain is
|
||||
provided by your distribution, and Buildroot has nothing to do with it
|
||||
(other than using it to build a cross-compilation toolchain and other
|
||||
tools that are run on the development host).
|
||||
|
||||
As said above, the compilation toolchain that comes with your system
|
||||
runs on and generates code for the processor in your host system. As
|
||||
your embedded system has a different processor, you need a
|
||||
cross-compilation toolchain - a compilation toolchain that runs on
|
||||
your host system but generates code for your target system (and target
|
||||
processor). For example, if your host system uses x86 and your target
|
||||
system uses ARM, the regular compilation toolchain on your host runs on
|
||||
x86 and generates code for x86, while the cross-compilation toolchain
|
||||
runs on x86 and generates code for ARM.
|
||||
|
||||
Even if your embedded system uses an x86 processor, you might be
|
||||
interested in Buildroot for two reasons:
|
||||
|
||||
* The compilation toolchain on your host certainly uses the GNU Libc
|
||||
which is a complete but huge C standard library. Instead of using
|
||||
GNU Libc on your target system, you can use uClibc which is a tiny C
|
||||
standard library. If you want to use this C library, then you need a
|
||||
compilation toolchain to generate binaries linked with it. Buildroot
|
||||
can do that for you.
|
||||
|
||||
* Buildroot automates the building of a root filesystem with all
|
||||
needed tools like busybox. That makes it much easier than doing it
|
||||
by hand.
|
||||
|
||||
You might wonder why such a tool is needed when you can compile +gcc+,
|
||||
+binutils+, +uClibc+ and all the other tools by hand. Of course doing
|
||||
so is possible but, dealing with all of the configure options and
|
||||
problems of every +gcc+ or +binutils+ version is very time-consuming
|
||||
and uninteresting. Buildroot automates this process through the use
|
||||
of Makefiles and has a collection of patches for each +gcc+ and
|
||||
+binutils+ version to make them work on most architectures.
|
||||
|
||||
Moreover, Buildroot provides an infrastructure for reproducing the
|
||||
build process of your kernel, cross-toolchain, and embedded root
|
||||
filesystem. Being able to reproduce the build process will be useful
|
||||
when a component needs to be patched or updated or when another person
|
||||
is supposed to take over the project.
|
||||
@@ -1,32 +0,0 @@
|
||||
The Buildroot user manual
|
||||
=========================
|
||||
:toc:
|
||||
|
||||
Buildroot usage and documentation by Thomas Petazzoni. Contributions
|
||||
from Karsten Kruse, Ned Ludd, Martin Herren and others.
|
||||
|
||||
image::logo.png[]
|
||||
|
||||
:leveloffset: 1
|
||||
|
||||
include::introduction.txt[]
|
||||
|
||||
include::getting.txt[]
|
||||
|
||||
include::using.txt[]
|
||||
|
||||
include::customize.txt[]
|
||||
|
||||
include::rebuilding-packages.txt[]
|
||||
|
||||
include::how-buildroot-works.txt[]
|
||||
|
||||
include::using-buildroot-toolchain.txt[]
|
||||
|
||||
include::external-toolchain.txt[]
|
||||
|
||||
include::ccache-support.txt[]
|
||||
|
||||
include::download-location.txt[]
|
||||
|
||||
include::adding-packages.txt[]
|
||||
@@ -1,62 +0,0 @@
|
||||
Understanding how to rebuild packages
|
||||
=====================================
|
||||
|
||||
One of the most common questions asked by Buildroot users is how to
|
||||
rebuild a given package or how to remove a package without rebuilding
|
||||
everything from scratch.
|
||||
|
||||
Removing a package is currently unsupported by Buildroot without
|
||||
rebuilding from scratch. This is because Buildroot doesn't keep track
|
||||
of which package installs what files in the +output/staging+ and
|
||||
+output/target+ directories. However, implementing clean package
|
||||
removal is on the TODO-list of Buildroot developers.
|
||||
|
||||
The easiest way to rebuild a single package from scratch is to remove
|
||||
its build directory in +output/build+. Buildroot will then re-extract,
|
||||
re-configure, re-compile and re-install this package from scratch.
|
||||
|
||||
However, if you don't want to rebuild the package completely from
|
||||
scratch, a better understanding of the Buildroot internals is
|
||||
needed. Internally, to keep track of which steps have been done and
|
||||
which steps remain to be done, Buildroot maintains stamp files (empty
|
||||
files that just tell whether this or that action has been done). The
|
||||
problem is that these stamp files are not uniformly named and handled
|
||||
by the different packages, so some understanding of the particular
|
||||
package is needed.
|
||||
|
||||
For packages relying on Buildroot packages infrastructures (see
|
||||
xref:add-packages[this section] for details), the following stamp
|
||||
files are relevant:
|
||||
|
||||
* +output/build/packagename-version/.stamp_configured+. If removed,
|
||||
Buildroot will trigger the recompilation of the package from the
|
||||
configuration step (execution of +./configure+).
|
||||
|
||||
* +output/build/packagename-version/.stamp_built+. If removed,
|
||||
Buildroot will trigger the recompilation of the package from the
|
||||
compilation step (execution of +make+).
|
||||
|
||||
For other packages, an analysis of the specific 'package.mk' file is
|
||||
needed. For example, the zlib Makefile used to look like this (before
|
||||
it was converted to the generic package infrastructure):
|
||||
|
||||
-----------------
|
||||
$(ZLIB_DIR)/.configured: $(ZLIB_DIR)/.patched
|
||||
(cd $(ZLIB_DIR); rm -rf config.cache; \
|
||||
[...]
|
||||
)
|
||||
touch $@
|
||||
|
||||
$(ZLIB_DIR)/libz.a: $(ZLIB_DIR)/.configured
|
||||
$(MAKE) -C $(ZLIB_DIR) all libz.a
|
||||
touch -c $@
|
||||
-----------------
|
||||
|
||||
If you want to trigger the reconfiguration, you need to remove
|
||||
+output/build/zlib-version/.configured+. If you want to trigger only
|
||||
the recompilation, you need to remove
|
||||
+output/build/zlib-version/libz.a+.
|
||||
|
||||
Note that most packages, if not all, will progressively be ported over
|
||||
to the generic or autotools infrastructure, making it much easier to
|
||||
rebuild individual packages.
|
||||
@@ -1,20 +0,0 @@
|
||||
Using the generated toolchain outside Buildroot
|
||||
===============================================
|
||||
|
||||
You may want to compile, for your target, your own programs or other
|
||||
software that are not packaged in Buildroot. In order to do this you
|
||||
can use the toolchain that was generated by Buildroot.
|
||||
|
||||
The toolchain generated by Buildroot is located by default in
|
||||
+output/host/+. The simplest way to use it is to add
|
||||
+output/host/usr/bin/+ to your PATH environment variable and then to
|
||||
use +ARCH-linux-gcc+, +ARCH-linux-objdump+, +ARCH-linux-ld+, etc.
|
||||
|
||||
It is possible to relocate the toolchain - but then +--sysroot+ must
|
||||
be passed every time the compiler is called to tell where the
|
||||
libraries and header files are.
|
||||
|
||||
It is also possible to generate the Buildroot toolchain in a directory
|
||||
other than +output/host+ by using the +Build options -> Host dir+
|
||||
option. This could be useful if the toolchain must be shared with
|
||||
other users.
|
||||
@@ -1,183 +0,0 @@
|
||||
Using Buildroot
|
||||
===============
|
||||
|
||||
Configuration and general usage
|
||||
-------------------------------
|
||||
|
||||
Buildroot has a nice configuration tool similar to the one you can
|
||||
find in the http://www.kernel.org/[Linux kernel] or in
|
||||
http://www.busybox.org/[Busybox]. Note that you can (and should) build
|
||||
everything as a normal user. There is no need to be root to configure
|
||||
and use Buildroot. The first step is to run the configuration
|
||||
assistant:
|
||||
|
||||
--------------------
|
||||
$ make menuconfig
|
||||
--------------------
|
||||
|
||||
to run the curses-based configurator, or
|
||||
|
||||
--------------------
|
||||
$ make xconfig
|
||||
--------------------
|
||||
|
||||
or
|
||||
|
||||
--------------------
|
||||
$ make gconfig
|
||||
--------------------
|
||||
|
||||
to run the Qt or GTK-based configurators.
|
||||
|
||||
All of these "make" commands will need to build a configuration
|
||||
utility, so you may need to install "development" packages for
|
||||
relevant libraries used by the configuration utilities. On Debian-like
|
||||
systems, the +libncurses5-dev+ package is required to use the
|
||||
'menuconfig' interface, +libqt4-dev+ is required to use the 'xconfig'
|
||||
interface, and +libglib2.0-dev, libgtk2.0-dev and libglade2-dev+ are
|
||||
needed to use the 'gconfig' interface.
|
||||
|
||||
For each menu entry in the configuration tool, you can find associated
|
||||
help that describes the purpose of the entry.
|
||||
|
||||
Once everything is configured, the configuration tool generates a
|
||||
+.config+ file that contains the description of your
|
||||
configuration. It will be used by the Makefiles to do what's needed.
|
||||
|
||||
Let's go:
|
||||
|
||||
--------------------
|
||||
$ make
|
||||
--------------------
|
||||
|
||||
You *should never* use +make -jN+ with Buildroot: it does not support
|
||||
'top-level parallel make'. Instead, use the +BR2_JLEVEL+ option to
|
||||
tell Buildroot to run each package compilation with +make -jN+.
|
||||
|
||||
This command will generally perform the following steps:
|
||||
|
||||
* Download source files (as required)
|
||||
* Configure, build and install the cross-compiling toolchain if an
|
||||
internal toolchain is used, or import a toolchain if an external
|
||||
toolchain is used
|
||||
* Build/install selected target packages
|
||||
* Build a kernel image, if selected
|
||||
* Build a bootloader image, if selected
|
||||
* Create a root filesystem in selected formats
|
||||
|
||||
Buildroot output is stored in a single directory, +output/+.
|
||||
This directory contains several subdirectories:
|
||||
|
||||
* +images/+ where all the images (kernel image, bootloader and root
|
||||
filesystem images) are stored.
|
||||
|
||||
* +build/+ where all the components except for the cross-compilation
|
||||
toolchain are built (this includes tools needed to run Buildroot on
|
||||
the host and packages compiled for the target). The +build/+
|
||||
directory contains one subdirectory for each of these components.
|
||||
|
||||
* +staging/+ which contains a hierarchy similar to a root filesystem
|
||||
hierarchy. This directory contains the installation of the
|
||||
cross-compilation toolchain and all the userspace packages selected
|
||||
for the target. However, this directory is 'not' intended to be
|
||||
the root filesystem for the target: it contains a lot of development
|
||||
files, unstripped binaries and libraries that make it far too big
|
||||
for an embedded system. These development files are used to compile
|
||||
libraries and applications for the target that depend on other
|
||||
libraries.
|
||||
|
||||
* +target/+ which contains 'almost' the complete root filesystem for
|
||||
the target: everything needed is present except the device files in
|
||||
+/dev/+ (Buildroot can't create them because Buildroot doesn't run
|
||||
as root and doesn't want to run as root). Therefore, this directory
|
||||
*should not be used on your target*. Instead, you should use one of
|
||||
the images built in the +images/+ directory. If you need an
|
||||
extracted image of the root filesystem for booting over NFS, then
|
||||
use the tarball image generated in +images/+ and extract it as
|
||||
root. Compared to +staging/+, +target/+ contains only the files and
|
||||
libraries needed to run the selected target applications: the
|
||||
development files (headers, etc.) are not present, unless the
|
||||
+development files in target filesystem+ option is selected.
|
||||
|
||||
* +host/+ contains the installation of tools compiled for the host
|
||||
that are needed for the proper execution of Buildroot, including the
|
||||
cross-compilation toolchain.
|
||||
|
||||
* +toolchain/+ contains the build directories for the various
|
||||
components of the cross-compilation toolchain.
|
||||
|
||||
Offline builds
|
||||
--------------
|
||||
|
||||
If you intend to do an offline build and just want to download
|
||||
all sources that you previously selected in the configurator
|
||||
('menuconfig', 'xconfig' or 'gconfig'), then issue:
|
||||
|
||||
--------------------
|
||||
$ make source
|
||||
--------------------
|
||||
|
||||
You can now disconnect or copy the content of your +dl+
|
||||
directory to the build-host.
|
||||
|
||||
Building out-of-tree
|
||||
--------------------
|
||||
|
||||
Buildroot supports building out of tree with a syntax similar to the
|
||||
Linux kernel. To use it, add +O=<directory>+ to the make command line:
|
||||
|
||||
--------------------
|
||||
$ make O=/tmp/build
|
||||
--------------------
|
||||
|
||||
Or:
|
||||
|
||||
--------------------
|
||||
$ cd /tmp/build; make O=$PWD -C path/to/buildroot
|
||||
--------------------
|
||||
|
||||
All the output files will be located under +/tmp/build+.
|
||||
|
||||
When using out-of-tree builds, the Buildroot +.config+ and temporary
|
||||
files are also stored in the output directory. This means that you can
|
||||
safely run multiple builds in parallel using the same source tree as
|
||||
long as they use unique output directories.
|
||||
|
||||
For ease of use, Buildroot generates a Makefile wrapper in the output
|
||||
directory - So after the first run, you no longer need to pass +O=..+
|
||||
and +-C ..+, simply run (in the output directory):
|
||||
|
||||
--------------------
|
||||
$ make <target>
|
||||
--------------------
|
||||
|
||||
Environment variables
|
||||
---------------------
|
||||
[[env-vars]]
|
||||
|
||||
Buildroot also honors some environment variables, when they are passed
|
||||
to +make+ or set in the environment:
|
||||
|
||||
* +HOSTCXX+, the host C++ compiler to use
|
||||
* +HOSTCC+, the host C compiler to use
|
||||
* +UCLIBC_CONFIG_FILE=<path/to/.config>+, path to
|
||||
the uClibc configuration file, used to compile uClibc, if an
|
||||
internal toolchain is being built
|
||||
* +BUSYBOX_CONFIG_FILE=<path/to/.config>+, path to
|
||||
the Busybox configuration file
|
||||
* +BUILDROOT_DL_DIR+ to override the directory in which
|
||||
Buildroot stores/retrieves downloaded files
|
||||
|
||||
An example that uses config files located in the toplevel directory and
|
||||
in your $HOME:
|
||||
|
||||
--------------------
|
||||
$ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config
|
||||
--------------------
|
||||
|
||||
If you want to use a compiler other than the default +gcc+
|
||||
or +g+++ for building helper-binaries on your host, then do
|
||||
|
||||
--------------------
|
||||
$ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD
|
||||
--------------------
|
||||
519
docs/news.html
519
docs/news.html
@@ -1,518 +1,7 @@
|
||||
<!--#include file="header.html" -->
|
||||
|
||||
<h3>News</h3>
|
||||
|
||||
<p>
|
||||
|
||||
<ul>
|
||||
<li><b>18 November 2011 -- 2011.11-rc2 released</b>
|
||||
|
||||
<p>Another week, another release candidate with a bunch of
|
||||
cleanups and build fixes. See the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.11_rc2">CHANGES</a>
|
||||
file for details.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2011.11-rc2.tar.bz2">2011.11-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>11 November 2011 -- 2011.11-rc1 released</b>
|
||||
|
||||
<p>We have a new release candidate! Lots of changes all over the
|
||||
tree, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.11_rc1">CHANGES</a>
|
||||
file for details, and read the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2011-November/047395.html">announcement</a>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2011.11-rc1.tar.bz2">2011.11-rc1
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>31 August 2011 -- 2011.08 released</b>
|
||||
|
||||
<p>The stable 2011.08 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.08">CHANGES</a>
|
||||
file for more details, and go to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2011.08.tar.bz2">2011.08 release</a>.</p>
|
||||
|
||||
<li><b>29 August 2011 -- 2011.08-rc2 released</b>
|
||||
|
||||
<p>RC2 is out with more bugfixes. See the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.08_rc2">CHANGES</a>
|
||||
file for details, and read the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2011-August/045211.html">announcement</a>.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2011.08-rc2.tar.bz2">2011.08-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>4 August 2011 -- 2011.08-rc1 released</b>
|
||||
|
||||
<p>We have a new release candidate! Lots of changes all over the
|
||||
tree, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.08_rc1">CHANGES</a>
|
||||
file for details, and read the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2011-August/044855.html">announcement</a>.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2011.08-rc1.tar.bz2">2011.08-rc1
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>27 May 2011 -- 2011.05 released</b>
|
||||
|
||||
<p>The stable 2011.05 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.05">CHANGES</a>
|
||||
file for more details, and go to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2011.05.tar.bz2">2011.05 release</a>.</p>
|
||||
|
||||
<li><b>24 May 2011 -- 2011.05-rc2 released</b>
|
||||
|
||||
<p>RC2 is out with more bugfixes. See the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.05_rc2">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2011.05-rc2.tar.bz2">2011.05-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>18 May 2011 -- 2011.05-rc1 released</b>
|
||||
|
||||
<p>We have a new release candidate! Lots of changes all over the
|
||||
tree, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.05_rc1">CHANGES</a>
|
||||
file for details, and read the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2011-May/043317.html">announcement</a>.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2011.05-rc1.tar.bz2">2011.05-rc1
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>28 February 2011 -- 2011.02 released</b>
|
||||
|
||||
<p>The stable 2011.02 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.02">CHANGES</a>
|
||||
file for more details, read the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2011-February/041662.html">announcement</a>
|
||||
and go to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2011.02.tar.bz2">2011.02 release</a>.</p>
|
||||
|
||||
<li><b>24 February 2011 -- 2011.02-rc2 released</b>
|
||||
|
||||
<p>RC2 is out with more cleanups and bugfixes, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.02_rc2">CHANGES</a>
|
||||
file for details.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2011.02-rc2.tar.bz2">2011.02-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>14 February 2011 -- 2011.02-rc1 released</b>
|
||||
|
||||
<p>We have a new release candidate! Lots of changes all over the
|
||||
tree, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2011.02_rc1">CHANGES</a>
|
||||
file for details, and read the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2011-February/041365.html">announcement</a>.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2011.02-rc1.tar.bz2">2011.02-rc1
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>30 November 2010 -- 2010.11 released</b>
|
||||
|
||||
<p>The stable 2010.11 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2010.11">CHANGES</a>
|
||||
file for more details, read the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2010-November/039135.html">announcement</a>
|
||||
and go to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2010.11.tar.bz2">2010.11 release</a>.</p>
|
||||
|
||||
<li><b>25 November 2010 -- 2010.11-rc2 released</b>
|
||||
|
||||
<p>RC2 is out with more cleanups and bugfixes, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2010.11_rc2">CHANGES</a>
|
||||
file for details.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2010.11-rc2.tar.bz2">2010.11-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>8 November 2010 -- 2010.11-rc1 released</b>
|
||||
|
||||
<p>We have a new release candidate! Lots of changes all over the
|
||||
tree, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2010.11_rc1">CHANGES</a>
|
||||
file for details, and read the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2010-November/038645.html">announcement</a>.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2010.11-rc1.tar.bz2">2010.11-rc1
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>28 September 2010 - Buildroot Developer Day</b>
|
||||
|
||||
<p>A <i>Buildroot Developer Day</i> will take place on
|
||||
Friday, October 29th in Cambridge, UK - Just the day after the
|
||||
<a href="http://www.embeddedlinuxconference.com/elc_europe10/">Embedded
|
||||
Linux Conference Europe</a>. This <i>Developer Day</i> aims
|
||||
at allowing Buildroot developers to meet and exchange ideas on the
|
||||
project and its future. See the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2010-September/037930.html">announcement</a>
|
||||
for more info.</p>
|
||||
|
||||
<p>Thanks to Thomas Petazzoni for taking care of the practical
|
||||
arrangements.</p>
|
||||
|
||||
<li><b>31 August 2010 -- 2010.08 released</b>
|
||||
|
||||
<p>The stable 2010.08 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2010.08">CHANGES</a>
|
||||
file for more details, read the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2010-August/037078.html">announcement</a>
|
||||
and go to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2010.08.tar.bz2">2010.08 release</a>.</p>
|
||||
|
||||
<li><b>30 August 2010 -- 2010.08-rc2 released</b>
|
||||
|
||||
<p>RC2 is out with more cleanups and bugfixes, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2010.08_rc2">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2010.08-rc2.tar.bz2">2010.08-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
This is very much expected to be the final release
|
||||
candidate, so give it a good test and expect a final 2010.08
|
||||
release before September unless critical issues are found.</p>
|
||||
|
||||
<li><b>30 July 2010 -- 2010.08-rc1 released</b>
|
||||
|
||||
<p>We have a new release candidate! Lots of changes all over the
|
||||
tree, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2010.08_rc1">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2010.08-rc1.tar.bz2">2010.08-rc1
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>30 May 2010 -- 2010.05 released</b>
|
||||
|
||||
<p>The stable 2010.05 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2010.05">CHANGES</a>
|
||||
file for more details, read the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2010-May/034878.html">announcement</a>
|
||||
and go to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2010.05.tar.bz2">2010.05 release</a>.</p>
|
||||
|
||||
<li><b>27 May 2010 -- 2010.05-rc3 released</b>
|
||||
|
||||
<p>RC3 is out with more cleanups and bugfixes, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2010.05_rc3">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2010.05-rc3.tar.bz2">2010.05-rc3
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>11 May 2010 -- 2010.05-rc2 released</b>
|
||||
|
||||
<p>Another week, another release candidate with a bunch of
|
||||
cleanups and build fixes.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2010.05-rc2.tar.bz2">2010.05-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>3 May 2010 -- 2010.05-rc1 released</b>
|
||||
|
||||
<p>We have a new release candidate! Lots of changes all over the
|
||||
tree, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2010.05_rc1">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2010.05-rc1.tar.bz2">2010.05-rc1
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>2 May 2010 - FOSDEM slides online</b>
|
||||
|
||||
<p>The slides from the <a
|
||||
href="http://fosdem.org/2010/schedule/events/emb_cross_build">Cross
|
||||
Build Systems: Present & Future</a> session at <a
|
||||
href="http://fosdem.org/2010">FOSDEM</a> are now <a
|
||||
href="http://send-patches.org/news/20100211-1-FOSDEM-Crossdev-Workshop.pdf">online</a>.
|
||||
|
||||
<li><b>26 February 2010 -- 2010.02 released</b>
|
||||
|
||||
<p>The stable 2010.02 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2010.02">CHANGES</a>
|
||||
file for more details, and go to the <a href="/downloads/">downloads page</a>
|
||||
to pick up the <a href="/downloads/buildroot-2010.02.tar.bz2">2010.02
|
||||
release</a>.</p>
|
||||
|
||||
<li><b>23 February 2010 -- 2010.02-rc2 released</b>
|
||||
|
||||
<p>RC2 is out with more cleanups and bugfixes, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2010.02_rc2">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2010.02-rc2.tar.bz2">2010.02-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>9 February 2010 -- 2010.02-rc1 released</b>
|
||||
|
||||
<p>We have a new release candidate! Lots of changes all over the
|
||||
tree, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2010.02_rc1">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2010.02-rc1.tar.bz2">2010.02-rc1
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>1 December 2009 -- 2009.11 released</b>
|
||||
|
||||
<p>The stable 2009.11 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2009-December/030672.html">announcement</a>
|
||||
or <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.11">CHANGES</a>
|
||||
for more details, and go to the <a href="/downloads/">downloads page</a>
|
||||
to pick up the <a href="/downloads/buildroot-2009.11.tar.bz2">2009.11
|
||||
release</a>.</p>
|
||||
|
||||
<li><b>29 November 2009 -- 2009.11-rc2 released</b>
|
||||
|
||||
<p>RC2 is out with more cleanups and bugfixes, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.11_rc2">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2009.11-rc2.tar.bz2">2009.11-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>23 November 2009 -- 2009.11-rc1 released</b>
|
||||
|
||||
<p>We have a new release candidate! Lots of changes all over the
|
||||
tree, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.11_rc1">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2009.11-rc1.tar.bz2">2009.11-rc1
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>7 September 2009 -- First Buildroot Developer Day</b>
|
||||
|
||||
<p>The first <i>Buildroot Developer Day</i> will take place on
|
||||
Saturday, October 17th in Grenoble, France, just the day after
|
||||
Embedded Linux Conference Europe. This <i>Developer Day</i> aims
|
||||
at allowing Buildroot developers to meet and exchange ideas on the
|
||||
project and its future.</p>
|
||||
|
||||
<p>As the number of places is limited, interested candidates are
|
||||
invited to send an e-mail to Peter Korsgaard (<code>jacmet at
|
||||
uclibc dot org</code>) and Thomas Petazzoni (<code>thomas dot
|
||||
petazzoni at free-electrons dot com</code>).</p>
|
||||
|
||||
<p>This <i>Developer Day</i> will take place thanks to the
|
||||
sponsoring of <a href="http://www.calao-systems.com">Calao
|
||||
Systems</a> and <a href="http://www.free-electrons.com">Free
|
||||
Electrons</a>.</p>
|
||||
|
||||
<li><b>31 August 2009 -- 2009.08 released</b>
|
||||
|
||||
<p>The stable 2009.08 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2009-August/029018.html">announcement</a>
|
||||
or <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.08">CHANGES</a>
|
||||
for more details, and go to the <a href="/downloads/">downloads page</a>
|
||||
to pick up the <a href="/downloads/buildroot-2009.08.tar.bz2">2009.08
|
||||
release</a>.</p>
|
||||
|
||||
<li><b>26 August 2009 -- 2009.08-rc3 released</b>
|
||||
<p>A number of bugfixes have been added to the tree since RC2
|
||||
(especially thanks to Thomas Petazzoni) - See the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.08_rc3">CHANGES</a>
|
||||
file for details. This is very much expected to be the final release
|
||||
candidate, so give it a good test and expect a final 2009.08
|
||||
release next weekend unless critical issues are found.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2009.08-rc3.tar.bz2">2009.08-rc3
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>6 August 2009 -- 2009.08-rc2 released</b>
|
||||
|
||||
<p>RC2 is out with more cleanups and bugfixes, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.08_rc2">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2009.08-rc2.tar.bz2">2009.08-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>2 August 2009 -- 2009.08-rc1 released</b>
|
||||
|
||||
<p>We have a new release candidate! Lots of changes all over the
|
||||
tree, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.08_rc1">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2009.08-rc1.tar.bz2">2009.08-rc1
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>1 June 2009 -- 2009.05 released</b>
|
||||
|
||||
<p>The stable 2009.05 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2009-June/027640.html">announcement</a>
|
||||
or <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.05">CHANGES</a>
|
||||
for more details, and go to the <a href="/downloads/">downloads page</a>
|
||||
to pick up the <a href="/downloads/buildroot-2009.05.tar.bz2">2009.05
|
||||
release</a>.</p>
|
||||
|
||||
<li><b>27 May 2009 -- 2009.05-rc3 released</b>
|
||||
|
||||
<p>We had a number of fixes post-RC2, so RC3 is out (see <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.05_rc3">CHANGES</a>
|
||||
for details). Now is the moment to test and verify that everything
|
||||
is working for your favorite config - Expect a final 2009.05 very soon.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2009.05-rc3.tar.bz2">2009.05-rc3
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>19 May 2009 -- 2009.05-rc2 released</b>
|
||||
|
||||
<p>RC2 is out with more cleanups and bug fixes (see <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.05_rc2">CHANGES</a>).
|
||||
Unless big issues are found, expect this to be the last release
|
||||
candidate before the release - So give it a good test.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2009.05-rc2.tar.bz2">2009.05-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>14 May 2009 -- Buildroot.org</b>
|
||||
|
||||
<p>Earl Levine has been so kind to donate the <b>buildroot.org</b>
|
||||
domain to us, so the website can now also be reached at <a
|
||||
href="http://www.buildroot.org">www.buildroot.org</a> (and git at
|
||||
<a href="http://git.buildroot.org/buildroot">git.buildroot.org</a>).
|
||||
|
||||
Thanks a lot Earl!</p>
|
||||
|
||||
<li><b>5 May 2009 -- 2009.05-rc1 released</b>
|
||||
|
||||
<p>We have a new release candidate! Lots of changes all over the
|
||||
tree, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.05_rc1">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2009.05-rc1.tar.bz2">2009.05-rc1
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>3 May 2009 -- Moved to git</b>
|
||||
|
||||
<p>We've moved the source code from <a
|
||||
href="http://subversion.tigris.org">Subversion</a> to <a
|
||||
href="http://git-scm.org">Git</a>. You can browse the repo online
|
||||
<a href="http://git.buildroot.net/buildroot">here</a>, and clone
|
||||
the repo using:
|
||||
<pre>git clone git://git.buildroot.net/buildroot</pre>
|
||||
See the <a href="/git.html">Git Access</a> page for more details.
|
||||
</p>
|
||||
|
||||
<li><b>27 March 2009 -- new Logo</b>
|
||||
|
||||
<p>We have a <a href="images/logo.png">logo</a>! We have so far
|
||||
been using the <a href="http://busybox.net">Busybox</a> logo on
|
||||
the website, as the website was a copy of the <a
|
||||
href="http://busybox.net">Busybox</a> one - But not anymore, we
|
||||
now have a shiny new logo of our own.</p>
|
||||
|
||||
<li><b>12 February 2009 -- 2009.02 released</b>
|
||||
<p>The stable 2009.02 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2009-February/025974.html">announcement</a>
|
||||
for more details, and go to the <a href="/downloads/">downloads page</a>
|
||||
to pick up the <a href="/downloads/buildroot-2009.02.tar.bz2">2009.02
|
||||
release</a>.</p>
|
||||
|
||||
<li><b>9 February 2009 -- 2009.02-rc4 released</b>
|
||||
<p>We had more than 50 changes since RC3, several of them
|
||||
toolchain related, so decided to make a RC4 as well. This is
|
||||
very much expected to be the final release candidate, so give it
|
||||
a good test and expect a final 2009.02 release this week unless
|
||||
critical issues are found.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2009.02-rc4.tar.bz2">2009.02-rc4
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>31 January 2009 -- 2009.02-rc3 released</b>
|
||||
<p>RC3 is out with more cleanups and bug fixes. Unless big issues
|
||||
@@ -523,7 +12,7 @@
|
||||
<a href="/downloads/buildroot-2009.02-rc3.tar.bz2">2009.02-rc3
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
href="http://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>23 January 2009 -- 2009.02-rc2 released</b>
|
||||
<p>Another week, another release candidate with a bunch of
|
||||
@@ -533,7 +22,7 @@
|
||||
<a href="/downloads/buildroot-2009.02-rc2.tar.bz2">2009.02-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
href="http://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>16 January 2009 -- Release candidate and new maintainer</b>
|
||||
<p>It has been a long time coming, but we finally have a new
|
||||
@@ -543,7 +32,7 @@
|
||||
<a href="/downloads/buildroot-2009.02-rc1.tar.bz2">2009.02-rc1
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>. The plan is to
|
||||
href="http://bugs.uclibc.org">bug tracker</a>. The plan is to
|
||||
release 2009.02 in time for <a
|
||||
href="http://www.fosdem.org/2009/">FOSDEM</a>.</p>
|
||||
|
||||
@@ -571,7 +60,7 @@
|
||||
|
||||
If you find a bug in buildroot, or wish to submit a patch to fix a problem
|
||||
or add a shiny new feature, please use the <a
|
||||
href="https://bugs.uclibc.org/">Bug and Patch Tracking System</a> to post
|
||||
href="http://bugs.uclibc.org/">Bug and Patch Tracking System</a> to post
|
||||
the details, to make certain your work is not lost.
|
||||
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user