syslinux can now also build an EFI application.
If the target is 64-bit, we build the 64-bit EFI app,
otherwise we build the 32-bit EFI app.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This new version has a very, very weird build system. There are different
images that syslinux can now build:
- the plain legacy-bios images we already supported previously
- two new EFI32 and EFI64 applications
To build one or the other, the Makefile accepts one or more of:
make (bios|efi32|efi64)
Specify all of them, and it builds all. Specify 'install', and it installs
all of them, as one may expect.
Still a regular behaviour, is to build only a subset (down to one):
make bios <-- builds just the legacy-bios images
make efi32 bios <-- builds just the legacy-bios and efi32 images
Where it gets weird is the install procedure. Can you guess how it's done?
Hint: the syslinux guys have invented the multiple-argument parsing in
pure Makefiles. To build then install only the bios images, one would do:
make bios
make bios install
Yep, that's it. make bios install. Two arguments, one action.
That makes for some funky workarounds in our install procedure...
'bios' is the only image we support so far, with efi to come in a future
patch.
Using MAKE1, as there are issues with highly-parallel builds.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
UPX is a free, portable, extendable, high-performance executable
packer for several executable formats.
This is needed for syslinux 6.x.
Note: upx is a host-only package. Although it supports quite a few
target architectures, the only use so far will be for use by syslinux,
which already has an x86-on-x86 requirement anyway. So we currently do
not care to have target-dependencies on host-upx.
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
[yann.morin.1998@free.fr: builds fine in parallel; fix build to
locate libucl; fix installation; don't add a menuconfig entry]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
UCL implements a number of compression algorithms that achieve an
excellent compression ratio while allowing *very* fast decompression.
Decompression requires no additional memory.
This is needed for UPX, which is needed for syslinux 6.x.
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
[yann.morin.1998@free.fr: don't add a menuconfig entry, since it
currently is for internal use only]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The comments are not really part of the command we want to execute,
so move them out of the define-block. This also cleans up the output,
as they will no longer appear.
Reported-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Rewrite the options prompt in preparation to adding a new
type of image to install.
Add help entries to each option, too.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Currently it is possible to choose either, both or none of
the pxelinux or isolinux images.
But it does not make sense to build none or both, as we need
at least one to boot the target, and the target can not use
more than one.
So, we need one and only one image to be selected at once.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Lundquist <thomasez@redpill-linpro.com>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Currently, we hard-code the path to the images we install, and
expect them to be from the core/ sub-dir.
Not all images we can install are located in core/. For example,
the efi boot images (to come later) are not located in core/.
Prepare the upcoming installation of extlinux by not expecting
images be in core/.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Lundquist <lists@zelow.no>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The pxelinux and isolionux images are 32-bit binaries, so we need a
compiler that can generate them (ie. a compiler that understands -m32).
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Upstream has been playing evil-rebase on their tree, so they now
no longer have the changeset we are currently referencing.
They have now agreed to merge instead of rebasing:
https://github.com/raspberrypi/linux/issues/584
So, update the raspberrypi_defconfig to use a new changeset that
currently exists right _now_, in the hope it will not disapear in
the future (but we'll catch it pretty fast anyway, so we'll be able
to seriously bug up upstream in that case ;-) ).
Reported-by: Jeremy Rosen <jeremy.rosen@openwide.fr>
Signed-off-by: yann.morin.1998@free.fr
Cc: Jeremy Rosen <jeremy.rosen@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
zeromp's configure script correctly detects the fork availability, but
unconditionally build test_fork program whatever the fork() availability.
This patch fixes the build-system by disabling test_fork when fork is
not available (e.g. when !BR2_USE_MMU).
Fixes:
http://autobuild.buildroot.org/results/359/3599cc3b7bf2bb22a78961cd84d21cb03cbd7015/
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[yann.morin.1998@free.fr: remove Makefile.in hunks]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[yann.morin.1998@free.fr: tested against the failed bfin config, as well as
a i686 target]
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This consists of two files:
- avahi-daemon.service:
It start/stop the daemon avahi, it's a copy of the S50avahi-daemon
script.
- avahi_tmpfiles.conf:
This one gets installed in /usr/lib/tmpfiles.d/ to be used by
systemd-tmpfiles which will create the correct directory structure
with the appropriate rights.
This is the equivalent of the S05avahi-setup.sh script.
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
gcc support was added in version 4.6:
http://gcc.gnu.org/gcc-4.6/changes.html
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since libwesockets in written in pure C, no C++, there is no reason to
disable it or make the configuration failed when the toolchain has no
C++ support.
Unfortunately, CMake defaults sets C and C++ as languages used by the
project. This makes the configuration failed if no C++ compiler is found.
This patch just make the CMake code of libwebsockets reflecting the real
status of the project with regard to the languages used.
Should fix:
http://autobuild.buildroot.org/results/fef/fef98ef289d44d13ec61025c50febba1e835b421/
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The manual has this sentence for the dependency on a C library *and* a
toolchain feature:
foo needs an (e)glibc toolchain, or foo needs an (e)glibc toolchain
w/ C++ support
And then, just below, the comment text for C++ is just 'C++', not
'C++ support'.
Fix that, and add a bit of indentation too.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Samuel Martin <s.martin49@gmail.com>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
For asciidoc, a string like '+these are some words+' will be displayed in
monospace font. Such sequences are identified by searching for a matching
pair of + signs in the same block.
The string 'C++' also contains such + signs. In most cases, this does not
pose a problem and no escaping is necessary. However, if 'C++' occurs twice
in the same block, the + signs will be matched to each other, and asciidoc
formats all text between them as monospaced text. In this case, escaping of
one of these 'C++' occurances is necessary to get the right formatting.
In one place of the manual, there is a sentence that causes such a problem:
"you only have to tell whether your toolchain supports C++ or not and
whether it has built-in RPC support. If your external toolchain uses
the 'uClibc' library, then you have to tell Buildroot if it supports
largefile, IPv6, RPC, wide-char, locale, program invocation, threads
and C++."
Commit 082dec8ce4 was based on a patch fixing
this problem in one place of the manual, but was incorrectly changed while
committing.
This patch reverts the incorrect changes in that commit, and solves the
problem correctly.
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Asciidoc supports two syntaxes for section titles: two-line titles (title
plus underline consisting of a particular symbol), and one-line titles
(title prefixed with a specific number of = signs).
The two-line title underlines are:
Level 0 (top level): ======================
Level 1: ----------------------
Level 2: ~~~~~~~~~~~~~~~~~~~~~~
Level 3: ^^^^^^^^^^^^^^^^^^^^^^
Level 4 (bottom level): ++++++++++++++++++++++
and the one-line title prefixes:
= Document Title (level 0) =
== Section title (level 1) ==
=== Section title (level 2) ===
==== Section title (level 3) ====
===== Section title (level 4) =====
The buildroot manual is currenly using the two-line titles, but this has
multiple disadvantages:
- asciidoc also uses some of the underline symbols for other purposes (like
preformatted code, example blocks, ...), which makes it difficult to do
mass replacements, such as a planned follow-up patch that needs to move
all sections one level down.
- it is difficult to remember which level a given underline symbol (=-~^+)
corresponds to, while counting = signs is easy.
This patch changes all two-level titles to one-level titles in the manual.
The bulk of the change was done with the following Python script, except for
the level 1 titles (-----) as these underlines are also used for literal
code blocks.
This patch only changes the titles, no other changes. In
adding-packages-directory.txt, I did add missing newlines between some
titles and their content.
----------------------------------------------------------------------------
#!/usr/bin/env python
import sys
import mmap
import re
for input in sys.argv[1:]:
f = open(input, 'r+')
f.flush()
s = mmap.mmap(f.fileno(), 0)
# Level 0 (top level): ====================== =
# Level 1: ---------------------- ==
# Level 2: ~~~~~~~~~~~~~~~~~~~~~~ ===
# Level 3: ^^^^^^^^^^^^^^^^^^^^^^ ====
# Level 4 (bottom level): ++++++++++++++++++++++ =====
def replace_title(s, symbol, replacement):
pattern = re.compile(r'(.+\n)\%s{2,}\n' % symbol, re.MULTILINE)
return pattern.sub(r'%s \1' % replacement, s)
new = s
new = replace_title(new, '=', '=')
new = replace_title(new, '+', '=====')
new = replace_title(new, '^', '====')
new = replace_title(new, '~', '===')
#new = replace_title(new, '-', '==')
s.seek(0)
s.write(new)
s.resize(s.tell())
s.close()
f.close()
----------------------------------------------------------------------------
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fix minor spelling errors that exists in system/Config.in
Signed-off-by: Ryan Barnett <rjbarnet@rockwellcollins.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Building tests fails mainly because of the cross-compilation, so they
are disabled for the moment.
Signed-off-by: Hadrien Boutteville <hadrien.boutteville@gmail.com>
Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
- fix networking in Qemu using a small patch
- disable DTS, because linux.bin does not include any DTB the
default Qemu included DTB is used and this is okay and works fine
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Switch to gcc 4.9.x for microblaze since it's a better target than
4.8.x, and also add a build patch that fixes (e)glibc build issues.
Hence disable 4.8.x for microblaze.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The "target-purgelocales" target must be executed after all the other
targets and before the "target-finalize" target, so create a
TARGET_PURGE_LOCALES variable containing the commands of the target
"target-purgelocales" and add it at the beginning of the
"target-finalize" target.
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Commit a5e92d92e7 converted uClibc to the
package infrastructure, but while doing so removed support for the
documented uclibc-update-config make target. This make target copies the
uclibc .config file back to the original (typically version-controlled)
configuration file.
As this was an unintentional removal, this patch re-adds the
uclibc-update-config target.
Reported-by: Dan Moulding <dan.moulding@rackwareinc.com>
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Kernel headers versions 3.6.x and 3.7.x have been deprecated since 2013.05
and thus can be removed in 2014.05.
An automatic selection of 3.8.x headers is performed in the legacy menu.
An existing automatic selection of 3.6.x headers is modified to select
3.8.x.
As this patch removes the last occurrances of BR2_DEPRECATED_SINCE_2013_05,
the symbol is removed too.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The vala target package has been deprecated since 2013.05 and thus can be
removed in 2014.05. The host vala support is left untouched.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This will resolve uClibc build error for configurations without large file
support.
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
bump to v1.23-chrome32-firefox24
The latest releases use the cmake build infrastructure.
Converted the makefile to the cmake infrastructure.
The autotools infrastructure is no longer supported.
[Peter: correct license data, ensure it gets built after openssl if enabled]
Signed-off-by: Sagaert Johan <sagaert.johan@skynet.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
If a kernel module is installed with incorrect permissions (0755 iso 0644),
it would get stripped in a way that would render the kernel module broken.
While the incorrect permissions are a developer error, it is a minor change
to prevent this mistake from causing incorrectly stripped modules.
This was reported with bug #6992:
https://bugs.busybox.net/show_bug.cgi?id=6992
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since qt's version has been bumped to 4.8.6 we can add support for
webkit on MIPS64 architectures (both big and little endian). It wasn't
possible on 4.8.5 because QtScript wasn't supported on MIPS64, but that
has been fixed on 4.8.6.
With reference to:
https://codereview.qt-project.org/#change,73022
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Markos Chandras <Markos.Chandras@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The Raspberry Pi people are now considering there stable version to
be based on the 3.12.series:
http://www.raspberrypi.org/forums/viewtopic.php?f=29&t=75895
> The 3.12 kernel tree has long term support and we are moving to it.
Bump the Raspberry Pi defconfig to use the latest stable version of
the rpi-3.12.y branch, based on linux-3.12.18.
Bump the kernel headers at the same time.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Config name has changed.
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Somehow the 'else' part got dropped from commit 3f82e9dbcd (use default gcc
4.8.2 for microblaze), breaking download for "normal" architectures.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
According to the imlib2 people, if you don't support dlopen(), you
have a "crap box":
image.h:16:4: warning: #warning "your crap box doesn't define RTLD_LOCAL !?"
So, let's disable imlib2 when doing static linking.
Fixes:
http://autobuild.buildroot.net/results/b5e/b5ee859409cd626b769e8a159026e60ec6f29180/
[Peter: fix imlib2 comment as pointed out by Thomas]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The toolchain is not up to the task, fixes:
http://autobuild.buildroot.net/results/21f/21f5fd1fc8415abff1d1178843586956ef1fd1e3/
Also AVR32s are low on resources (RAM, no proper storage port, most of
them short of flash) to handle it.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>