Commit Graph

40 Commits

Author SHA1 Message Date
Thomas Petazzoni
88cbfd1007 android-tools: add new package
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>
2016-04-30 19:04:10 +02:00
Geoff Levand
ec50eb3e42 go: new host package
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>
2016-04-20 22:29:34 +02:00
Julian Scheel
0b467c6b95 cbootimage: new package
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>
2016-04-19 22:33:08 +02:00
Julian Scheel
e903e453be tegrarcm: new package
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>
2016-04-19 22:20:22 +02:00
Benoît Allard
2b5120ca92 xorriso: Add host variant
Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-30 21:09:05 +02:00
Martin Bark
ddb8ff9d95 package/zip: add host-zip
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>
2016-02-20 14:24:38 +01:00
Ariel D'Alessandro
df3c3bcf59 aespipe: add host variant
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>
2016-02-06 21:27:24 +01:00
Alex Suykov
8432ce7795 vboot-utils: new package
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>
2015-12-27 12:07:12 +01:00
Trent Piepho
3d5f55867a gptfdisk: Add host package
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>
2015-12-15 22:33:33 +01:00
Thomas De Schampheleire
db6fb49e7f jq: enable host package
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>
2015-10-25 21:36:23 +01:00
Peter Seiderer
5774f07d43 dtc: add host build
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>
2015-10-04 20:17:35 +02:00
Peter Korsgaard
ffce535003 package: add host-faketime
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>
2015-05-13 10:12:17 +02:00
Antoine Ténart
059ab7f025 imx-usb-loader: new host package
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>
2015-05-02 09:47:04 +02:00
Clayton Shotwell
37d7897106 checkpolicy: new package
[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>
2015-01-08 22:58:52 +01:00
Frank Hunleth
b268df55c1 qemu: add to host utilities menu
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>
2014-12-23 12:09:17 +01:00
Yann E. MORIN
9d19f8fc86 package/mke2img: new package
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>
2014-12-07 22:06:44 +01:00
Eric Le Bihan
b3c5c03bde cramfs: add host utilities menu entry
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 09:53:43 +02:00
David Bachelart
dcd762c0f9 dos2unix: new package
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>
2014-09-13 23:52:13 +02:00
Yann E. MORIN
8f570cd765 package/patchelf: new host package
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>
2014-07-31 23:53:23 +02:00
Gustavo Zacarias
66770f1a93 pwgen: add host utilities menu entry
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-07-01 15:11:42 +02:00
Arnout Vandecappelle
ef41e59792 infra: indent the Config.in source-ing of packages
This makes sure that a patch adding a package shows in which menu the
package is added.

Before this commit, the patch has something like this:
> diff --git a/package/Config.in b/package/Config.in
> index 7800f23..433312e 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -864,6 +864,7 @@ source "package/googlefontdirectory/Config.in"
>  source "package/haveged/Config.in"
>  source "package/mcrypt/Config.in"
>  source "package/mobile-broadband-provider-info/Config.in"
> +source "package/mypackage/Config.in"
>  source "package/shared-mime-info/Config.in"
>  source "package/snowball-init/Config.in"
>  source "package/sound-theme-borealis/Config.in"

[> added to avoid git-am recognizing this as the patch]

After this commit, the function marker shows in which menu the new
package was added:
> diff --git a/package/Config.in b/package/Config.in
> index b1111c8..7e6e1a4 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -864,6 +864,7 @@ menu "Miscellaneous"
>  	source "package/haveged/Config.in"
>  	source "package/mcrypt/Config.in"
>  	source "package/mobile-broadband-provider-info/Config.in"
> +	source "package/mypackage/Config.in"
>  	source "package/shared-mime-info/Config.in"
>  	source "package/snowball-init/Config.in"
>  	source "package/sound-theme-borealis/Config.in"

To keep things consistent, this is done for Config.in.host there, even
though we don't have sub-menus there at the moment.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-11 22:33:43 +02:00
Daniel Nyström
42ec5e049a e2tools: new package
E2tools is a simple set of GPL'ed utilities to read, write, and
manipulate files in an ext2/ext3 filesystem.  These utilities access a
filesystem directly using the ext2fs library.

[Thomas: add toolchain dependencies as needed, use full Git hash, use
github helper, add support for host version.]

Signed-off-by: Daniel Nyström <daniel.nystrom@timeterminal.se>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-20 23:43:51 +02:00
Yann E. MORIN
2852f787d0 package/squashfs: add selection for the host variant
If any of the post-image scripts wants to handle squashfs filesystems,
we need to expose an option for squashfs-tools to be user-selectable.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Ryan Barnett <rjbarnet@rockwellcollins.com>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-08 23:16:57 +01:00
Danomi Manchego
ebeb21d029 package/util-linux: add a host variant
Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-04 11:22:08 +01:00
Ezequiel García
5d5b468345 mtd: Allow to select the host variant
If any of the post-image scripts wants to create mtd/ubi images,
we need to expose an option for mtd-tools to be user-selectable.

[Peter: fix include order]
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-02 23:02:19 +01:00
Yann E. MORIN
749b2589ea package/parted: add a host variant
Useful for for-build scripts to call parted, eg. to generate
partition tables and such automatically.

Since the primary goal is to use parted within scripts, we
do not need readline, so it is forcibly disabled.

Also, it does look unlikely that we need to manipulate LVM
volumes, so we forcibly disable support for the device-mapper.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-12 23:58:39 +01:00
Yann E. MORIN
d8286a993a package/genext2fs: add host variant
genext2fs is built only if the user selected an ext2 root filesystem.

However, some use-cases can't live with the full target/ dir on the
root filesystem, and requires separate partitions (eg. for /usr).
In this case, the user would not select an ext2 root fs in the
Buildrooot menu, and would only generate a tarball of the rootfs.
This tarball would then be used from a post-image script to build
the actual required FSes.

But then, genext2fs is not built, since the ext2 root FS was not
selected.

As for the other filesystem generators, provide a host variant of
genext2fs (genext2fs is already host-package aware, so only needs
adding a Kconfig entry).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-03 23:06:30 +02:00
Carlo Caione
e76dadc86e sunxi-tools: new host/target package
[Peter: Fix Config.in wordwrap and trailing lines]
Signed-off-by: Carlo Caione <carlo.caione@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-28 00:09:22 +02:00
Yann E. MORIN
ae2cd54a27 package/mtools: new host-package
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-18 23:11:45 +01:00
Yann E. MORIN
dfa976593e package/genpart: new host-only package
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-18 23:08:22 +01:00
Yann E. MORIN
1520628df1 package/genimage: new host-only package
[Peter: wrap help text]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-18 23:06:47 +01:00
Yann E. MORIN
24c2535f52 package/dosfstools: add host-package selection
Add dosfstools as a host-package selection in the menuconfig.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-18 23:02:28 +01:00
Yann E. MORIN
59d1fe58fa package/e2fsprogs: add host-package selection
Add the e2fsprogs as a host-package selection in the menuconfig.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-18 23:01:32 +01:00
gregory hermant
f3c1ee9a59 dfu-util: new package
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-20 20:03:53 +02:00
Luca Ceresoli
761dc51bdb omap-u-boot-utils: add new host package
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-19 22:31:35 +02:00
Alexandre Belloni
d444e1d4c3 Add lpc3250loader to the host tools
[Peter: use install -D for installation]
Signed-off-by: Alexandre Belloni <alexandre.belloni@piout.net>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-18 15:39:17 +01:00
Thomas Petazzoni
a23c0e5968 sam-ba: new package with host variant only
sam-ba is a tool needed to reprogram AT91-based systems using an USB
connection or a serial port connection.

[Peter: Add upstream URL]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-02 21:14:48 +01:00
Thomas Petazzoni
375d68d110 openocd: add host variant
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-02 21:02:26 +01:00
Thomas Petazzoni
6b04b2dda6 uboot-tools: expose host package in menuconfig
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-02 20:55:45 +01:00
Thomas Petazzoni
d06e802223 Add basic config infrastructure for host utilities
Most of the host packages don't have to be exposed to the user as they
are only used as build dependencies of target packages.

However, some host utilities, such as flashing utilities, image
creation programs, specific debuggers, might be useful and should be
presented to the user.

Therefore, we have a new global menu, which lists those host
utilities. These utilities are described in package/*/Config.in.host
files, which will be sourced by package/Config.in.host.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-02 20:54:19 +01:00