Compare commits

..

1 Commits

Author SHA1 Message Date
Peter Korsgaard
ec382bb38a buildroot: fix version for 2009.02-rc3 2009-01-31 21:38:50 +00:00
3969 changed files with 826878 additions and 140181 deletions

14
.gitignore vendored
View File

@@ -1,14 +0,0 @@
/output
/dl
/.auto.deps
/.config.cmd
/.config.old
/..config.tmp
/.config
*.depend
*.o
/*.patch
/*.diff
*.orig
*.rej
*~

1382
CHANGES

File diff suppressed because it is too large Load Diff

339
COPYING
View File

@@ -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.

265
Config.in
View File

@@ -1,6 +1,6 @@
#
mainmenu "Buildroot $BR2_VERSION Configuration"
mainmenu "Buildroot2 Configuration"
config BR2_HAVE_DOT_CONFIG
bool
@@ -8,45 +8,28 @@ config BR2_HAVE_DOT_CONFIG
config BR2_VERSION
string
option env="BR2_VERSION_FULL"
default "2009.02-rc3"
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"
config BR2_SCP
string "Secure copy (scp) command"
default "scp"
config BR2_SSH
string "Secure shell (ssh) command"
default "ssh"
config BR2_HG
string "Mercurial (hg) command"
default "hg"
string "Git command to download source tree"
default "git clone"
config BR2_ZCAT
string "zcat command"
@@ -68,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 ""
@@ -83,119 +59,141 @@ 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.
Valid URIs are URIs recognized by $(WGET) and scp URIs of the form
scp://[user@]host:path.
NOTE: This works for all packages using the central package
infrastructure (generic, autotools, cmake, ...)
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_ROOTFS_PREFIX
string "Custom root fs prefix"
default "rootfs"
help
Debian has multiple software mirrors scattered around the world.
The following allows you to select your preferred mirror.
Add a custom string to the beginning of the root file system name.
Usually, just add your country code like XX here:
http://ftp.XX.debian.org
config BR2_ROOTFS_SUFFIX
string "Custom root fs suffix"
default ""
help
Add a custom string to the end of the root file system name.
endmenu
config BR2_GNU_BUILD_SUFFIX
string "GNU build hostname suffix"
default "pc-linux-gnu"
help
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.
Here's some copy and paste build host options for you:
linux: pc-linux-gnu
cygwin: pc-cygwin
os x: apple-darwin7 / apple-darwin8
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
@@ -245,14 +243,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
@@ -270,11 +268,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
@@ -339,11 +339,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.
@@ -353,28 +366,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 "package/Config.in.host"
source "fs/Config.in"
source "boot/Config.in"
source "linux/Config.in"
source "target/Config.in"

716
Makefile
View File

@@ -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,74 +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:=2012.02-rc1
# Check for minimal make version (note: this check will break at make 10.x)
MIN_MAKE_VERSION=3.81
ifneq ($(firstword $(sort $(MAKE_VERSION) $(MIN_MAKE_VERSION))),$(MIN_MAKE_VERSION))
$(error You have make '$(MAKE_VERSION)' installed. GNU make >= $(MIN_MAKE_VERSION) is required)
endif
# 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
@@ -131,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
@@ -156,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)
@@ -192,104 +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
unexport CONFIG_SITE
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
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
@@ -303,39 +230,42 @@ include package/Makefile.in
all: world
include support/dependencies/dependencies.mk
# 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
@@ -343,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) $(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 dirs dependencies $(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) $(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
#############################################################
#
@@ -405,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 \
@@ -428,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)
@@ -518,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:'
@@ -649,118 +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
# Create release tarballs. We need to fiddle a bit to add the generated
# documentation to the git output
release:
git archive --format=tar --prefix=$(OUT)/ master > $(OUT).tar
$(MAKE) O=$(OUT) manual-html manual-txt manual-pdf
tar rf $(OUT).tar $(OUT)
gzip -9 -c < $(OUT).tar > $(OUT).tar.gz
bzip2 -9 -c < $(OUT).tar > $(OUT).tar.bz2
rm -rf $(OUT) $(OUT).tar
################################################################################
# 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 $$(@D)
$(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
View 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.

View File

@@ -1,26 +0,0 @@
From 053ba505eb0d40287ac5750daf454af0aed2ce75 Mon Sep 17 00:00:00 2001
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
Date: Tue, 4 Oct 2011 14:19:58 +0200
Subject: [PATCH 1/2] [ARM] mach-types: Re-add apf9328
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
---
arch/arm/tools/mach-types | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
index fff68d0..07811a7 100644
--- a/arch/arm/tools/mach-types
+++ b/arch/arm/tools/mach-types
@@ -188,6 +188,7 @@ omap_2430sdp MACH_OMAP_2430SDP OMAP_2430SDP 900
davinci_evm MACH_DAVINCI_EVM DAVINCI_EVM 901
palmz72 MACH_PALMZ72 PALMZ72 904
nxdb500 MACH_NXDB500 NXDB500 905
+apf9328 MACH_APF9328 APF9328 906
palmt5 MACH_PALMT5 PALMT5 917
palmtc MACH_PALMTC PALMTC 918
omap_apollon MACH_OMAP_APOLLON OMAP_APOLLON 919
--
1.7.3.4

View File

@@ -1,16 +0,0 @@
APF9328 needs CONFIG_MTD_CFI_INTELEXT to boot on its NOR FLASH.
Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
Index: linux-3.1.1/arch/arm/mach-imx/Kconfig
===================================================================
--- linux-3.1.1.orig/arch/arm/mach-imx/Kconfig 2011-11-16 14:45:55.000000000 +0100
+++ linux-3.1.1/arch/arm/mach-imx/Kconfig 2011-11-16 14:47:20.000000000 +0100
@@ -84,6 +84,7 @@
bool "APF9328"
select SOC_IMX1
select IMX_HAVE_PLATFORM_IMX_UART
+ select MTD_CFI_INTELEXT
help
Say Yes here if you are using the Armadeus APF9328 development board

View File

@@ -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

View File

@@ -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 -net nic,model=smc91c111 -net user
The login prompt will appear in the terminal that started Qemu. The
graphical window is the framebuffer.

View File

@@ -1,76 +0,0 @@
CONFIG_MIPS_MALTA=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

View File

@@ -1,7 +0,0 @@
Run the emulation with:
qemu-system-mips -M malta -kernel output/images/vmlinux -serial stdio -hda output/images/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.

View File

@@ -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

View File

@@ -1,7 +0,0 @@
Run the emulation with:
qemu-system-mipsel -M malta -kernel output/images/vmlinux -serial stdio -hda output/images/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.

View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -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.

View File

@@ -1,7 +0,0 @@
Run the emulation with:
qemu-system-sparc -M SS-10 -kernel output/images/zImage -drive file=output/images/rootfs.ext2 -append "root=/dev/sda console=ttyS0,115200" -serial stdio
The login prompt will appear in the terminal that started Qemu.
The graphical window is the framebuffer.

View File

@@ -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

View File

@@ -1,5 +0,0 @@
Run the emulation with:
qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=ide -append root=/dev/sda
The login prompt will appear in the graphical window.

View File

@@ -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

View File

@@ -1,5 +0,0 @@
Run the emulation with:
qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=ide -append root=/dev/sda
The login prompt will appear in the graphical window.

View File

@@ -1,13 +0,0 @@
menu "Bootloaders"
source "boot/at91bootstrap/Config.in"
source "boot/at91dataflashboot/Config.in"
source "boot/barebox/Config.in"
source "boot/grub/Config.in"
source "boot/lpc32xxcdl/Config.in"
source "boot/syslinux/Config.in"
source "boot/uboot/Config.in"
source "boot/xloader/Config.in"
endmenu

View File

@@ -1,50 +0,0 @@
config BR2_TARGET_AT91BOOTSTRAP
depends on BR2_arm926t
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_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 at91bootstrap-<version>-<something>.patch.
Most users may leave this empty
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

View File

@@ -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.

View File

@@ -1,299 +0,0 @@
Every AT91SAM plaforms were broken between 2010.12 and 2011.03 because
of the relocation changes.
We have to get JUMP_ADDR consistant with what is used by u-boot
(CONFIG_SYS_TEXT_BASE).
I didn't know what to do with at91sam9m10g45ek as it doesn't seems to be
converted yet. But anyway, that means that it is either not working or
doesn't care so changing it here shouldn't harm.
I also chose to "repartition" the dataflash. u-boot is now living at
0x4000, letting 16kB for the bootstrap. We also have to increase the
IMG_SIZE as u-boot as grown larger than the default value.
As requested on the u-boot ML, we assume that it could be up to 512kB
big.
It means that now, you have to flash your kernel at 0x0008C000 instead
of 0x00042000. And so you also have to load it from that adress from
u-boot.
Then, remember that you could decrease IMG_SIZE to boot faster.
Signed-off-by: Alexandre Belloni <alexandre.belloni@piout.net>
---
board/at91sam9260ek/dataflash/at91sam9260ek.h | 6 +++---
board/at91sam9260ek/nandflash/at91sam9260ek.h | 2 +-
board/at91sam9261ek/dataflash/at91sam9261ek.h | 6 +++---
board/at91sam9261ek/nandflash/at91sam9261ek.h | 2 +-
board/at91sam9263ek/dataflash/at91sam9263ek.h | 6 +++---
board/at91sam9263ek/nandflash/at91sam9263ek.h | 2 +-
board/at91sam9g10ek/dataflash/at91sam9g10ek.h | 6 +++---
board/at91sam9g10ek/nandflash/at91sam9g10ek.h | 2 +-
board/at91sam9g20ek/dataflash/at91sam9g20ek.h | 6 +++---
board/at91sam9g20ek/nandflash/at91sam9g20ek.h | 2 +-
board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h | 4 ++--
.../at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h | 4 ++--
board/at91sam9rlek/dataflash/at91sam9rlek.h | 6 +++---
board/at91sam9rlek/nandflash/at91sam9rlek.h | 2 +-
board/at91sam9xeek/dataflash/at91sam9xeek.h | 6 +++---
board/at91sam9xeek/nandflash/at91sam9xeek.h | 2 +-
16 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/board/at91sam9260ek/dataflash/at91sam9260ek.h b/board/at91sam9260ek/dataflash/at91sam9260ek.h
index 1834246..5c52bc6 100644
--- a/board/at91sam9260ek/dataflash/at91sam9260ek.h
+++ b/board/at91sam9260ek/dataflash/at91sam9260ek.h
@@ -73,11 +73,11 @@
/* ******************************************************************* */
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS1_DATAFLASH /* Boot on SPI NCS0 */
-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
+#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */
+#define IMG_SIZE 0x80000 /* Image Size in DataFlash */
#define MACH_TYPE 0x44B /* AT91SAM9260-EK */
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
/* ******************************************************************* */
/* Application Settings */
diff --git a/board/at91sam9260ek/nandflash/at91sam9260ek.h b/board/at91sam9260ek/nandflash/at91sam9260ek.h
index 2cac601..f8fdff2 100644
--- a/board/at91sam9260ek/nandflash/at91sam9260ek.h
+++ b/board/at91sam9260ek/nandflash/at91sam9260ek.h
@@ -92,7 +92,7 @@
#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
#define MACH_TYPE 0x44B /* AT91SAM9260-EK */
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
/* ******************************************************************* */
/* Application Settings */
diff --git a/board/at91sam9261ek/dataflash/at91sam9261ek.h b/board/at91sam9261ek/dataflash/at91sam9261ek.h
index 8ce30e9..675f80b 100644
--- a/board/at91sam9261ek/dataflash/at91sam9261ek.h
+++ b/board/at91sam9261ek/dataflash/at91sam9261ek.h
@@ -96,11 +96,11 @@
/* ******************************************************************* */
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */
-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
+#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */
+#define IMG_SIZE 0x80000 /* Image Size in DataFlash */
#define MACH_TYPE 0x350 /* AT91SAM9261-EK */
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
/* ******************************************************************* */
/* Application Settings */
diff --git a/board/at91sam9261ek/nandflash/at91sam9261ek.h b/board/at91sam9261ek/nandflash/at91sam9261ek.h
index badc3ac..e628c97 100644
--- a/board/at91sam9261ek/nandflash/at91sam9261ek.h
+++ b/board/at91sam9261ek/nandflash/at91sam9261ek.h
@@ -114,7 +114,7 @@
#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
#define MACH_TYPE 0x350 /* AT91SAM9261-EK */
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
/* ******************************************************************* */
/* Application Settings */
diff --git a/board/at91sam9263ek/dataflash/at91sam9263ek.h b/board/at91sam9263ek/dataflash/at91sam9263ek.h
index 5c9da4b..d07b5d1 100644
--- a/board/at91sam9263ek/dataflash/at91sam9263ek.h
+++ b/board/at91sam9263ek/dataflash/at91sam9263ek.h
@@ -95,11 +95,11 @@
/* ******************************************************************* */
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */
-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
+#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */
+#define IMG_SIZE 0x80000 /* Image Size in DataFlash */
#define MACH_TYPE 0x4B2 /* AT91SAM9263-EK */
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
/* ******************************************************************* */
/* Application Settings */
diff --git a/board/at91sam9263ek/nandflash/at91sam9263ek.h b/board/at91sam9263ek/nandflash/at91sam9263ek.h
index 505afc7..8ab4f46 100644
--- a/board/at91sam9263ek/nandflash/at91sam9263ek.h
+++ b/board/at91sam9263ek/nandflash/at91sam9263ek.h
@@ -108,7 +108,7 @@
#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
#define MACH_TYPE 1202 /* AT91SAM9263-EK */
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
/* ******************************************************************* */
/* Application Settings */
diff --git a/board/at91sam9g10ek/dataflash/at91sam9g10ek.h b/board/at91sam9g10ek/dataflash/at91sam9g10ek.h
index b2faf44..0882644 100644
--- a/board/at91sam9g10ek/dataflash/at91sam9g10ek.h
+++ b/board/at91sam9g10ek/dataflash/at91sam9g10ek.h
@@ -97,11 +97,11 @@
/* ******************************************************************* */
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */
-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
+#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */
+#define IMG_SIZE 0x80000 /* Image Size in DataFlash */
#define MACH_TYPE 0x350 /* AT91SAM9261-EK */
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
/* ******************************************************************* */
/* Application Settings */
diff --git a/board/at91sam9g10ek/nandflash/at91sam9g10ek.h b/board/at91sam9g10ek/nandflash/at91sam9g10ek.h
index 66c40a3..6c3ecda 100644
--- a/board/at91sam9g10ek/nandflash/at91sam9g10ek.h
+++ b/board/at91sam9g10ek/nandflash/at91sam9g10ek.h
@@ -115,7 +115,7 @@
#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
#define MACH_TYPE 0x350 /* AT91SAM9G10-EK */
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
/* ******************************************************************* */
/* Application Settings */
diff --git a/board/at91sam9g20ek/dataflash/at91sam9g20ek.h b/board/at91sam9g20ek/dataflash/at91sam9g20ek.h
index eea0439..44bd578 100644
--- a/board/at91sam9g20ek/dataflash/at91sam9g20ek.h
+++ b/board/at91sam9g20ek/dataflash/at91sam9g20ek.h
@@ -74,11 +74,11 @@
/* ******************************************************************* */
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS1_DATAFLASH /* Boot on SPI NCS1 */
-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
+#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */
+#define IMG_SIZE 0x80000 /* Image Size in DataFlash */
#define MACH_TYPE 0x658 /* AT91SAM9G20-EK */
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
/* ******************************************************************* */
/* Application Settings */
diff --git a/board/at91sam9g20ek/nandflash/at91sam9g20ek.h b/board/at91sam9g20ek/nandflash/at91sam9g20ek.h
index 31bd499..e797e4d 100644
--- a/board/at91sam9g20ek/nandflash/at91sam9g20ek.h
+++ b/board/at91sam9g20ek/nandflash/at91sam9g20ek.h
@@ -93,7 +93,7 @@
#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
#define MACH_TYPE 0x658 /* AT91SAM9G20-EK */
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
/* ******************************************************************* */
/* Application Settings */
diff --git a/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h b/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h
index a60fd41..144dd6d 100644
--- a/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h
+++ b/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h
@@ -88,8 +88,8 @@
/* ******************************************************************* */
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */
-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
+#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */
+#define IMG_SIZE 0x80000 /* Image Size in DataFlash */
#define MACH_TYPE 0x9CD /* AT91SAM9M10-EKES */
#define JUMP_ADDR 0x73F00000 /* Final Jump Address */
diff --git a/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h b/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h
index 5c726b5..3152b79 100644
--- a/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h
+++ b/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h
@@ -84,8 +84,8 @@
/* ******************************************************************* */
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */
-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
+#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */
+#define IMG_SIZE 0x80000 /* Image Size in DataFlash */
#define MACH_TYPE 0x726 /* AT91SAM9M10G45-EK */
#define JUMP_ADDR 0x73F00000 /* Final Jump Address */
diff --git a/board/at91sam9rlek/dataflash/at91sam9rlek.h b/board/at91sam9rlek/dataflash/at91sam9rlek.h
index 05c42dc..be277b6 100644
--- a/board/at91sam9rlek/dataflash/at91sam9rlek.h
+++ b/board/at91sam9rlek/dataflash/at91sam9rlek.h
@@ -88,11 +88,11 @@
/* ******************************************************************* */
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */
-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
+#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */
+#define IMG_SIZE 0x80000 /* Image Size in DataFlash */
#define MACH_TYPE 1326 /* AT91SAM9RL-EK */
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
/* ******************************************************************* */
/* Application Settings */
diff --git a/board/at91sam9rlek/nandflash/at91sam9rlek.h b/board/at91sam9rlek/nandflash/at91sam9rlek.h
index 656b4ba..594db8f 100644
--- a/board/at91sam9rlek/nandflash/at91sam9rlek.h
+++ b/board/at91sam9rlek/nandflash/at91sam9rlek.h
@@ -112,7 +112,7 @@
#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
#define MACH_TYPE 1326 /* AT91SAM9RL-EK */
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
/* ******************************************************************* */
/* Application Settings */
diff --git a/board/at91sam9xeek/dataflash/at91sam9xeek.h b/board/at91sam9xeek/dataflash/at91sam9xeek.h
index 27d1822..e3172da 100644
--- a/board/at91sam9xeek/dataflash/at91sam9xeek.h
+++ b/board/at91sam9xeek/dataflash/at91sam9xeek.h
@@ -73,11 +73,11 @@
/* ******************************************************************* */
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS1_DATAFLASH /* Boot on SPI NCS1 */
-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
+#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */
+#define IMG_SIZE 0x80000 /* Image Size in DataFlash */
#define MACH_TYPE 0x44B /* AT91SAM9XE-EK same id as AT91SAM9260-EK*/
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
/* ******************************************************************* */
/* Application Settings */
diff --git a/board/at91sam9xeek/nandflash/at91sam9xeek.h b/board/at91sam9xeek/nandflash/at91sam9xeek.h
index 5dbc63e..9fac7cb 100644
--- a/board/at91sam9xeek/nandflash/at91sam9xeek.h
+++ b/board/at91sam9xeek/nandflash/at91sam9xeek.h
@@ -94,7 +94,7 @@
#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
#define MACH_TYPE 0x44B /* AT91SAM9XE-EK same id as AT91SAM9260-EK*/
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
/* ******************************************************************* */
/* Application Settings */
--
1.7.5.4

View File

@@ -1,50 +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
ifneq ($(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR)),)
define AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES
support/scripts/apply-patches.sh $(@D) $(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR) \
at91bootstrap-$(AT91BOOTSTRAP_VERSION)-\*.patch
endef
AT91BOOTSTRAP_POST_PATCH_HOOKS += AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES
endif
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

View File

@@ -1,3 +0,0 @@
config BR2_TARGET_AT91DATAFLASHBOOT
depends on BR2_arm926t
bool "AT91 DataFlashBoot"

View File

@@ -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

View File

@@ -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" */

View File

@@ -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))

View File

@@ -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_2012_02
help
Select the specific Barebox version you want to use
config BR2_TARGET_BAREBOX_2011_12
depends on BR2_DEPRECATED
bool "2011.12"
config BR2_TARGET_BAREBOX_2012_01
bool "2012.01"
config BR2_TARGET_BAREBOX_2012_02
bool "2012.02"
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.12.0" if BR2_TARGET_BAREBOX_2011_12
default "2012.01.0" if BR2_TARGET_BAREBOX_2012_01
default "2012.02.0" if BR2_TARGET_BAREBOX_2012_02
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

View File

@@ -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

View File

@@ -1 +0,0 @@
include boot/*/*.mk

View File

@@ -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

View File

@@ -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 -g0 -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))

View File

@@ -1,10 +0,0 @@
config BR2_TARGET_LPC32XXCDL
depends on BR2_arm926t
bool "LPC32XX CDL (kickstart and S1L)"
if BR2_TARGET_LPC32XXCDL
config BR2_TARGET_LPC32XXCDL_BOARDNAME
string "LPC32xx board name"
endif #BR2_TARGET_LPC32XXCDL

View File

@@ -1,52 +0,0 @@
Use CROSS_COMPILE as compiler name and stop using libc
Signed-off-by: Alexandre Belloni <abelloni@adeneo-embedded.com>
---
makerule/lpc32xx/make.lpc32xx.gnu | 22 +++++++++++-----------
1 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/makerule/lpc32xx/make.lpc32xx.gnu b/makerule/lpc32xx/make.lpc32xx.gnu
index 1014c28..3277d99 100644
--- a/makerule/lpc32xx/make.lpc32xx.gnu
+++ b/makerule/lpc32xx/make.lpc32xx.gnu
@@ -27,19 +27,19 @@ CFLAGS += -mno-sched-prolog -fno-hosted -mno-thumb-interwork -ffunction-sectio
CFLAGS += -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR)
AFLAGS = -mcpu=arm926ej-s
AFLAGS += -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR)
-CC = arm-none-eabi-gcc
-AS = arm-none-eabi-as
-AR = arm-none-eabi-ar -r
-LD = arm-none-eabi-gcc
-NM = arm-none-eabi-nm
-OBJDUMP = arm-none-eabi-objdump
-OBJCOPY = arm-none-eabi-objcopy
-READELF = arm-none-eabi-readelf
+CC = $(CROSS_COMPILE)gcc
+AS = $(CROSS_COMPILE)as
+AR = $(CROSS_COMPILE)ar -r
+LD = $(CROSS_COMPILE)gcc
+NM = $(CROSS_COMPILE)nm
+OBJDUMP = $(CROSS_COMPILE)objdump
+OBJCOPY = $(CROSS_COMPILE)objcopy
+READELF = $(CROSS_COMPILE)readelf
LDFLAGS += -Wl,--gc-sections
LK = -static
LK += -Wl,--start-group $(TARGET_CSP_LIB) $(TARGET_BSP_LIB) $(TARGET_GEN_LIB)
-LK += -lgcc -lc -lg -lm -lstdc++ -lsupc++
+LK += -nostdlib -lgcc #-lc -lg -lm -lstdc++ -lsupc++
LK += -Wl,--end-group
MAP = -Xlinker -Map -Xlinker
LDESC = -Xlinker -T
@@ -47,6 +47,6 @@ ENTRY = -e
BIN = -bin
EXT = .elf
LEXT =
-ELFTOREC =arm-none-eabi-objcopy -O srec --strip-all --verbose
-ELFTOBIN =arm-none-eabi-objcopy -I elf32-littlearm -O binary --strip-all --verbose
+ELFTOREC = $(OBJCOPY) -O srec --strip-all --verbose
+ELFTOBIN = $(OBJCOPY) -I elf32-littlearm -O binary --strip-all --verbose
REC =.srec
--
1.7.7.3

View File

@@ -1,969 +0,0 @@
Remove duplicated files to stop the linker from complaining about duplicate
symbols
Signed-off-by: Alexandre Belloni <abelloni@adeneo-embedded.com>
---
--- a/csps/lpc32xx/bsps/fdi3250/startup/examples/s1l/sysapi_timer.c 2011-10-05 19:10:37.000000000 +0200
+++ /dev/null 2012-01-01 16:39:47.918907000 +0100
@@ -1,212 +0,0 @@
-/***********************************************************************
- * $Id:: sysapi_timer.c 3394 2010-05-06 17:56:27Z usb10132 $
- *
- * Project: Time support functions
- *
- * Description:
- * Implements the following functions required for the S1L API
- * time_init
- * time_reset
- * time_start
- * time_stop
- * time_get
- * time_get_rate
- *
- ***********************************************************************
- * Software that is described herein is for illustrative purposes only
- * which provides customers with programming information regarding the
- * products. This software is supplied "AS IS" without any warranties.
- * NXP Semiconductors assumes no responsibility or liability for the
- * use of the software, conveys no license or title under any patent,
- * copyright, or mask work right to the product. NXP Semiconductors
- * reserves the right to make changes in the software without
- * notification. NXP Semiconductors also make no representation or
- * warranty that such application will be suitable for the specified
- * use without further testing or modification.
- **********************************************************************/
-
-#include "s1l_sys_inf.h"
-#include "lpc32xx_intc_driver.h"
-#include "lpc32xx_timer_driver.h"
-
-static UNS_64 base_rate;
-static INT_32 tdev = 0;
-
-/***********************************************************************
- *
- * Function: time_init
- *
- * Purpose: Initializes time system
- *
- * Processing: Initializes the system timer.
- *
- * Parameters: None
- *
- * Outputs: None
- *
- * Returns: 0 if the init failed, otherwise non-zero
- *
- * Notes: None
- *
- **********************************************************************/
-INT_32 time_init(void)
-{
- TMR_PSCALE_SETUP_T pscale;
-
- /* Open timer driver */
- if (tdev == 0)
- {
- tdev = timer_open((void *) TIMER_CNTR0, 0);
- if (tdev != 0)
- {
- /* Use a prescale count to 100000 */
- pscale.ps_tick_val = 100000;
- pscale.ps_us_val = 0; /* Not needed when ps_tick_val != 0 */
- timer_ioctl(tdev, TMR_SETUP_PSCALE, (INT_32) &pscale);
-
- /* Get timer clock rate */
- base_rate = (UNS_64) timer_ioctl(tdev, TMR_GET_STATUS,
- TMR_GET_CLOCK);
- }
- }
-
- return tdev;
-}
-
-/***********************************************************************
- *
- * Function: time_reset
- *
- * Purpose: Resets system timer
- *
- * Processing:
- * See function.
- *
- * Parameters: None
- *
- * Outputs: None
- *
- * Returns: Nothing
- *
- * Notes: None
- *
- **********************************************************************/
-void time_reset(void)
-{
- if (tdev != 0)
- {
- timer_ioctl(tdev, TMR_RESET, 1);
- }
-}
-
-/***********************************************************************
- *
- * Function: time_start
- *
- * Purpose: Starts system timer
- *
- * Processing:
- * See function.
- *
- * Parameters: None
- *
- * Outputs: None
- *
- * Returns: Nothing
- *
- * Notes: None
- *
- **********************************************************************/
-void time_start(void)
-{
- if (tdev != 0)
- {
- timer_ioctl(tdev, TMR_ENABLE, 1);
- }
-}
-
-/***********************************************************************
- *
- * Function: time_stop
- *
- * Purpose: Stops system timer
- *
- * Processing:
- * See function.
- *
- * Parameters: None
- *
- * Outputs: None
- *
- * Returns: Nothing
- *
- * Notes: None
- *
- **********************************************************************/
-void time_stop(void)
-{
- if (tdev != 0)
- {
- timer_ioctl(tdev, TMR_ENABLE, 0);
- }
-}
-
-/***********************************************************************
- *
- * Function: time_get
- *
- * Purpose: Returns current system time value
- *
- * Processing:
- * See function.
- *
- * Parameters: None
- *
- * Outputs: None
- *
- * Returns: The number of ticks of the timer counter
- *
- * Notes: None
- *
- **********************************************************************/
-UNS_64 time_get(void)
-{
- TMR_COUNTS_T tcounts;
- UNS_64 ticks = 0;
-
- if (tdev != 0)
- {
- timer_ioctl(tdev, TMR_GET_COUNTS, (INT_32) &tcounts);
-
- /* Compute number of timer ticks */
- ticks = (UNS_64) tcounts.count_val * 100000;
- ticks = ticks + (UNS_64) tcounts.ps_count_val;
- }
-
- return ticks;
-}
-
-/***********************************************************************
- *
- * Function: time_get_rate
- *
- * Purpose:
- * Returns base tick rate (ticks per second) of the time counter
- *
- * Processing:
- * See function.
- *
- * Parameters: None
- *
- * Outputs: None
- *
- * Returns: The timer tick rate (in ticks per second)
- *
- * Notes: None
- *
- **********************************************************************/
-UNS_64 time_get_rate(void)
-{
- return base_rate;
-}
-
--- a/csps/lpc32xx/bsps/fdi3250/startup/examples/s1l/sys_mmu_cmd_group.c 2011-10-05 19:10:37.000000000 +0200
+++ /dev/null 2012-01-01 16:39:47.918907000 +0100
@@ -1,746 +0,0 @@
-/***********************************************************************
- * $Id:: sys_mmu_cmd_group.c 3430 2010-05-07 17:39:08Z usb10132 $
- *
- * Project: Command processor for peek, poke, dump, and fill
- *
- * Description:
- * Processes commands from the command prompt
- *
- ***********************************************************************
- * Software that is described herein is for illustrative purposes only
- * which provides customers with programming information regarding the
- * products. This software is supplied "AS IS" without any warranties.
- * NXP Semiconductors assumes no responsibility or liability for the
- * use of the software, conveys no license or title under any patent,
- * copyright, or mask work right to the product. NXP Semiconductors
- * reserves the right to make changes in the software without
- * notification. NXP Semiconductors also make no representation or
- * warranty that such application will be suitable for the specified
- * use without further testing or modification.
- **********************************************************************/
-
-#include "lpc_arm922t_cp15_driver.h"
-#include "lpc_string.h"
-#include "startup.h"
-#include "s1l_cmds.h"
-#include "s1l_sys_inf.h"
-
-/* dcache command */
-BOOL_32 cmd_dcache(void);
-static UNS_32 cmd_dcache_plist[] =
-{
- (PARSE_TYPE_STR), /* The "dcache" command */
- (PARSE_TYPE_DEC | PARSE_TYPE_END)
-};
-static CMD_ROUTE_T core_dcache_cmd =
-{
- (UNS_8 *) "dcache",
- cmd_dcache,
- (UNS_8 *) "Enables, disables, or flushes data cache",
- (UNS_8 *) "dcache [0(disable), 1(enable), 2(flush)]",
- cmd_dcache_plist,
- NULL
-};
-
-/* icache command */
-BOOL_32 cmd_icache(void);
-static UNS_32 cmd_icache_plist[] =
-{
- (PARSE_TYPE_STR), /* The "icache" command */
- (PARSE_TYPE_DEC | PARSE_TYPE_END)
-};
-static CMD_ROUTE_T core_icache_cmd =
-{
- (UNS_8 *) "icache",
- cmd_icache,
- (UNS_8 *) "Enables or disables instruction cache",
- (UNS_8 *) "icache [0(disable), 1(enable)]",
- cmd_icache_plist,
- NULL
-};
-
-/* inval command */
-BOOL_32 cmd_inval(void);
-static UNS_32 cmd_inval_plist[] =
-{
- (PARSE_TYPE_STR | PARSE_TYPE_END) /* The "inval" command */
-};
-static CMD_ROUTE_T core_inval_cmd =
-{
- (UNS_8 *) "inval",
- cmd_inval,
- (UNS_8 *) "Flushes data cache and invalidates instruction cache",
- (UNS_8 *) "inval",
- cmd_inval_plist,
- NULL
-};
-
-/* mmuenab command */
-BOOL_32 cmd_mmuenab(void);
-static UNS_32 cmd_mmuenab_plist[] =
-{
- (PARSE_TYPE_STR), /* The "mmuenab" command */
- (PARSE_TYPE_DEC | PARSE_TYPE_END)
-};
-static CMD_ROUTE_T core_mmuenab_cmd =
-{
- (UNS_8 *) "mmuenab",
- cmd_mmuenab,
- (UNS_8 *) "Enables or disables the MMU",
- (UNS_8 *) "mmuenab [0(disable), 1(enable)]",
- cmd_mmuenab_plist,
- NULL
-};
-
-/* map command */
-BOOL_32 cmd_map(void);
-static UNS_32 cmd_map_plist[] =
-{
- (PARSE_TYPE_STR), /* The "map" command */
- (PARSE_TYPE_HEX),
- (PARSE_TYPE_HEX),
- (PARSE_TYPE_DEC),
- (PARSE_TYPE_DEC | PARSE_TYPE_END),
-};
-static CMD_ROUTE_T core_map_cmd =
-{
- (UNS_8 *) "map",
- cmd_map,
- (UNS_8 *) "Maps a range of physical address sections to virtual addresses",
- (UNS_8 *) "map [virt hex addr][phy hex addr][sections][0(uncached), 1(cached), 2(unmap)]",
- cmd_map_plist,
- NULL
-};
-
-/* mmuinfo command */
-static BOOL_32 cmd_mmuinfo(void);
-static UNS_32 cmd_mmuinfo_plist[] =
-{
- (PARSE_TYPE_STR | PARSE_TYPE_END) /* The "mmuinfo" command */
-};
-static CMD_ROUTE_T core_mmuinfo_cmd =
-{
- (UNS_8 *) "mmuinfo",
- cmd_mmuinfo,
- (UNS_8 *) "Dumps page table and MMU info",
- (UNS_8 *) "mmuinfo",
- cmd_mmuinfo_plist,
- NULL
-};
-
-/* MMU group */
-static GROUP_LIST_T mmu_group =
-{
- (UNS_8 *) "mmu", /* mmu group */
- (UNS_8 *) "MMU command group",
- NULL,
- NULL
-};
-
-static UNS_8 enabled_msg [] =" enabled";
-static UNS_8 disabled_msg [] =" disabled";
-static UNS_8 dcache_msg[] = "Data cache";
-static UNS_8 icache_msg[] = "Instruction cache";
-static UNS_8 pagetab_msg[] = "Page table at address: ";
-static UNS_8 slist_msg[] = "Type Virt Phy fl Size";
-static UNS_8 mmu_msg [] ="MMU";
-static UNS_8 cpage_msg[] = "Coarse page:";
-static UNS_8 fpage_msg[] = "Fine page :";
-static UNS_8 sect_msg[] = "Section :";
-static UNS_8 mbytes_msg[] = "M";
-static UNS_8 map1_err_msg[] =
- "Error : section addresses must be aligned on a 32-bit boundary";
-static UNS_8 map2_err_msg[] =
- "Error : Number of sections exceeds address range of device";
-static UNS_8 phya_msg[] = "Virtual address ";
-static UNS_8 mapped_msg[] = " mapped to physical address ";
-static UNS_8 unmapped_msg[] = " unmapped from physical address ";
-static UNS_8 cached_msg[] = " (cached)";
-static UNS_8 inval_msg[] = " invalidated";
-static UNS_8 caches_msg [] ="Caches";
-static UNS_8 flushed_msg[] = " flushed";
-
-/***********************************************************************
- *
- * Function: show_section
- *
- * Purpose: Display section information
- *
- * Processing:
- * See function.
- *
- * Parameters:
- * mmu_reg : MMU settings for this section
- * virt_addr : Starting virtual address for this section
- * segs : Number of 1M segments for this section
- *
- * Outputs: None
- *
- * Returns: Nothing
- *
- * Notes: None
- *
- **********************************************************************/
-static void show_section(UNS_32 mmu_reg,
- UNS_32 virt_addr,
- UNS_32 segs)
-{
- UNS_8 straddr [16];
- UNS_32 mmu_phy;
-
- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) !=
- ARM922T_L1D_TYPE_FAULT)
- {
- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) ==
- ARM922T_L1D_TYPE_CPAGE)
- {
- term_dat_out(cpage_msg);
- }
- else if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) ==
- ARM922T_L1D_TYPE_FPAGE)
- {
- term_dat_out(fpage_msg);
- }
- else
- {
- term_dat_out(sect_msg);
- }
-
- /* Compute virtual address */
- str_makehex(straddr, virt_addr, 8);
- term_dat_out(straddr);
- term_dat_out((UNS_8 *) " ");
-
- /* Compute mapped physical address */
- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) ==
- ARM922T_L1D_TYPE_SECTION)
- {
- mmu_phy = mmu_reg & 0xFFF00000;
- }
- else
- {
- /* Don't compute addresses for non-sections */
- mmu_phy = 0;
- }
- str_makehex(straddr, mmu_phy, 8);
- term_dat_out(straddr);
- term_dat_out((UNS_8 *) " ");
-
- /* MMU flags */
- if ((mmu_reg & ARM922T_L1D_BUFFERABLE) != 0)
- {
- term_dat_out((UNS_8 *) "b");
- }
- else
- {
- term_dat_out((UNS_8 *) " ");
- }
- if ((mmu_reg & ARM922T_L1D_CACHEABLE) != 0)
- {
- term_dat_out((UNS_8 *) "c");
- }
- else
- {
- term_dat_out((UNS_8 *) " ");
- }
- term_dat_out((UNS_8 *) " ");
-
- /* Displays used megabytes */
- str_makedec(straddr, segs);
- term_dat_out(straddr);
- term_dat_out_crlf(mbytes_msg);
- }
-}
-
-/***********************************************************************
- *
- * Function: mmu_dumpinfo
- *
- * Purpose: Display MMU info
- *
- * Processing:
- * Display the MMU information, including enable status, cache
- * status, and page table.
- *
- * Parameters: None
- *
- * Outputs: None
- *
- * Returns: TRUE if the command was processed, otherwise FALSE
- *
- * Notes: None
- *
- **********************************************************************/
-static BOOL_32 mmu_dumpinfo(void)
-{
- UNS_32 segsz, last_mmu_reg, mmu_vrt, mmu_reg, mmu_vrtsav = 0, *pt;
- UNS_32 mlast_mmu_reg, mmmu_reg;
- int idx;
- UNS_8 hexaddr [16];
-
- term_dat_out(mmu_msg);
- if (cp15_mmu_enabled() == FALSE)
- {
- term_dat_out_crlf(disabled_msg);
- }
- else
- {
- term_dat_out_crlf(enabled_msg);
-
- /* Get MMU control register word */
- mmu_reg = cp15_get_mmu_control_reg();
-
- /* Instruction cache status */
- term_dat_out(icache_msg);
- if ((mmu_reg & ARM922T_MMU_CONTROL_I) == 0)
- {
- term_dat_out_crlf(disabled_msg);
- }
- else
- {
- term_dat_out_crlf(enabled_msg);
- }
-
- /* Data cache status */
- term_dat_out(dcache_msg);
- if ((mmu_reg & ARM922T_MMU_CONTROL_C) == 0)
- {
- term_dat_out_crlf(disabled_msg);
- }
- else
- {
- term_dat_out_crlf(enabled_msg);
- }
-
- term_dat_out(pagetab_msg);
- mmu_reg = (UNS_32) cp15_get_ttb();
- str_makehex(hexaddr, mmu_reg, 8);
- term_dat_out_crlf(hexaddr);
- term_dat_out_crlf(slist_msg);
-
- /* Process MMU table - assume that the physical and
- virtual locations of table are the same */
- pt = (UNS_32 *) mmu_reg;
- mmu_vrt = 0x0;
- segsz = 0xFFFFFFFF;
- last_mmu_reg = mlast_mmu_reg = 0xFFFFFFFF;
- for (idx = 0; idx < 4096; idx++)
- {
- mmu_reg = *pt;
- mmmu_reg = (mmu_reg & (ARM922T_L1D_TYPE_PG_SN_MASK |
- ARM922T_L1D_BUFFERABLE | ARM922T_L1D_CACHEABLE));
- segsz = segsz + 1;
-
- if ((last_mmu_reg != 0xFFFFFFFF) &&
- (mlast_mmu_reg != mmmu_reg))
- {
- show_section(last_mmu_reg, mmu_vrtsav, segsz);
- segsz = 0;
- }
-
- if (mlast_mmu_reg != mmmu_reg)
- {
- mmu_vrtsav = mmu_vrt;
- last_mmu_reg = mmu_reg;
- mlast_mmu_reg = mmmu_reg;
- }
-
- pt++;
- mmu_vrt += 0x00100000;
- }
- }
-
- return TRUE;
-}
-
-/***********************************************************************
- *
- * Function: mmu_dumpmap
- *
- * Purpose: Map a virtual address range to a physical range
- *
- * Processing:
- * From the input addresses and number of sections, generate the
- * appropriate entries in the page table.
- *
- * Parameters: None
- *
- * Outputs: None
- *
- * Returns: TRUE if the command was processed, otherwise FALSE
- *
- * Notes: None
- *
- **********************************************************************/
-static BOOL_32 mmu_dumpmap(UNS_32 vrt,
- UNS_32 phy,
- UNS_32 sections,
- UNS_32 cache)
-{
- BOOL_32 processed = FALSE;
- UNS_32 mmu_phy, mmu_vrt, tmp1 = 0, tmp2, *pt;
- UNS_8 hexaddr [16];
-
- /* Verify address boundaries are sectional */
- mmu_vrt = vrt & ~ARM922T_L2D_SN_BASE_MASK;
- mmu_phy = phy & ~ARM922T_L2D_SN_BASE_MASK;
- if ((mmu_vrt != 0) || (mmu_phy != 0))
- {
- term_dat_out_crlf(map1_err_msg);
- }
- else
- {
- /* Verify that address range and section count will not
- exceed address range of device */
- tmp1 = vrt >> 20;
- tmp1 = (tmp1 + sections) - 1;
- tmp2 = phy >> 20;
- tmp2 = (tmp2 + sections) - 1;
- if ((tmp1 < 4096) && (tmp2 < 4096))
- {
- /* Good address range and good section count */
- processed = TRUE;
- }
- else
- {
- term_dat_out_crlf(map2_err_msg);
- }
- }
-
- /* Generate static part of MMU word */
- if (cache == 0)
- {
- /* Section mapped with cache disabled */
- tmp1 = ARM922T_L1D_TYPE_SECTION;
- }
- else if (cache == 1)
- {
- /* Section mapped with cache enabled */
- tmp1 = (ARM922T_L1D_BUFFERABLE | ARM922T_L1D_CACHEABLE |
- ARM922T_L1D_TYPE_SECTION);
- }
- else if (cache == 2)
- {
- /* Section unmapped */
- tmp1 = ARM922T_L1D_TYPE_FAULT;
- }
- tmp1 |= ARM922T_L1D_AP_ALL;
-
- /* Offset into page table for virtual address */
- tmp2 = (vrt >> 20);
- pt = cp15_get_ttb() + tmp2;
-
- /* Loop until all sections are complete */
- while ((sections > 0) && (processed == TRUE))
- {
- /* Add in physical address */
- tmp2 = tmp1 | (phy & ARM922T_L2D_SN_BASE_MASK);
-
- /* Save new section descriptor for virtual address */
- *pt = tmp2;
-
- /* Output message shown the map */
- term_dat_out(phya_msg);
- str_makehex(hexaddr, phy, 8);
- term_dat_out(hexaddr);
- if (cache == 2)
- {
- term_dat_out(unmapped_msg);
- }
- else
- {
- term_dat_out(mapped_msg);
- }
- str_makehex(hexaddr, vrt, 8);
- term_dat_out(hexaddr);
- if (cache == 1)
- {
- term_dat_out(cached_msg);
- }
- term_dat_out_crlf((UNS_8 *) "");
-
- /* Next section and page table entry*/
- phy += 0x00100000;
- vrt += 0x00100000;
- pt++;
- sections--;
- }
-
- return processed;
-}
-
-/***********************************************************************
- *
- * Function: cmd_mmuinfo
- *
- * Purpose: Display MMU information
- *
- * Processing:
- * See function.
- *
- * Parameters: None
- *
- * Outputs: None
- *
- * Returns: TRUE if the command was processed, otherwise FALSE
- *
- * Notes: None
- *
- **********************************************************************/
-static BOOL_32 cmd_mmuinfo(void)
-{
- mmu_dumpinfo();
-
- return TRUE;
-}
-
-/***********************************************************************
- *
- * Function: cmd_map
- *
- * Purpose: Map a physical address region to a virtual region
- *
- * Processing:
- * See function.
- *
- * Parameters: None
- *
- * Outputs: None
- *
- * Returns: TRUE if the command was processed, otherwise FALSE
- *
- * Notes: None
- *
- **********************************************************************/
-BOOL_32 cmd_map(void)
-{
- UNS_32 phy, virt, sects, ce = 0;
-
- /* Get arguments */
- virt = cmd_get_field_val(1);
- phy = cmd_get_field_val(2);
- sects = cmd_get_field_val(3);
- ce = cmd_get_field_val(4);
-
- if (ce <= 2)
- {
- mmu_dumpmap(virt, phy, sects, ce);
- }
-
- return TRUE;
-}
-
-/***********************************************************************
- *
- * Function: cmd_inval
- *
- * Purpose: MMU cache flush and invalidate
- *
- * Processing:
- * See function.
- *
- * Parameters: None
- *
- * Outputs: None
- *
- * Returns: TRUE if the command was processed, otherwise FALSE
- *
- * Notes: None
- *
- **********************************************************************/
-BOOL_32 cmd_inval(void)
-{
- dcache_flush();
- icache_inval();
- term_dat_out(caches_msg);
- term_dat_out(inval_msg);
-
- return TRUE;
-}
-
-/***********************************************************************
- *
- * Function: cmd_dcache
- *
- * Purpose: MMU data cache enable and disable
- *
- * Processing:
- * If the value passed in the parser is 1, enable the data cache,
- * otherwise disable the data cache.
- *
- * Parameters: None
- *
- * Outputs: None
- *
- * Returns: TRUE if the command was processed, otherwise FALSE
- *
- * Notes: None
- *
- **********************************************************************/
-BOOL_32 cmd_dcache(void)
-{
- UNS_32 cenable;
- UNS_8 *ppar;
-
- /* Get argument */
- cenable = cmd_get_field_val(1);
-
- switch (cenable)
- {
- case 0:
- dcache_flush();
- cp15_set_dcache(0);
- ppar = disabled_msg;
- break;
-
- case 1:
- cp15_invalidate_cache();
- cp15_set_dcache(1);
- ppar = enabled_msg;
- break;
-
- case 2:
- default:
- dcache_flush();
- ppar = flushed_msg;
- break;
- }
-
- term_dat_out(dcache_msg);
- term_dat_out_crlf(ppar);
-
- return TRUE;
-}
-
-/***********************************************************************
- *
- * Function: cmd_icache
- *
- * Purpose: MMU instruction cache enable and disable
- *
- * Processing:
- * If the value passed in the parser is 1, enable the instruction
- * cache, otherwise disable the instruction cache.
- *
- * Parameters: None
- *
- * Outputs: None
- *
- * Returns: TRUE if the command was processed, otherwise FALSE
- *
- * Notes: None
- *
- **********************************************************************/
-BOOL_32 cmd_icache(void)
-{
- UNS_32 cenable;
- UNS_8 *ppar;
-
- /* Get argument */
- cenable = cmd_get_field_val(1);
-
- if (cenable == 1)
- {
- dcache_flush();
- cp15_invalidate_cache();
- cp15_set_icache(1);
- ppar = enabled_msg;
- }
- else
- {
- cp15_set_icache(0);
- ppar = disabled_msg;
- }
-
- term_dat_out(icache_msg);
- term_dat_out_crlf(ppar);
-
- return TRUE;
-}
-
-
-/***********************************************************************
- *
- * Function: cmd_mmuenab
- *
- * Purpose: Enable or disable MMU
- *
- * Processing:
- * See function.
- *
- * Parameters: None
- *
- * Outputs: None
- *
- * Returns: TRUE if the command was processed, otherwise FALSE
- *
- * Notes: None
- *
- **********************************************************************/
-BOOL_32 cmd_mmuenab(void)
-{
- UNS_8 *ppar;
- UNS_32 cenable;
-
- term_dat_out_crlf((UNS_8 *) "Warning: Changing MMU status on "
- " cached and buffered code can cause system crashes.");
-
- /* Get argument */
- cenable = cmd_get_field_val(1);
-
- if (cenable == 1)
- {
- if ((cp15_get_mmu_control_reg() & ARM922T_MMU_CONTROL_C) != 0)
- {
- cp15_invalidate_cache();
- }
-
- cp15_set_mmu(1);
- ppar = enabled_msg;
- }
- else
- {
- cp15_dcache_flush();
- cp15_write_buffer_flush();
- cp15_invalidate_cache();
- cp15_set_mmu(0);
- ppar = disabled_msg;
- }
-
- term_dat_out(mmu_msg);
- term_dat_out_crlf(ppar);
-
- return TRUE;
-}
-
-/***********************************************************************
- *
- * Function: mmu_cmd_group_init
- *
- * Purpose: Initialize MMU command group
- *
- * Processing:
- * See function.
- *
- * Parameters: None
- *
- * Outputs: None
- *
- * Returns: Nothin
- *
- * Notes: None
- *
- **********************************************************************/
-void mmu_cmd_group_init(void)
-{
- /* Add MMU group */
- cmd_add_group(&mmu_group);
-
- /* Add commands to the MMU group */
- cmd_add_new_command(&mmu_group, &core_dcache_cmd);
- cmd_add_new_command(&mmu_group, &core_icache_cmd);
- cmd_add_new_command(&mmu_group, &core_inval_cmd);
- cmd_add_new_command(&mmu_group, &core_mmuenab_cmd);
- cmd_add_new_command(&mmu_group, &core_map_cmd);
- cmd_add_new_command(&mmu_group, &core_mmuinfo_cmd);
-}

View File

@@ -1,188 +0,0 @@
Fix compilation and eabi issues
Since we are not linking with libc anymore, we need to define our own memset,
strlen and memcpy. Also, as we are using a *libc compiler, we need to "handle"
exceptions (mostly division by 0) by defining raise() and
__aeabi_unwind_cpp_pr0.
Signed-off-by: Alexandre Belloni <abelloni@adeneo-embedded.com>
---
csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++
csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++
csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++
3 files changed, 123 insertions(+), 0 deletions(-)
diff --git a/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c
index 385b0ab..f1f0a0a 100644
--- a/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c
+++ b/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c
@@ -25,6 +25,7 @@
#include <errno.h>
#include <sys/times.h>
#include <sys/stat.h>
+#include <sys/types.h>
/* errno definition */
#undef errno
@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){
return 0;
}
+void * memset(void * s,int c,size_t count)
+{
+ char *xs = (char *) s;
+
+ while (count--)
+ *xs++ = c;
+
+ return s;
+}
+
+
+size_t strlen(const char * s)
+{
+ const char *sc;
+
+ for (sc = s; *sc != '\0'; ++sc)
+ /* nothing */;
+ return sc - s;
+}
+
+void * memcpy(void * dest,const void *src,size_t count)
+{
+ char *tmp = (char *) dest, *s = (char *) src;
+
+ while (count--)
+ *tmp++ = *s++;
+
+ return dest;
+}
+
+
+/* Dummy functions to avoid linker complaints */
+void __aeabi_unwind_cpp_pr0(void)
+{
+};
+
+void raise(void)
+{
+};
+
#endif /*__GNUC__*/
diff --git a/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c
index 385b0ab..f1f0a0a 100644
--- a/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c
+++ b/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c
@@ -25,6 +25,7 @@
#include <errno.h>
#include <sys/times.h>
#include <sys/stat.h>
+#include <sys/types.h>
/* errno definition */
#undef errno
@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){
return 0;
}
+void * memset(void * s,int c,size_t count)
+{
+ char *xs = (char *) s;
+
+ while (count--)
+ *xs++ = c;
+
+ return s;
+}
+
+
+size_t strlen(const char * s)
+{
+ const char *sc;
+
+ for (sc = s; *sc != '\0'; ++sc)
+ /* nothing */;
+ return sc - s;
+}
+
+void * memcpy(void * dest,const void *src,size_t count)
+{
+ char *tmp = (char *) dest, *s = (char *) src;
+
+ while (count--)
+ *tmp++ = *s++;
+
+ return dest;
+}
+
+
+/* Dummy functions to avoid linker complaints */
+void __aeabi_unwind_cpp_pr0(void)
+{
+};
+
+void raise(void)
+{
+};
+
#endif /*__GNUC__*/
diff --git a/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c
index cfdb674..6b50c60 100644
--- a/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c
+++ b/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c
@@ -25,6 +25,7 @@
#include <errno.h>
#include <sys/times.h>
#include <sys/stat.h>
+#include <sys/types.h>
/* errno definition */
#undef errno
@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){
return 0;
}
+void * memset(void * s,int c,size_t count)
+{
+ char *xs = (char *) s;
+
+ while (count--)
+ *xs++ = c;
+
+ return s;
+}
+
+
+size_t strlen(const char * s)
+{
+ const char *sc;
+
+ for (sc = s; *sc != '\0'; ++sc)
+ /* nothing */;
+ return sc - s;
+}
+
+void * memcpy(void * dest,const void *src,size_t count)
+{
+ char *tmp = (char *) dest, *s = (char *) src;
+
+ while (count--)
+ *tmp++ = *s++;
+
+ return dest;
+}
+
+
+/* Dummy functions to avoid linker complaints */
+void __aeabi_unwind_cpp_pr0(void)
+{
+};
+
+void raise(void)
+{
+};
+
#endif /*__GNUC__*/
--
1.7.7.3

View File

@@ -1,521 +0,0 @@
Use slashes instead of backslashes
Signed-off-by: Alexandre Belloni <abelloni@adeneo-embedded.com>
---
.../bsps/common/examples/buildfiles/makefile | 10 +++---
.../startup/examples/burners/makefile.burner | 16 +++++-----
csps/lpc32xx/bsps/ea3250/source/makefile | 10 +++---
csps/lpc32xx/bsps/fdi3250/source/makefile | 12 ++++----
csps/lpc32xx/bsps/phy3250/examples/makefile | 2 +-
csps/lpc32xx/bsps/phy3250/source/makefile | 2 +-
.../examples/Burners/nor/kickstart/makefile | 2 +-
.../startup/examples/Burners/nor/norerase/makefile | 2 +-
.../startup/examples/Burners/nor/s1lapp/makefile | 2 +-
.../examples/Burners/spi/kickstart/makefile | 2 +-
csps/lpc32xx/source/makefile | 10 +++---
lpc/source/makefile | 10 +++---
makefile | 2 +-
makerule/common/make.rules.environment | 30 ++++++++++----------
makerule/lpc32xx/make.lpc32xx.gnu | 2 +-
makerule/lpc32xx/make.lpc32xx.iar | 12 ++++----
makerule/lpc32xx/make.lpc32xx.keil | 6 ++--
makerule/lpc32xx/make.lpc32xx.rvw | 2 +-
18 files changed, 67 insertions(+), 67 deletions(-)
diff --git a/csps/lpc32xx/bsps/common/examples/buildfiles/makefile b/csps/lpc32xx/bsps/common/examples/buildfiles/makefile
index cf4977c..1da2201 100644
--- a/csps/lpc32xx/bsps/common/examples/buildfiles/makefile
+++ b/csps/lpc32xx/bsps/common/examples/buildfiles/makefile
@@ -25,16 +25,16 @@
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL)
+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
########################################################################
#
# Pick up the assembler and C source files in the directory
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes
-AFLAGS +=-I..\Include
-CFLAGS +=-I..\Include
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes
+AFLAGS +=-I../Include
+CFLAGS +=-I../Include
########################################################################
#
@@ -42,6 +42,6 @@ CFLAGS +=-I..\Include
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build
diff --git a/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner b/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner
index fca3947..18bd703 100644
--- a/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner
+++ b/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner
@@ -22,9 +22,9 @@
#
########################################################################
-COMMON_BASE := $(NXPMCU_SOFTWARE)\csps\$(CSP)\bsps\common
-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL)
-include $(COMMON_BASE)\startup\examples\buildfiles\make.env
+COMMON_BASE := $(NXPMCU_SOFTWARE)/csps/$(CSP)/bsps/common
+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
+include $(COMMON_BASE)/startup/examples/buildfiles/make.env
########################################################################
# ARM Realview
@@ -38,7 +38,7 @@ AFLAGS += --predefine "USE_ALL_STACKS SETL {TRUE}"
#AFLAGS += --predefine "RW_RELOC SETL {TRUE}"
# This runs from IRAM
-LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_rvw.ld
+LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_rvw.ld
LDFLAGS = --remove
MAP = --map --info=totals,sizes,unused --symbols --list
endif
@@ -55,7 +55,7 @@ AFLAGS += --predefine "USE_ALL_STACKS SETL {TRUE}"
#AFLAGS += --predefine "RW_RELOC SETL {TRUE}"
# This runs from IRAM
-LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_rvw.ld
+LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_rvw.ld
LDFLAGS = --remove
MAP = --map --info=totals,sizes,unused --symbols --list
endif
@@ -72,7 +72,7 @@ AFLAGS += --defsym USE_ALL_STACKS=1
#AFLAGS += --defsym RW_RELOC=1
# This runs from IRAM
-LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_gnu.ld
+LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_gnu.ld
endif
@@ -108,7 +108,7 @@ endif
# Pick up the assembler and C source files in the directory
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes
########################################################################
#
@@ -157,6 +157,6 @@ endif
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build
.PHONY: debug bin
diff --git a/csps/lpc32xx/bsps/ea3250/source/makefile b/csps/lpc32xx/bsps/ea3250/source/makefile
index 7cada25..2899b20 100644
--- a/csps/lpc32xx/bsps/ea3250/source/makefile
+++ b/csps/lpc32xx/bsps/ea3250/source/makefile
@@ -22,16 +22,16 @@
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL)
+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
########################################################################
#
# Pick up the assembler and C source files in the directory
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes
-AFLAGS +=-I..\Include
-CFLAGS +=-I..\Include
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes
+AFLAGS +=-I../Include
+CFLAGS +=-I../Include
########################################################################
#
@@ -64,7 +64,7 @@ realclean: lib_realclean
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build
.PHONY: all lib_clean lib_realclean
diff --git a/csps/lpc32xx/bsps/fdi3250/source/makefile b/csps/lpc32xx/bsps/fdi3250/source/makefile
index 4e153bb..11e4b63 100644
--- a/csps/lpc32xx/bsps/fdi3250/source/makefile
+++ b/csps/lpc32xx/bsps/fdi3250/source/makefile
@@ -22,16 +22,16 @@
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL)
+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
########################################################################
#
# Pick up the assembler and C source files in the directory
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes
-AFLAGS +=-I..\Include
-CFLAGS +=-I..\Include
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes
+AFLAGS +=-I../Include
+CFLAGS +=-I../Include
########################################################################
#
@@ -53,7 +53,7 @@ lib_clean:
# delete all targets this Makefile can make and all built libraries
# linked in
lib_realclean:
- -@$(RM) $(BSP_LIB_DIR)\*.a
+ -@$(RM) $(BSP_LIB_DIR)/*.a
-@$(RMDIR) $(BSP_LIB_DIR)
clean: lib_clean
@@ -65,7 +65,7 @@ realclean: lib_realclean
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build
.PHONY: all lib_clean lib_realclean
diff --git a/csps/lpc32xx/bsps/phy3250/examples/makefile b/csps/lpc32xx/bsps/phy3250/examples/makefile
index b939252..e7feaa6 100644
--- a/csps/lpc32xx/bsps/phy3250/examples/makefile
+++ b/csps/lpc32xx/bsps/phy3250/examples/makefile
@@ -25,7 +25,7 @@
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL)
+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
SUBDIRS = adc dram_self_refresh hstimer hsuart i2c kscan lcd_colorbars
SUBDIRS += lcd_tsc mi2c mstimer pwm pwm_simple rtc sdcard sdcard_dma
diff --git a/csps/lpc32xx/bsps/phy3250/source/makefile b/csps/lpc32xx/bsps/phy3250/source/makefile
index 7c48e7d..750b776 100644
--- a/csps/lpc32xx/bsps/phy3250/source/makefile
+++ b/csps/lpc32xx/bsps/phy3250/source/makefile
@@ -32,7 +32,7 @@ include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
# Pick up the assembler and C source files in the directory
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes
AFLAGS +=-I../Include
CFLAGS +=-I../Include
diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile
index 01e2b38..526d6cc 100644
--- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile
+++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile
@@ -78,7 +78,7 @@ endif
########################################################################
#
-# Compiler\linker specific stuff
+# Compiler/linker specific stuff
#
########################################################################
diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile
index ce329f5..e81b8db 100644
--- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile
+++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile
@@ -77,7 +77,7 @@ endif
########################################################################
#
-# Compiler\linker specific stuff
+# Compiler/linker specific stuff
#
########################################################################
diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile
index 4426fc7..196faec 100644
--- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile
+++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile
@@ -77,7 +77,7 @@ endif
########################################################################
#
-# Compiler\linker specific stuff
+# Compiler/linker specific stuff
#
########################################################################
diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile
index dc73b64..39fc304 100644
--- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile
+++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile
@@ -78,7 +78,7 @@ endif
########################################################################
#
-# Compiler\linker specific stuff
+# Compiler/linker specific stuff
#
########################################################################
diff --git a/csps/lpc32xx/source/makefile b/csps/lpc32xx/source/makefile
index 8e05456..16bd944 100644
--- a/csps/lpc32xx/source/makefile
+++ b/csps/lpc32xx/source/makefile
@@ -25,16 +25,16 @@
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL)
+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
########################################################################
#
# Pick up the assembler and C source files in the directory
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes
-AFLAGS +=-I..\Include
-CFLAGS +=-I..\Include
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes
+AFLAGS +=-I../Include
+CFLAGS +=-I../Include
########################################################################
@@ -68,7 +68,7 @@ realclean: lib_realclean
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build
.PHONY: all lib_clean lib_realclean
diff --git a/lpc/source/makefile b/lpc/source/makefile
index 2860db9..ae7d612 100644
--- a/lpc/source/makefile
+++ b/lpc/source/makefile
@@ -25,16 +25,16 @@
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL)
+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
########################################################################
#
# Pick up the assembler and C source files in the directory
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes
-AFLAGS +=-I..\Include
-CFLAGS +=-I..\Include
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes
+AFLAGS +=-I../Include
+CFLAGS +=-I../Include
########################################################################
#
@@ -67,7 +67,7 @@ realclean: lib_realclean
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build
.PHONY: all lib_clean lib_realclean
diff --git a/makefile b/makefile
index 8645fcc..86fa6bc 100644
--- a/makefile
+++ b/makefile
@@ -34,7 +34,7 @@ TARGETS_CLN =gen_clean csp_clean bsp_clean
#
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL)
+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
########################################################################
#
diff --git a/makerule/common/make.rules.environment b/makerule/common/make.rules.environment
index d5737fe..4e6df48 100644
--- a/makerule/common/make.rules.environment
+++ b/makerule/common/make.rules.environment
@@ -52,7 +52,7 @@ ASTYLE =astyle --options=$(BUILD_ROOT)/tools/astyle.cfg
#
########################################################################
-CSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\lib
+CSP_LIB_DIR =$(BUILD_ROOT)/csps/$(CSP)/lib
########################################################################
#
@@ -60,7 +60,7 @@ CSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\lib
#
########################################################################
-BSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP)\lib
+BSP_LIB_DIR =$(BUILD_ROOT)/csps/$(CSP)/bsps/$(BSP)/lib
########################################################################
#
@@ -68,7 +68,7 @@ BSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP)\lib
#
########################################################################
-GEN_LIB_DIR =$(BUILD_ROOT)\$(GEN)\lib
+GEN_LIB_DIR =$(BUILD_ROOT)/$(GEN)/lib
########################################################################
#
@@ -76,9 +76,9 @@ GEN_LIB_DIR =$(BUILD_ROOT)\$(GEN)\lib
#
########################################################################
-CSP_DIR =$(BUILD_ROOT)\csps\$(CSP)
-CSP_SRC_DIR =$(CSP_DIR)\source
-CSP_INC_DIR =$(CSP_DIR)\include
+CSP_DIR =$(BUILD_ROOT)/csps/$(CSP)
+CSP_SRC_DIR =$(CSP_DIR)/source
+CSP_INC_DIR =$(CSP_DIR)/include
########################################################################
#
@@ -86,9 +86,9 @@ CSP_INC_DIR =$(CSP_DIR)\include
#
########################################################################
-BSP_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP)
-BSP_SRC_DIR =$(BSP_DIR)\source
-BSP_INC_DIR =$(BSP_DIR)\include
+BSP_DIR =$(BUILD_ROOT)/csps/$(CSP)/bsps/$(BSP)
+BSP_SRC_DIR =$(BSP_DIR)/source
+BSP_INC_DIR =$(BSP_DIR)/include
########################################################################
#
@@ -96,9 +96,9 @@ BSP_INC_DIR =$(BSP_DIR)\include
#
########################################################################
-GEN_DIR =$(BUILD_ROOT)\$(GEN)
-GEN_SRC_DIR =$(GEN_DIR)\source
-GEN_INC_DIR =$(GEN_DIR)\include
+GEN_DIR =$(BUILD_ROOT)/$(GEN)
+GEN_SRC_DIR =$(GEN_DIR)/source
+GEN_INC_DIR =$(GEN_DIR)/include
########################################################################
#
@@ -151,6 +151,6 @@ endif
#
########################################################################
-TARGET_CSP_LIB =$(CSP_LIB_DIR)\$(CSP_ARCHIVE)
-TARGET_BSP_LIB =$(BSP_LIB_DIR)\$(BSP_ARCHIVE)
-TARGET_GEN_LIB =$(GEN_LIB_DIR)\$(GEN_ARCHIVE)
+TARGET_CSP_LIB =$(CSP_LIB_DIR)/$(CSP_ARCHIVE)
+TARGET_BSP_LIB =$(BSP_LIB_DIR)/$(BSP_ARCHIVE)
+TARGET_GEN_LIB =$(GEN_LIB_DIR)/$(GEN_ARCHIVE)
diff --git a/makerule/lpc32xx/make.lpc32xx.gnu b/makerule/lpc32xx/make.lpc32xx.gnu
index 3277d99..d80b98d 100644
--- a/makerule/lpc32xx/make.lpc32xx.gnu
+++ b/makerule/lpc32xx/make.lpc32xx.gnu
@@ -19,7 +19,7 @@
# use without further testing or modification.
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment
CPU = arm926ej-s
CFLAGS = -mcpu=arm926ej-s -Wall -Os
diff --git a/makerule/lpc32xx/make.lpc32xx.iar b/makerule/lpc32xx/make.lpc32xx.iar
index 238ebbf..27d163f 100644
--- a/makerule/lpc32xx/make.lpc32xx.iar
+++ b/makerule/lpc32xx/make.lpc32xx.iar
@@ -19,12 +19,12 @@
# use without further testing or modification.
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment
-IARBASE = $(IAR_ROOT)\ARM
-IARTOOLS = $(IARBASE)\bin
-IAR_LIB = $(IARBASE)\lib
-IAR_INC = $(IARBASE)\inc
+IARBASE = $(IAR_ROOT)/ARM
+IARTOOLS = $(IARBASE)/bin
+IAR_LIB = $(IARBASE)/lib
+IAR_INC = $(IARBASE)/inc
CC = iccarm
CCP = iccarm
AS = iasmarm
@@ -36,7 +36,7 @@ CFLAGS += -I"$(IAR_INC)"
AFLAGS = --cpu 5TEJ
LDFLAGS =
LK = "$(TARGET_GEN_LIB)" "$(TARGET_CSP_LIB)" "$(TARGET_BSP_LIB)"
-;LK += "$(IAR_LIB)\dl4tpannl8f.r79"
+;LK += "$(IAR_LIB)/dl4tpannl8f.r79"
MAP = --map
LDESC = --config
ENTRY = --entry
diff --git a/makerule/lpc32xx/make.lpc32xx.keil b/makerule/lpc32xx/make.lpc32xx.keil
index dd27583..7334d3f 100644
--- a/makerule/lpc32xx/make.lpc32xx.keil
+++ b/makerule/lpc32xx/make.lpc32xx.keil
@@ -19,7 +19,7 @@
# use without further testing or modification.
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment
CC =armcc
CCP =armcc
@@ -27,11 +27,11 @@ AS =armasm
LD =armlink
AR =armar -r -s
CFLAGS =--arm -O3 -g --device DARMP3 -D__MICROLIB
-CFLAGS +=-I$(KEIL_RVCT)\inc -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR)
+CFLAGS +=-I$(KEIL_RVCT)/inc -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR)
AFLAGS =--arm --device=DARMP3
AFLAGS +=-I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR)
LDFLAGS =--noremove
-LK =--device DARMP3 --libpath $(KEIL_RVCT)\lib --scan $(TARGET_CSP_LIB)
+LK =--device DARMP3 --libpath $(KEIL_RVCT)/lib --scan $(TARGET_CSP_LIB)
LK +=--scan $(TARGET_BSP_LIB)
LK +=--scan $(TARGET_GEN_LIB)
MAP =--map --list
diff --git a/makerule/lpc32xx/make.lpc32xx.rvw b/makerule/lpc32xx/make.lpc32xx.rvw
index 59961dd..2419976 100644
--- a/makerule/lpc32xx/make.lpc32xx.rvw
+++ b/makerule/lpc32xx/make.lpc32xx.rvw
@@ -19,7 +19,7 @@
# use without further testing or modification.
########################################################################
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment
CC =armcc
CCP =armcpp
--
1.7.7.3

View File

@@ -1,70 +0,0 @@
#############################################################
#
# LPC32XX CDL
#
#############################################################
LPC32XXCDL_VERSION = lpc32xx_cdl_v2.11
LPC32XXCDL_SITE = http://git.lpcware.com/lpc3xxx_cdl.git
LPC32XXCDL_SITE_METHOD = git
LPC32XXCDL_INSTALL_TARGET = NO
LPC32XXCDL_INSTALL_IMAGES = YES
ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"ea3250")
LPC32XXCDL_KICKSTART = kickstart/nand
LPC32XXCDL_KICKSTART_BURNER = nand/kickstart
LPC32XXCDL_S1L = s1l
LPC32XXCDL_S1L_BURNER = nand/s1lapp
endif
ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"phy3250")
LPC32XXCDL_KICKSTART = kickstart/kickstart_nand
LPC32XXCDL_KICKSTART_BURNER = nand/kickstart
LPC32XXCDL_S1L = s1l/s1l_nand_boot
LPC32XXCDL_S1L_BURNER = nand/s1lapp
endif
ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"fdi3250")
LPC32XXCDL_KICKSTART = kickstart/nand
LPC32XXCDL_KICKSTART_BURNER = nand/kickstart_jtag
LPC32XXCDL_S1L = s1l
LPC32XXCDL_S1L_BURNER = nand/s1lapp_jtag
endif
LPC32XXCDL_BUILD_FLAGS = \
CROSS_COMPILE=$(TARGET_CROSS) \
NXPMCU_WINBASE=$(@D) \
NXPMCU_SOFTWARE=$(@D) \
BSP=$(BR2_TARGET_LPC32XXCDL_BOARDNAME) \
CSP=lpc32xx TOOL=gnu GEN=lpc
LPC32XXCDL_BOARD_STARTUP_DIR = \
csps/lpc32xx/bsps/$(BR2_TARGET_LPC32XXCDL_BOARDNAME)/startup/examples/
# Source files are with dos newlines, which our patch infrastructure doesn't
# handle. Work around it by converting the affected files to unix newlines
# before patching
define LPC32XXCDL_DOS2UNIX_FOR_PATCH
sed -n 's|^[+-]\{3\} [^/]\+\([^ \t]*\)\(.*\)|$(@D)\1|p' \
boot/lpc32xxcdl/*.patch| sort -u | xargs $(SED) 's/\x0D$$//'
endef
LPC32XXCDL_POST_EXTRACT_HOOKS += LPC32XXCDL_DOS2UNIX_FOR_PATCH
define LPC32XXCDL_BUILD_CMDS
$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)
$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_KICKSTART_BURNER)
$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_KICKSTART)
$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_S1L_BURNER)
$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_S1L)
endef
define LPC32XXCDL_INSTALL_IMAGES_CMDS
cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_KICKSTART_BURNER)/*gnu.bin $(BINARIES_DIR)
cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_KICKSTART)/*gnu.bin $(BINARIES_DIR)
cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_S1L_BURNER)/*gnu.bin $(BINARIES_DIR)
cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_S1L)/*gnu.bin $(BINARIES_DIR)
endef
$(eval $(call GENTARGETS))

View File

@@ -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

View File

@@ -1,43 +0,0 @@
#############################################################
#
# syslinux to make target msdos/iso9660 filesystems bootable
#
#############################################################
SYSLINUX_VERSION = 4.04
SYSLINUX_SOURCE = syslinux-$(SYSLINUX_VERSION).tar.bz2
SYSLINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux/4.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
define HOST_SYSLINUX_BUILD_CMDS
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)
endef
define HOST_SYSLINUX_INSTALL_CMDS
$(HOST_MAKE_ENV) $(MAKE) -C $(@D) INSTALLROOT=$(HOST_DIR) install
endef
define HOST_SYSLINUX_CLEAN_CMDS
$(HOST_MAKE_ENV) $(MAKE) -C $(@D) clean
endef
$(eval $(call GENTARGETS))
$(eval $(call GENTARGETS,host))

View File

@@ -1,140 +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_12
help
Select the specific U-Boot version you want to use
config BR2_TARGET_UBOOT_2011_12
bool "2011.12"
config BR2_TARGET_UBOOT_2011_09
bool "2011.09"
config BR2_TARGET_UBOOT_2011_06
bool "2011.06"
depends on BR2_DEPRECATED
config BR2_TARGET_UBOOT_2011_03
bool "2011.03"
depends on BR2_DEPRECATED
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.12" if BR2_TARGET_UBOOT_2011_12
default "2011.09" if BR2_TARGET_UBOOT_2011_09
default "2011.06" if BR2_TARGET_UBOOT_2011_06
default "2011.03" if BR2_TARGET_UBOOT_2011_03
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 uboot-<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_NAND_BIN
bool "u-boot-nand.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

View File

@@ -1,181 +0,0 @@
From 9fc4787c7a6c797db649831f86e49c4bf9780b4e Mon Sep 17 00:00:00 2001
From: Alexandre Belloni <alexandre.belloni@piout.net>
Date: Mon, 2 Jan 2012 03:51:11 +0100
Subject: [PATCH] Change kernel address in dataflash to match u-boot's size
On at91sam platforms, u-boot grew larger than the allocated size in
dataflash, the layout was:
bootstrap 0x00000000
ubootenv 0x00004200
uboot 0x00008400
kernel 0x00042000
u-boot with the defconfig doesn't seem to fit in 0x42000 - 0x8400 =
0x39C00 bytes anymore.
Now, the layout is:
bootstrap 0x00000000
uboot 0x00004000
ubootenv 0x00084000
ubootenv2 0x00088000
kernel 0x0008C000
Signed-off-by: Alexandre Belloni <alexandre.belloni@piout.net>
---
include/configs/at91sam9260ek.h | 18 ++++++++++++------
include/configs/at91sam9261ek.h | 18 ++++++++++++------
include/configs/at91sam9263ek.h | 10 +++++++---
include/configs/at91sam9rlek.h | 10 +++++++---
4 files changed, 38 insertions(+), 18 deletions(-)
diff --git a/include/configs/at91sam9260ek.h b/include/configs/at91sam9260ek.h
index db52ee6..b537760 100644
--- a/include/configs/at91sam9260ek.h
+++ b/include/configs/at91sam9260ek.h
@@ -185,10 +185,12 @@
/* bootstrap + u-boot + env + linux in dataflash on CS0 */
#define CONFIG_ENV_IS_IN_DATAFLASH 1
#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8400)
-#define CONFIG_ENV_OFFSET 0x4200
+#define CONFIG_ENV_OFFSET 0x84000
#define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET)
-#define CONFIG_ENV_SIZE 0x4200
-#define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x22000000 0x210000; bootm"
+#define CONFIG_ENV_SIZE 0x4000
+#define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR+CONFIG_ENV_SIZE)
+#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
+#define CONFIG_BOOTCOMMAND "cp.b 0xC008C000 0x22000000 0x210000; bootm"
#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
"root=/dev/mtdblock0 " \
"mtdparts=atmel_nand:-(root) " \
@@ -199,10 +201,12 @@
/* bootstrap + u-boot + env + linux in dataflash on CS1 */
#define CONFIG_ENV_IS_IN_DATAFLASH 1
#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 + 0x8400)
-#define CONFIG_ENV_OFFSET 0x4200
+#define CONFIG_ENV_OFFSET 0x84000
#define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 + CONFIG_ENV_OFFSET)
-#define CONFIG_ENV_SIZE 0x4200
-#define CONFIG_BOOTCOMMAND "cp.b 0xD0042000 0x22000000 0x210000; bootm"
+#define CONFIG_ENV_SIZE 0x4000
+#define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR+CONFIG_ENV_SIZE)
+#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
+#define CONFIG_BOOTCOMMAND "cp.b 0xD008C000 0x22000000 0x210000; bootm"
#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
"root=/dev/mtdblock0 " \
"mtdparts=atmel_nand:-(root) " \
@@ -231,6 +235,8 @@
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
#define CONFIG_SYS_LONGHELP 1
#define CONFIG_CMDLINE_EDITING 1
+#define CONFIG_AUTO_COMPLETE
+#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
/*
* Size of malloc() pool
diff --git a/include/configs/at91sam9261ek.h b/include/configs/at91sam9261ek.h
index 5140b26..fa461da 100644
--- a/include/configs/at91sam9261ek.h
+++ b/include/configs/at91sam9261ek.h
@@ -187,10 +187,12 @@
/* bootstrap + u-boot + env + linux in dataflash on CS0 */
#define CONFIG_ENV_IS_IN_DATAFLASH
#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8400)
-#define CONFIG_ENV_OFFSET 0x4200
+#define CONFIG_ENV_OFFSET 0x84000
#define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET)
-#define CONFIG_ENV_SIZE 0x4200
-#define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x22000000 0x210000; bootm"
+#define CONFIG_ENV_SIZE 0x4000
+#define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR+CONFIG_ENV_SIZE)
+#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
+#define CONFIG_BOOTCOMMAND "cp.b 0xC008C000 0x22000000 0x210000; bootm"
#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
"root=/dev/mtdblock0 " \
"mtdparts=atmel_nand:-(root) " \
@@ -201,10 +203,12 @@
/* bootstrap + u-boot + env + linux in dataflash on CS3 */
#define CONFIG_ENV_IS_IN_DATAFLASH
#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS3 + 0x8400)
-#define CONFIG_ENV_OFFSET 0x4200
+#define CONFIG_ENV_OFFSET 0x84000
#define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS3 + CONFIG_ENV_OFFSET)
-#define CONFIG_ENV_SIZE 0x4200
-#define CONFIG_BOOTCOMMAND "cp.b 0xD0042000 0x22000000 0x210000; bootm"
+#define CONFIG_ENV_SIZE 0x4000
+#define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR+CONFIG_ENV_SIZE)
+#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
+#define CONFIG_BOOTCOMMAND "cp.b 0xD008C000 0x22000000 0x210000; bootm"
#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
"root=/dev/mtdblock0 " \
"mtdparts=atmel_nand:-(root) " \
@@ -233,6 +237,8 @@
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
#define CONFIG_SYS_LONGHELP
#define CONFIG_CMDLINE_EDITING
+#define CONFIG_AUTO_COMPLETE
+#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
/*
* Size of malloc() pool
diff --git a/include/configs/at91sam9263ek.h b/include/configs/at91sam9263ek.h
index 8399246..253bee4 100644
--- a/include/configs/at91sam9263ek.h
+++ b/include/configs/at91sam9263ek.h
@@ -314,10 +314,12 @@
/* bootstrap + u-boot + env + linux in dataflash on CS0 */
#define CONFIG_ENV_IS_IN_DATAFLASH 1
#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8400)
-#define CONFIG_ENV_OFFSET 0x4200
+#define CONFIG_ENV_OFFSET 0x84000
#define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET)
-#define CONFIG_ENV_SIZE 0x4200
-#define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x22000000 0x210000; bootm"
+#define CONFIG_ENV_SIZE 0x4000
+#define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR+CONFIG_ENV_SIZE)
+#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
+#define CONFIG_BOOTCOMMAND "cp.b 0xC008C000 0x22000000 0x210000; bootm"
#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
"root=/dev/mtdblock0 " \
"mtdparts=atmel_nand:-(root) "\
@@ -347,6 +349,8 @@
#define CONFIG_AUTO_COMPLETE
#define CONFIG_SYS_HUSH_PARSER
#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
+#define CONFIG_AUTO_COMPLETE
+#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
/*
* Size of malloc() pool
diff --git a/include/configs/at91sam9rlek.h b/include/configs/at91sam9rlek.h
index 79ea1f2..423f523 100644
--- a/include/configs/at91sam9rlek.h
+++ b/include/configs/at91sam9rlek.h
@@ -153,10 +153,12 @@
/* bootstrap + u-boot + env + linux in dataflash on CS0 */
#define CONFIG_ENV_IS_IN_DATAFLASH 1
#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8400)
-#define CONFIG_ENV_OFFSET 0x4200
+#define CONFIG_ENV_OFFSET 0x84000
#define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET)
-#define CONFIG_ENV_SIZE 0x4200
-#define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x22000000 0x210000; bootm"
+#define CONFIG_ENV_SIZE 0x4000
+#define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR+CONFIG_ENV_SIZE)
+#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
+#define CONFIG_BOOTCOMMAND "cp.b 0xC008C000 0x22000000 0x210000; bootm"
#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
"root=/dev/mtdblock0 " \
"mtdparts=atmel_nand:-(root) "\
@@ -183,6 +185,8 @@
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
#define CONFIG_SYS_LONGHELP 1
#define CONFIG_CMDLINE_EDITING 1
+#define CONFIG_AUTO_COMPLETE
+#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
/*
* Size of malloc() pool
--
1.7.5.4

View File

@@ -1,102 +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 ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND_BIN),y)
UBOOT_BIN = u-boot-nand.bin
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

View File

@@ -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

View File

@@ -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

View File

@@ -1,31 +0,0 @@
# Architecture
BR2_arm=y
BR2_arm920t=y
# Toolchain
BR2_STRIP_sstrip=y
BR2_GCC_VERSION_4_4_X=y
BR2_PACKAGE_GDB=y
BR2_PACKAGE_GDB_HOST=y
BR2_ENABLE_LOCALE_PURGE=y
BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y
BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=y
BR2_TOOLCHAIN_BUILDROOT_INET_RPC=y
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
# System
BR2_TARGET_GENERIC_HOSTNAME="apf9328"
BR2_TARGET_GENERIC_ISSUE="Welcome to Armadeus development platform !"
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
# Filesystem
BR2_TARGET_ROOTFS_JFFS2=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.1.1"
BR2_LINUX_KERNEL_PATCH="board/armadeus/apf9328"
BR2_LINUX_KERNEL_DEFCONFIG="mx1"

View File

@@ -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"

View File

@@ -1,21 +0,0 @@
# Architecture
BR2_arm=y
BR2_arm926t=y
# First stage bootloader
BR2_TARGET_AT91BOOTSTRAP=y
BR2_TARGET_AT91BOOTSTRAP_BOARD="at91sam9260ek"
BR2_TARGET_AT91BOOTSTRAP_DATAFLASH=y
# Second stage bootloader
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARDNAME="at91sam9260ek_dataflash_cs0"
BR2_TARGET_UBOOT_2011_12=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
BR2_LINUX_KERNEL_DEFCONFIG="at91sam9260ek"
# Filesystem
BR2_TARGET_ROOTFS_TAR=y

View File

@@ -1,21 +0,0 @@
# Architecture
BR2_arm=y
BR2_arm926t=y
# First stage bootloader
BR2_TARGET_AT91BOOTSTRAP=y
BR2_TARGET_AT91BOOTSTRAP_BOARD="at91sam9261ek"
BR2_TARGET_AT91BOOTSTRAP_DATAFLASH=y
# Second stage bootloader
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARDNAME="at91sam9261ek_dataflash_cs0"
BR2_TARGET_UBOOT_2011_12=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
BR2_LINUX_KERNEL_DEFCONFIG="at91sam9261"
# Filesystem
BR2_TARGET_ROOTFS_TAR=y

View File

@@ -1,21 +0,0 @@
# Architecture
BR2_arm=y
BR2_arm926t=y
# First stage bootloader
BR2_TARGET_AT91BOOTSTRAP=y
BR2_TARGET_AT91BOOTSTRAP_BOARD="at91sam9263ek"
BR2_TARGET_AT91BOOTSTRAP_DATAFLASH=y
# Second stage bootloader
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARDNAME="at91sam9263ek_dataflash_cs0"
BR2_TARGET_UBOOT_2011_12=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
BR2_LINUX_KERNEL_DEFCONFIG="at91sam9263"
# Filesystem
BR2_TARGET_ROOTFS_TAR=y

View File

@@ -1,22 +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_nandflash"
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.1.6"
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
BR2_LINUX_KERNEL_DEFCONFIG="at91sam9g20ek"
# Filesystem
BR2_TARGET_ROOTFS_TAR=y

View File

@@ -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"

View File

@@ -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

View File

@@ -1,39 +0,0 @@
# Architecture
BR2_arm=y
BR2_arm926t=y
BR2_ARM_TYPE="ARM926T"
BR2_ARM_EABI=y
#
# GCC Options
# We need to force GCC 4.3.x because it is the last version
# that will compile a kernel with ethernet working correctly
BR2_GCC_VERSION_4_3_X=y
# Bootloaders
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARDNAME="ea3250"
BR2_TARGET_UBOOT_CUSTOM_GIT=y
BR2_TARGET_UBOOT_VERSION="master"
BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL="git://git.lpclinux.com/uboot-2009.03-lpc32xx"
BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION="master"
BR2_TARGET_UBOOT_FORMAT_BIN=y
BR2_TARGET_LPC32XXCDL=y
BR2_TARGET_LPC32XXCDL_BOARDNAME="ea3250"
#
# Kernel
#
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL="git://git.lpclinux.com/linux-2.6.34-lpc32xx"
BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION="master"
BR2_LINUX_KERNEL_VERSION="master"
BR2_LINUX_KERNEL_PATCH=""
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
BR2_LINUX_KERNEL_DEFCONFIG="ea3250"
BR2_LINUX_KERNEL_UIMAGE=y

View File

@@ -1,39 +0,0 @@
# Architecture
BR2_arm=y
BR2_arm926t=y
BR2_ARM_TYPE="ARM926T"
BR2_ARM_EABI=y
#
# GCC Options
# We need to force GCC 4.3.x because it is the last version
# that will compile a kernel with ethernet working correctly
BR2_GCC_VERSION_4_3_X=y
# Bootloaders
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARDNAME="fdi3250"
BR2_TARGET_UBOOT_CUSTOM_GIT=y
BR2_TARGET_UBOOT_VERSION="master"
BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL="git://git.lpclinux.com/uboot-2009.03-lpc32xx"
BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION="master"
BR2_TARGET_UBOOT_FORMAT_BIN=y
BR2_TARGET_LPC32XXCDL=y
BR2_TARGET_LPC32XXCDL_BOARDNAME="fdi3250"
#
# Kernel
#
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL="git://git.lpclinux.com/linux-2.6.34-lpc32xx"
BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION="master"
BR2_LINUX_KERNEL_VERSION="master"
BR2_LINUX_KERNEL_PATCH=""
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
BR2_LINUX_KERNEL_DEFCONFIG="fdi3250"
BR2_LINUX_KERNEL_UIMAGE=y

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -1,39 +0,0 @@
# Architecture
BR2_arm=y
BR2_arm926t=y
BR2_ARM_TYPE="ARM926T"
BR2_ARM_EABI=y
#
# GCC Options
# We need to force GCC 4.3.x because it is the last version
# that will compile a kernel with ethernet working correctly
BR2_GCC_VERSION_4_3_X=y
# Bootloaders
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARDNAME="phy3250"
BR2_TARGET_UBOOT_CUSTOM_GIT=y
BR2_TARGET_UBOOT_VERSION="master"
BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL="git://git.lpclinux.com/uboot-2009.03-lpc32xx"
BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION="master"
BR2_TARGET_UBOOT_FORMAT_BIN=y
BR2_TARGET_LPC32XXCDL=y
BR2_TARGET_LPC32XXCDL_BOARDNAME="phy3250"
#
# Kernel
#
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL="git://git.lpclinux.com/linux-2.6.34-lpc32xx"
BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION="master"
BR2_LINUX_KERNEL_VERSION="master"
BR2_LINUX_KERNEL_PATCH=""
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
BR2_LINUX_KERNEL_DEFCONFIG="phy3250"
BR2_LINUX_KERNEL_UIMAGE=y

View File

@@ -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.2"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/arm-versatile/linux-3.2.config"
BR2_LINUX_KERNEL_ZIMAGE=y

View File

@@ -1,19 +0,0 @@
# Architecture
BR2_mips=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.2"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips-malta/linux-3.2.config"
BR2_LINUX_KERNEL_VMLINUX=y
# Serial port config
BR2_TARGET_GENERIC_GETTY=y
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"

View File

@@ -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.2"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mipsel-malta/linux-3.2.config"
BR2_LINUX_KERNEL_VMLINUX=y
# Serial port config
BR2_TARGET_GENERIC_GETTY=y
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"

View File

@@ -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"

View File

@@ -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.2"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sh4-r2d/linux-3.2.config"
BR2_LINUX_KERNEL_ZIMAGE=y

View File

@@ -1,14 +0,0 @@
# Architecture
BR2_sparc=y
BR2_sparc_supersparc=y
# filesystem
BR2_TARGET_ROOTFS_EXT2=y
# BR2_TARGET_ROOTFS_TAR is not set
# Linux kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.2"
BR2_LINUX_KERNEL_DEFCONFIG="sparc32"
BR2_LINUX_KERNEL_ZIMAGE=y

View File

@@ -1,17 +0,0 @@
# Architecture
BR2_x86_64=y
# system
BR2_TARGET_GENERIC_GETTY=y
BR2_TARGET_GENERIC_GETTY_PORT="tty1"
# 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.2"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux-3.2.config"

View File

@@ -1,18 +0,0 @@
# Architecture
BR2_i386=y
BR2_x86_pentiumpro=y
# system
BR2_TARGET_GENERIC_GETTY=y
BR2_TARGET_GENERIC_GETTY_PORT="tty1"
# 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.2"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86/linux-3.2.config"

View File

@@ -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
View 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" -->

View File

@@ -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
View 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
View 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
View 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>

View File

@@ -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" -->

File diff suppressed because it is too large Load Diff

View File

@@ -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.

View File

@@ -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/&lt;USERNAME&gt;/ssh/id_dsa
/home/&lt;USERNAME&gt;/.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/&lt;USERNAME&gt;/ssh/id_dsa
/home/&lt;USERNAME&gt;/.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/~&lt;USERNAME&gt/git/&lt;REPO&gt;</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" -->

View File

@@ -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/#buildroot">Buildroot IRC
channel</a>, <code>#buildroot</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>

View File

@@ -6,40 +6,30 @@
<p>
The latest stable release is <b>2011.11</b>, which can be downloaded
here:<p>
<a href="/downloads/buildroot-2011.11.tar.gz">buildroot-2011.11.tar.gz</a>
or
<a href="/downloads/buildroot-2011.11.tar.bz2">buildroot-2011.11.tar.bz2</a>.
<p>
The latest release candidate is <b>2012.02-rc1</b>, which can be
downloaded here:<p>
<a href="/downloads/buildroot-2012.02-rc1.tar.gz">buildroot-2012.02-rc1.tar.gz</a>
or
<a href="/downloads/buildroot-2012.02-rc1.tar.bz2">buildroot-2012.02-rc1.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" -->

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -9,8 +9,7 @@
<p>
<font face="arial, helvetica, sans-serif" size="-1">
<a HREF="/copyright.txt">Copyright &copy; 1999-2005 Erik Andersen,
2006-2011 The Buildroot developers</a>
<a HREF="/copyright.txt">Copyright &copy; 1999-2009 Erik Andersen</a>
<br>
Mail all comments, insults, suggestions and bribes to
<br>

View File

@@ -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" -->

View File

@@ -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

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

View File

@@ -1 +1 @@
<!--#include file="about.html" -->
<!--#include file="news.html" -->

View File

@@ -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>
@@ -21,20 +19,16 @@ list with frequently asked questions...
<p>
<center>
<div id="cse" style="width: 100%;">Loading</div>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1', {language : 'en'});
google.setOnLoadCallback(function() {
var customSearchControl = new google.search.CustomSearchControl(
'009810735161915413714:3rfmqierl8s');
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
var customSearchOptions = new google.search.DrawOptions();
customSearchOptions.enableSearchboxOnly("http://google.com/cse?cx=009810735161915413714:3rfmqierl8s");
customSearchControl.draw('cse', customSearchOptions);
}, true);
</script>
<link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
<form method="GET" action="http://www.google.com/custom">
<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">
<br>
<a href="http://www.google.com/"><img src="http://www.google.com/logos/Logo_25wht.gif" border="0" alt="Google" height="32" width="75" align="middle"></a>
<br>
</form>
</center>
<!--#include file="footer.html" -->

View File

@@ -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.

View File

@@ -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.

View File

@@ -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!

Some files were not shown because too many files have changed in this diff Show More