Yegor Yefremov [Mon, 15 Jun 2015 19:53:34 +0000 (21:53 +0200)]
eudev: add enable/disable hwdb option
This option enables/disables installation of the eudev hardware database,
which provides various extra properties for known devices.
Enabling this option adds ~5MB to the rootfs size.
The option is enabled by default in order to preserve old behavior.
This patch adds the option to download at91bootstrap3 from
a custom git URL. This is a requirement for all that boards
that use a custom at91bootstrap3 version.
Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This patch adds licensing informations to at91bootstrap3
[Thomas:
- change from "BSD-2c with endorsement clause" to "Atmel License",
because the license of AT91Bootstrap is neither a BSD-2c nor a
BSD-3c: it does not carry the second clause of the BSD-2c or BSD-3c
licenses giving the condition of redistribution of the binary form.]
Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
After having extended the iso9660 support to allow isolinux as an
alternative to grub, this commit adds grub2 as a third
alternative. With the previous work done to support isolinux, adding
support for grub2 is fairly trivial.
[Thomas: set timeout to 10 seconds and not 5 seconds, in order to
match the configuration used for grub.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
In order to support ISO9660 bootable images that rely on Grub 2, this
commit modifies thr Grub 2 makefile to generate and install an El
Torito image. Such an image is simply produced by concatenating the
cdboot.img provided by Grub 2, and the Grub 2 image generated by
Buildroot using grub-mkimage.
Since this action is so simple and cost-free, we don't bother adding a
Grub 2 sub-option for that, and simply generate the El Torito image
unconditionally.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This commit adds a new option, which allows, when isolinux is used as
the bootloader, to generate an "hybrid" ISO image. Such images can
either be booted from CD-ROM or from USB keys. It simply uses the
isohybrid tool provided by syslinux.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
After all the preparation commits, this commit finally adds the
iso9660 support itself. Besides adding a new Config.in entry, a little
bit of .mk code and the isolinux.cfg default configuration, not much
is needed.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
fs/iso9660: use 'depends on' instead of 'select' for bootloader
In preparation to the introduction of the support for other
bootloaders than Grub, this commit switches from having the iso9660
support "select" the necessary bootloader to using a "depends on".
The main motivation is that the isolinux bootloader support will
really need to do a "depends on", due to the need of having a certain
option enabled, but this option being a kconfig "choice".
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
In preparation to the introduction for the support of other
bootloaders than Grub, this commit adds a "choice ... endchoice" block
with just the Grub option, and adds some conditionals in the
iso9660.mk code for the Grub specific parts.
Of course, for now those conditionals are a bit useless with just this
commit, but they become useful with the followup commits.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
fs/iso9660: support building a real iso9660 filesystem
Until now, the iso9660 filesystem handling only supported using an
initrd/initramfs to store the root filesystem, which is very different
from what we do with the other filesystems.
This commit changes the iso9660 logic to also allow using directly an
iso9660 filesystem to store the root filesystem. A new option,
BR2_TARGET_ROOTFS_ISO9660_INITRD, is created to tell the iso9660 that
we want to use an initrd and not directly the root filesystem in
iso9660 format. This option defaults to 'y' to preserve the existing
behavior.
After this commit, we therefore have three possibilities:
* BR2_TARGET_ROOTFS_ISO9660=y, with BR2_TARGET_ROOTFS_INITRAMFS and
BR2_TARGET_ROOTFS_ISO9660_INITRD disabled. In this case, the
iso9660 filesystem is directly the contents of the root filesystem
(since is possible thanks to the Rockridge extensions that were
already enabled using the -R option of genisoimage). Obviously, it
means that the root filesystem is read-only.
* BR2_TARGET_ROOTFS_ISO9660=y and BR2_TARGET_ROOTFS_INITRAMFS=y (the
value of BR2_TARGET_ROOTFS_ISO9660_INITRD doesn't matter). In this
case, the root filesystem is already linked into the kernel image
itself, as an initramfs. So the iso9660 filesystem doesn't contain
the root filesystem as is, but just the bootloader and the kernel
image.
* BR2_TARGET_ROOTFS_ISO9660=y, BR2_TARGET_ROOTFS_ISO9660_INITRD=y and
BR2_TARGET_ROOTFS_INITRAMFS disabled. In this case, a separate
initrd is used. The iso9660 filesystem only contains the
bootloader, the kernel and the initrd.
In order to support the first case out of the box, root=/dev/sr0 is
added on the kernel command line in the example Grub configuration
file, so that the kernel knows where the root filesystem is
located. This argument is ignored when initrd/initramfs are used.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
The iso9660.mk modifies the menu.lst file from Grub to set the correct
initrd/kernel image locations. However, with the upcoming support of
other bootloaders for iso9660 filesystems, we need to modify a bit
this logic.
Instead of relying on the specific details of the grub menu.lst
syntax, we introduce the __KERNEL_PATH__ and __INITRD_PATH__ magic
keywords, which iso9660.mk will replace by the appropriate
values. They can therefore be used where needed in grub menu.lst, and
in similar configuration files of other bootloaders, as will be
supported in the following commits.
Also, in order to be consistent with the soon to be introduced support
for having the root filesystem itself as iso9660, this commit changes
the installation location of the initrd and kernel. Instead of being
/initrd and /kernel, they become /boot/initrd and
/boot/$(LINUX_IMAGE_NAME).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Instead of using directly the splash image from the Buildroot source
directory boot/grub, this commit changes the iso9660 logic to use the
splash image installed in $(TARGET_DIR)/boot/grub.
This effectively allows a user to use a custom splash image by
installing it to $(TARGET_DIR) through a rootfs overlay or using a
post-build script.
Suggested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
fs/iso9660: change the location of the splash image
In order to simplify the introduction of the support for using ISO9660
as the real root filesystem, this commit changes the location of the
grub splash image. This makes it match where the splash image is
located in $(TARGET_DIR), so that regardless of whether the
initrd/initramfs solution or the real iso9660 filesystem solution are
used, the splash image is installed at the same location.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
fs/iso9660: rename all variables to use the ROOTFS_ISO9660 prefix
For consistency reasons, this commit renames all internal variables of
iso9660.mk to use the ROOTFS_ISO9660 prefix.
While we're at it, replace a useless ':=' by '='.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
We already enable the Rockridge extension by default when building
ISO9660, so let's also enable the Joliet extension which allows to
support Unicode file names and long file names.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
fs/iso9660: convert to the filesystem infrastructure
This commit converts the iso9660 logic to the common rootfs
infrastructure. What previously prevented it from being converted is
that the iso9660 logic needed to remove a temporary folder after the
image has been created.
However, since Buildroot typically keeps build artefacts around, this
commit changes the logic to keep this temporary folder around. Thanks
to this change, converting to the common rootfs infrastructure becomes
possible.
In addition, the temporary folder is renamed from $(BUILD_DIR)/iso9660
to the more descriptive $(BUILD_DIR)/rootfs-iso9660.tmp.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
fs/iso9660: use if ... endif block instead of depends on
In preparation to the addition of numerous additional options to the
iso9660 filesystem logic, use a if ... endif block instead of a
depends on for the only option that currently exists.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Thomas Petazzoni [Sat, 13 Jun 2015 17:21:46 +0000 (19:21 +0200)]
uclibc: remove Xtensa specific version
Since we now have uClibc-ng, and it is used as the default uClibc
version, there is no real need to keep the Xtensa version: this
version is just a specific Git revision of uClibc master branch, and
uClibc-ng is also based on uClibc master branch.
In addition, since in the choice of uClibc versions, uClibc-ng is
already *before* the Xtensa specific version, uClibc-ng has in fact
already been the default uClibc version for Xtensa since uClibc-ng
support was introduced.
Thomas Petazzoni [Sat, 13 Jun 2015 17:21:45 +0000 (19:21 +0200)]
uclibc: use uClibc-ng by default
Since the uClibc project is not making any release since about 3
years, and the uClibc-ng project is now alive and delivering regular
releases based on uClibc master plus a number of fixes, let's make
uClibc-ng the default uClibc version used by Buildroot.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Waldemar Brodkorb <wbx@openadk.org> Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Jörg Krause [Sun, 14 Jun 2015 12:47:04 +0000 (14:47 +0200)]
package/musl: bump to version 1.1.10
A new regression in uselocale made it into this release. As suggested [1] by the
musl maintainers add a patch from upstream [2] to avoid breaking programs that
call uselocale.
Gustavo Zacarias [Sat, 13 Jun 2015 12:44:48 +0000 (09:44 -0300)]
bc: patch makeinfo logic
It uses a hardcoded "makeinfo" command invocation instead of the usual
MAKEINFO variable with the missing logic for docs. Fixes:
http://autobuild.buildroot.net/results/b0b/b0b9dced0014a5a8026fa972f95085e8bd16a07b/
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Robert Sohn [Fri, 12 Jun 2015 12:44:34 +0000 (08:44 -0400)]
bc: bump version to 1.06.95
The current version of bc being used (1.06) is from 2000 and contains a
serious bug causing it to segfault when the math library is used, so bump to
the latest alpha release, which is also 9 years old.
Also include two fixes for Debian (https://packages.debian.org/jessie/bc)
- A patch to fix array initialization by Phul Nelson
- A patch to get bc to notice I/O errors by Ian Jackson
[Peter: fixup white space and tweak commit message] Signed-off-by: Robert Sohn <grepper@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Kyua is a testing framework for infrastructure software, originally
designed to equip BSD-based operating systems with a test suite. This
means that Kyua is lightweight and simple, and that Kyua integrates
well with various build systems and continuous integration frameworks.
https://github.com/jmmv/kyua
[Thomas: fix typo in hash file.]
Signed-off-by: Sebastien Bourdelin <sebastien.bourdelin@savoirfairelinux.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas:
- move lutok inclusion in package/Config.in after including the Lua
external modules
- add a comment explaining why we are passing --without-atf
- remove the logic around -ldl, it seems to build just fine without it.]
Signed-off-by: Sebastien Bourdelin <sebastien.bourdelin@savoirfairelinux.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
infra/pkg-kconfig: require an non-empty KCONFIG_FILE
Currently, we only check that the variable is defined, which is not
enough since we really want it to be non-empty.
We however can't check it points to an existing file, because the
package might well not be extracted yet, and we may use an internal
defconfig. If that file does not eventually exist, there will be a
failure down the road at build time when we try to copy it...
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[use buildroot's libatomic_ops, libuv and host-luajit; add
dependencies from libuv]
[Thomas: indicate that the hash has been locally calculated.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
James Knight [Sat, 23 May 2015 17:51:37 +0000 (13:51 -0400)]
scripts/mkusers: allow users with no password value set
The following allows a user definition to specify that a created user
entry should not have a password value set. Original implementation
allowed a user definition to provide a password value of "=" (no quotes)
to generate a crypt-encoded empty string value. In some cases, it may be
desired to have no value specified for a user's password. By using a
value "-" for a password, no value will be set in the shadow value.
An example when this can be used is when logging into a terminal.
Logging into a session with an encoded empty password will prompt a user
to enter a password since it does not know the password is empty. If the
password field blank, a login session will not prompt for a password.
Signed-off-by: James Knight <james.knight@rockwellcollins.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Wed, 3 Jun 2015 20:41:49 +0000 (22:41 +0200)]
package/matchbox-panel: fix WiFi monitoring
matchbox-panel can build a simple applet to monitor the WiFi. For that,
it tries to see if libiwl is available; if so, WiFi monitoring is
enabled, otherwise it is disabled; there is not option to explicitly
enable or disable it.
Currently, matchbox-panel depends on the wireless-tools package.
However, that's not enough, since the library will only be installed if
explicitly enabled in the menuconfig *and* this is not a static build.
Change the dependency to be on the library, not the package.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Wed, 3 Jun 2015 20:41:47 +0000 (22:41 +0200)]
package/matchbox-panel: use ACPI for the battery applet
It is possible to use ACPI to monitor the battery with the battery
mini-applet. If ACPI is not explicitly enabled, then APM is used if
available; if ACPI is not explcitly enabled and APM is not available,
then the battery applet is not built.
However, APM is not really current nowadays, and possibly missing for a
bunch of architecture...
What is a pity is that there is no way to explicitly enable or disable
the applet; it only relies on auto-detection... :-(
So, forcibly use ACPI on platforms that have it, that is x86 (32- and
64-bit) and AArch64.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Reviewed-by: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Wed, 3 Jun 2015 20:41:41 +0000 (22:41 +0200)]
package/matchbox: drop useless dependencies
xlib-libXft is only needed when building a 'standalone' matchbox, which
means not using matchbox-lib.
But we *are* building matchbox-lib, and we do not support the standalone
mode (and probably won't, as even upstream says it is ugly, by lack of
theming).
Similarly, xlib-libXext is only used for its 'xsync' extension, for
which support is entirely commented-out in matchbox.
So, drop the dependency on xlib-libXft, and make it explicit we're not
building either standalone modes; drop xlib-libXext.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
However, adding "MATCHBOX_CONF_ENV = -lm" does not solve the issue, as
it still does not link with -lm at all.
Furthermore, the package does not autoreconf, since it is missing the
gconf m4 macros, and Buildroot does not have a package for gconf, hence
we can not even patch Makefile.am and autoreconf.
Patching Makefile.in (in addition to .am) could be a solution, but
support for compositing is explicitly marked as being experimental.
So, just forcibly disable it altogether.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Previously, matchbox-startup-monitor was forcibly enabled whenever
startup-notification was. Now that it has a prompt, it merely defaults
to 'y' in this case, leaving the user the possibility to disable it.
This is not very logical.
Instead, invert the logic, and select startup-notification from
matchbox-startup-monitor.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Wed, 3 Jun 2015 20:41:35 +0000 (22:41 +0200)]
package/matchbox: finally add prompts to all sub-packages
We currently do not have that many packages without a prompt, and when
we do, they are limited to system-related packages that can't be
selected or are forcibly selected under various system-specific
conditions.
This is clearly not the case for the matchbox sub-packages, so just give
them a prompt, even when they are forcibly selected by the main matchbox
package, and can't be selected without it.
That will at least tell the user those packages exist and are to be
built.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Wed, 3 Jun 2015 20:41:31 +0000 (22:41 +0200)]
package/matchbox: fix option prompts
Use the package names instead of some fancy human-readable strings. ;-)
Note: the matchbox package is really named matchbox-window-manager by
upstream. However:
- it already is in a section of the menu title 'X window managers'
- users are probably only looking for 'matchbox'
- keeping just 'matchbox' keeps it in sync with the Kconfig variable,
and allows us to not handle a legacy entry (see a previous commit)
- matchbox-window-manager is a bit long. ;-)
So, in this case, the short 'matchbox' prompt is used instead of the
real upstream name.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Reviewed-by: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>