Having a host variant of this package is useful to create f2fs
filesystem images.
Signed-off-by: Grzegorz Blach <grzegorz@blach.pl>
[Thomas: add explicit --without-blkid and --without-selinux options,
following the review from Yann E. Morin.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The patch adds the package/swig/Config.in.host file and adds this path
to the package/Config.in.host file.
Signed-off-by: Matt Flax <flatmax@flatmax.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This adds a new option to build the btrfs toolset for the host, which
can be useful to prepare a btrfs filesystem image for the target.
Signed-off-by: Robert J. Heywood <robert.heywood@codethink.co.uk>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This patch adds host-checksec package support. This tool provides a
script to offline check the properties of a security hardened elf file.
REF: https://github.com/slimm609/checksec.sh
Signed-off-by: Paresh Chaudhary <paresh.chaudhary@rockwellcollins.com>
Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com>
[Thomas: add entry to DEVELOPERS file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The zstd (de)compression tool may be used in post-image scripts to
compress certain elements of the final image.
In order to allow that, make host-zstd selectable in the 'Host
utilities' menu, and build the binary in addition to the library.
Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This package add support for imx-mkimage for iMX8M.
Currently the only hardware it's tested for.
Signed-off-by: Erik Larsson <karl.erik.larsson@gmail.com>
Signed-off-by: Christopher Dahlberg <crille.dahlberg@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Post-build/image scripts may need to extract information from Microsoft
Excel (tm) spreadsheet files.
Signed-off-by: Lothar Felten <lothar.felten@gmail.com>
[Arnout: add package/Config.in.host entry]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This new package provides Cargo, the Rust official package manager.
Cargo is written in Rust and uses Cargo as its build system. It also
depends on other Rust packages.
Normally, a previously installed version of Cargo would be used to:
1. Fetch the dependencies.
2. Build the new version of Cargo, using the available Rust compiler.
But the fetching step prevents offline builds. So instead two features
of Cargo are leveraged: vendoring [1] and local registry.
First, a tarball of the build dependencies generated using `cargo
vendor` is fetched along with Cargo source code.
Then, the build process is as follows:
1. The tarball of the build dependencies is uncompressed in a local
registry.
2. A snapshot of Cargo, provided by cargo-bin, builds the final
version of Cargo.
3. A configuration file telling Cargo how to cross-compile programs for
the target is generated and installed.
Currently, only the host variant is provided.
[1] https://github.com/alexcrichton/cargo-vendor
[Peter: use src.fedoraproject.org, fix comment]
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The compiler for the Rust programming language is called rustc.
There is only one reference implementation for it, based on LLVM, from
the Rust project [1]. It can generate code for various architectures so
it can be labeled as a cross-compiler. But, as for GCC, building it
from source takes time.
So it would be sensible to have at least one package which provides it
as a pre-built version, fetched from the upstream project. Later another
package can be added, to build it from source code.
In addition to the compiler, the standard library for the host and/or
the target should also be fetched/built.
So, add a virtual package named rustc to enable support for multiple
providers.
Currently, only the host variant will be available to allow the user to
cross-compile Rust programs for the target.
[1] http://rust-lang.org
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
For E.G. post-build / post-image scripts as it generally cannot be expected
to be available on the build host and/or there are some differences in
behaviour between gnupg 1.x / 2.x.
Provide gnupg 1.x instead of 2.x, as it is simpler to build (less
dependencies) and easier to use in post-build / post-image scripts (E.G. no
gpg-agent that keeps running in the background).
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Building the target google-breakpad requires building the host variant
of google-breakpad. Just like the target google-breakpad only supports
a limited number of architectures, it is the same for the host
google-breakpad.
We therefore introduce a
BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS option that is used
where necessary to prevent the user from choosing Google Breakpad when
building on unsupported host platforms.
Fixes:
http://autobuild.buildroot.net/results/c7c04483508f9e4d629efa54571afeb1feaa5f73/
(build on a powerpc64le machine)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
go-bootstrap is a host package that builds a first stage Go compiler,
later used to build the final Go compiler. However, this first stage
compiler only supports building on x86, x86-64 and arm as host
architectures, so we need to add the relevant architecture
dependencies to avoid having go-bootstrap built on other unsupported
platforms.
We do this by introducing BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS
in a new package/go-bootstrap/Config.in.host file. This option is then
used by BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS to make sure we can't enable
Go packages when the host architecture doesn't allow building the Go
compiler.
Fixes:
http://autobuild.buildroot.net/results/cbd419c6ab6fa8a6d18dc137c91f895867e53b8a/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
While currently there is no in-tree Buildroot package which depends on
host-python-six, it can be needed to build external packages.
Signed-off-by: Julien Floret <julien.floret@6wind.com>
Tested-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
With the addition of the sdk support it may be interesting to build
host-cmake even though no packages need it, so expose it in menuconfig.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
With the addition of the sdk support it may be interesting to build
host-pkgconf even though no packages need it, so expose it in menuconfig.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Now that we use mkfs to generate ext2/3/4 filesystem image by calling
mkfs directly from fs/ext2/ext2.mk, we can remove this package.
Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Cc: "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>
RAUC is the Robust Auto-Update Controller developed by the folks at
Pengutronix. It supports updating embedded systems from the network
(ex: HawkBit) or from a disk and provides a d-bus interface.
Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
While currently there is no in-tree Buildroot package which depends on
host-python-lxml, we (DATACOM) have some proprietary modules that use it
in their test scripts.
We tested python-lxml as host package and confirmed that it builds and
works correctly. Someone else might require it, so we are proposing its
inclusion.
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[Thomas: add Config.in.host entry.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Some users may want to build the s6-rc service database offline using a
post-build script. So make the host variant visible in menuconfig.
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Originally, the opkg sources also contained the tools needed to _create_ an
opkg package. In later releases, this code has been split to a separate
package opkg-utils.
Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This new package currently installs the "rpiboot" utility, which is
needed to access via USB mass storage the built-in eMMC of Raspberry Pi
compute modules.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
TI provides a set of headers files and libraries useful in developing
firmware for real-time (PRU) cores embedded in some processors e.g.
AM3358. This package stages these files for any packages creating
PRU firmware.
Note: As per [1], use commit v4.0.2 to sync with common TI Linux
versions.
[1] http://e2e.ti.com/support/arm/sitara_arm/f/791/p/552190/2018113#2018113
Signed-off-by: Ash Charles <ash.charles@savoirfairelinux.com>
[Thomas:
- rename BR2_PACKAGE_PRU_EXAMPLES to BR2_PACKAGE_PRU_SOFTWARE_SUPPORT,
since the package directory name should match the Config.in option
for this package
- use select for BR2_PACKAGE_HOST_TI_CGT_PRU, and therefore add the
appropriate "depends on BR2_PACKAGE_HOST_TI_CGT_PRU_ARCH_SUPPORTS".]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
TI provides a binary code generation toolchain to develop firmware for
the programmable real-time unit/co-processor found in some SOCs such as
some models in the AM335x line. This toolchain includes C/C++ support
(clpru) rather than just assembler (pasm) supported by the pre-existing
am335x-pru-package [1]. Following the lead of the Yocto meta-ti
layer [2], this package provides a host toolchain suitable for an x86
(or x86_64) Linux targeting an ARM-based PRU core.
[1] http://processors.wiki.ti.com/index.php/PRU_Assembly_Instructions#pasm_vs._clpru
[2] http://git.yoctoproject.org/cgit/cgit.cgi/meta-ti/tree/recipes-ti/devtools/ti-cgt-pru_2.1.1.bb
Signed-off-by: Ash Charles <ash.charles@savoirfairelinux.com>
[Thomas: add BR2_PACKAGE_HOST_TI_CGT_PRU_ARCH_SUPPORTS boolean option,
so that packages selecting host-ti-cgt-pru can easily inherit its
architecture dependencies.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Although Babeltrace is available for all major Linux distributions, some
of them have a quite old version of this project.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This package contains the Freescale manufacturing tool.
It is designed to program firmware to i.MX boards during production.
The communication is done over USB using the Freescale UTP protocol.
The project is maintained on NXPMicro Github repository:
https://github.com/NXPmicro/mfgtools
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
[Thomas:
- remove dependency on host-cmake, this is handled by the
host-cmake-package infrastructure
- add quotes around $(HOSTCXX)
- add CPOL.htm to <pkg>_LICENSE_FILES.
- tweaks to the readme.txt file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Some people may need it to generate passwords (not necessarily for
users) from post-build scripts.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Erik Stromdahl <erik.stromdahl@gmail.com>
[Thomas:
- Rename prompt from "host-mxsldr" to "host mxsldr".
- Add BR2_armeb in the list of architectures under which this package
can be enabled.
- Remove double quotes around the _SITE value.
- The license is GPLv2+, not GPLv2.
- Add a value for the _LICENSE_FILES variable
- Rename MXSLDR_DEPENDENCIES to HOST_MXSLDR_DEPENDENCIES, since the
dependencies of the host package are no longer derived from the
dependencies of the target package.
- Remove the MXSLDR_MAKE_OPTS variable that contained the PKG_CONFIG
variable definition: it is already passed in HOST_CONFIGURE_OPTS.
- Remove hash file, as it is not checked on Git packages for now.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Wojciech Nizinski <niziak@spox.org>
[Thomas:
- Add missing dependency on wchar
- Rewrap Config.in help text
- Add missing "depends on BR2_USE_MMU" on the comment about wchar
dependency.
- Switch to upstream 0.7.0 version
- Replace the hook calling autogen.sh by a hook simply creating the m4
directory, which is what prevented <pkg>_AUTORECONF from working.
- Add patch to fix build with uClibc.
- Split in separate patches the addition of the host variants of
libarchive and libsodium.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This package allows to build the fastboot and adb host utilities,
which can be used to interact with target devices implementing one of
these protocols.
The work behind the host utilities was funded by ECA Group
<http://www.ecagroup.com>. ECA Group is the copyright owner of the
contributed code.
The package also allows to build fastboot, adb and adbd daemon for the
target.
Regarding adbd, the target is required to have the FunctionFS USB Gadget
configuration. Then the following commands enable the use of adb:
# modprobe g_ffs idVendor=0x18d1 idProduct=0x4e42 \
iSerialNumber="buildroot"
# mkdir -p /dev/usb-ffs/adb
# mount -t functionfs adb /dev/usb-ffs/adb -o uid=2000,gid=2000
# adbd &
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Tested-by: Julien Corjon <corjon.j@ecagroup.com>
[Thomas:
- update on top of master.
- fix Config.in.host prompt, it should have been "host android-tools"
and not just "android-tools".]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add a new package 'go' which builds the host cross compiler and
libraries for the go programming language.
Signed-off-by: Geoff Levand <geoff@infradead.org>
[Thomas:
- Put the computation of GO_GOARM inside the ifeq ($(BR2_arm),y)
condition rather than duplicating this condition.
- Remove the GO_GOARCH=unknown case, since there is no way to fall in
this case as only supported architectures can use host-go.
- Remove the GO_GOARM=unknown case, since we are sure that only
ARMv5/6/7 will use host-go.
- Rename HOST_GO_FINAL to HOST_GO_ROOT, since it's really the "root"
of the Go installation.
- Remove visible Config.in.host option.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add package for cbootimage host utility that is able to compile bct
files and generate flashable images out of a bct and an image for
tegra processors.
Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add package for the tegrarcm host utility that allows loading data to
tegra processors in recovery mode.
Signed-off-by: Julian Scheel <julian@jusst.de>
[Thomas: replace cryptopp cross-compilation fix by a more
autoconf-style solution, which has been submitted upstream.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Make the host variant of zip available. This can be useful in
post-{build,image} scripts.
Signed-off-by: Martin Bark <martin@barkynet.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Having the host version may allow post-image scripts to encrypt the
resulting image with aespipe (and decrypt it in the update tool on the
target).
Signed-off-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
[Thomas: rewrap Config.in help text, tweak commit title.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Chromium OS verified boot utilities.
Needed for signing kernel images and manipulating bootable
partitions on media intended for Chromebooks.
Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This tool which is useful for scripts that create flash images with
multiple partitions. The host-parted package can do this too, but is
missing a number of features that the gptfdisk program has for dealing
with GPT.
The interactive gdisk and curses based sgdisk aren't built. Just the
scriptable tool sgdisk. The target package allows configuring which
tools are built, but this seem unnecessarily complex for the host
tool.
[Thomas: minor reformatting tweaks.]
Signed-off-by: Trent Piepho <tpiepho@kymetacorp.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Allow building jq as host utility for use in post-build scripts.
This can be useful to created, edit, merge or even perform syntax checking
on JSON files.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Having a host variant of dtc is needed for example for U-Boot, which
uses the Device Tree for a number of platforms.
In addition, now that we have a proper host-dtc package, it is no
longer needed for the linux package to install the host dtc compiler:
users interested in having the host dtc compiler can simply enable
this package.
A Config.in.host option is added to build host-dtc, because the
initial reason why the host DTC built by the kernel was installed in
$(HOST_DIR)/usr/bin (commit 707d44d0a2
from Thomas DS) was:
Having dtc as a host tool can be useful for users that have a
custom boot scenario where the device tree is not embedded in the
kernel.
[Thomas:
- rework the commit log.]
[Peter: keep the (renamed) linux version]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
For use by packages or post-build/image scripts to fake the current time for
obnoxious programs that insists on adding a timestamp.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This host package allows to build tools to download and execute code on
Freescale i.MX5/i.MX6 and Vybrid SoCs through the Serial Download
Protocol.
The work behind this commit was funded by ECA Group
<http://www.ecagroup.com>. ECA Group is the copyright owner of the
contributed code.
Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas:
- Indicate in the Config.in help text that this policy compiler is
SELinux related.
- Rewrap Config.in help text and remove trailing white space.
- Add a comment in the .mk file to indicate why we're passing
DESTDIR= at build time.]
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Clayton Shotwell <clshotwe@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This allows qemu-user to be selected by the user. One use case
for this is to call qemu-user from post build scripts to
run regression tests against the build.
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Currently, we are using a shell script called genext2fs, that
impersonates the real genext2fs. But that script does much more than
just call genextfs: it also calls tune2fs and e2fsck.
Because it impersonates genext2fs, we can not easily add new options,
and are constrained by the genext2fs options.
But it turns out that, of all the options supported by the real
genext2fs, we only really care for a subset, namely:
- number of blocks
- number of inodes
- percentage of blocks reeserved to root
- the root directory which to generate the image from
So, we introduce a new host package, mke2img, that is intended to
eventually replace genext2fs.sh.
This new script is highly modeled from the existing genext2fs.sh, but
was slightly refreshed, and a new, supposedly sane set of options has
been choosen for the features we need (see above), and some new options
were added, too, rather than relying on the arguments order or
environment variables:
-b <nb-blocks> number of blocks in the filesystem
-i <nb-inodes> number of inodes in the filesystem
-r <pc-reserved> percentage of reserved blocks
* -d <root-dir> directory containing the root of the filesystem
* -o <img-file> output image file
-G <ext-gen> extfs generation: 2, 3, or 4 (default: 2)
-R <ext-rev> ext2 revision: 0 or 1 (default 1)
-l <label> filesystem label
-u <uid> filesystem UUID; if not specified, a random one is used
* Mandatory options
Since the upstream e2fsprogs are expected to release a new mke2fs that
will be able to generate a filesystem image from a directory, we then
will be able to replace all the logic in mke2img, to use mke2fs instead
of the (relatively fragile) combination of the three tools we currently
use.
An entry is added for it in the "Host utilities" menu, so it can be
selected for use by post-{build,image} scripts. The ext2 filesystem
selection is changed to select that now.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Karoly Kasza <kaszak@gmail.com>
Reviewed-by: Karoly Kasza <kaszak@gmail.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: David Bachelart <david.bachelart@bbright.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
In some situations, users may want to tweak the dynamic section of the
binaries (for example to add/set the RPATH to $ORIGIN/../lib).
Because it is not trivial to do it properly from the Buildroot
infrastructure, allow those users to use patchelf (e.g. from a
post-build script) to tweak binaries.
patchelf is able to:
- modify an existing DT_RUNPATH tags
- add a DT_RUNPATH tag if not already present
- do the above to the DT_RPATH tag, too
- set the path to the interpreter
- remove DT_NEEDED tags
- query a binary for the DT_RUNPATH/DT_RPATH tag, or for the
interpreter path
Does not really fix#7172, but this is an appropriate workaround.
[Thomas: change license to GPLv3+, as mentionned in the project's
README file.]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Mike Zick <minimod@morethan.org>
Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>