aboutsummaryrefslogtreecommitdiffstats
path: root/target/imagebuilder
Commit message (Collapse)AuthorAgeFilesLines
* imagebuilder: add function to show manifestPaul Spooren2018-07-301-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | Tested with 18.06.0-rc2/ar71xx/generic/tl-wdr4300-v1, image & list This PR is based on the work of @fewckert[1] with slight improvements. Add function `manifest` to show the manifest of the produced image, before actually building it. The manifest contains an orderd list of package name and version. This is usefull to check package dependencies but also determine a unique and reproducible image name before building the package. The sysupgrade server[2] builds images on request with individual package selection. To distignish between created images which contain differnt packages, the EXTRA_IMAGE_NAME is set to a shortend hash of the manifest's content. So far the image was renamed afterwards as the manifests content was unknown, however this corrupts the signed sha256sums. This patch allows a clean solution as to dtermine the manifest in advance and set the EXTRA_IMAGE_NAME accordingly. [1]: https://github.com/lede-project/source/pull/1591 [2]: https://github.com/aparcar/attendedsysupgrade-server Signed-off-by: Paul Spooren <mail@aparcar.org> (cherry-picked from commit 869b0d11db)
* imagebuilder: remove split patch dirs from imagebuilder archiveMatthias Schiffer2018-03-071-2/+3
| | | | Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* imagebuilder: reuse rootfs preparation from rootfs.mkMatthias Schiffer2018-03-071-37/+9
| | | | | | | | | | | | In addition to removing redundant code, this fixes various issues in IB-generated images that have been fixed in prepare_rootfs before, including better handling of CONFIG_CLEAN_IPKG and enabling of initscripts from FILES. We also reuse the opkg macro and remove --force-... flags that have been removed from rootfs.mk as well. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* imagebuilder: fix reference to removed VERSION_SED variableJo-Philipp Wich2018-02-021-1/+1
| | | | | Fixes: ff8e9a4ecb ("treewide: combine VERSION_SED and VERSION_SED_SCRIPT") Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* merge: etc: update remaining filesZoltan HERPAI2017-12-081-1/+1
| | | | Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* merge: targets: update image generation and targetsZoltan HERPAI2017-12-081-1/+1
| | | | Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* imagebuilder: don't rewrite package list outputDaniel Golle2017-06-171-1/+1
| | | | | | | | No longer rewrite opkg list output in package_list function, remove the awk call in the pipe (which was intended for a single specific use-case). Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* imagebuilder: clean package_listDaniel Golle2017-06-171-6/+6
| | | | | | | | | | | commit 19ac879954 (imagebuilder: add package_list function) introduced a new function 'package_list' to the imagebuilder Makefile. Unfortunately the package list was poluted by stdout noise of the Makefile itself as well as opkg. Redirect those outputs to stderr to make sure that the package_list returned doesn't contain progress info output but really only packages. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* imagebuilder: add package_list functionPaul Spooren2017-06-151-7/+14
| | | | | | | | | The imagebuilder can now list all available packages by using make package_list. This is usefull for scripts to retrieve a list of all packages with versions (and size) Signed-off-by: Paul Spooren <paul@spooren.de> [daniel@makrotopia.org: fixed commit message]
* imagebuilder: fix bundling of DTS sourcesJo-Philipp Wich2017-05-141-3/+3
| | | | | | | | | | | | | | | Refer to LINUX_KARCH instead of ARCH when bundling DTS files in the image builder tarball. While we're at it, also dereference symbolic links when copying as some kernel architectures contain symbolic links in their DTS directories. This fixes aarch64 imagebuilders such as brcm2708/bcm2710 ones in particular as the kernel refers to "aarch64" as "arm64" internally. Ref: https://forum.lede-project.org/t/lede-image-builder-problem/3680 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: get rid of host.mkFelix Fietkau2017-02-262-3/+1
| | | | | | Defined required host related variables in toplevel.mk instead Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add buildbot specific config option for setting defaultsFelix Fietkau2017-02-141-1/+2
| | | | | | | | | | This can be used to tweak the buildbot behavior without having to change buildbot's configuration. It will also allow us to add more aggressive clean steps (e.g. on toolchain changes), which would break developers' workflows if enable by default. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* imagebuilder: make submake invocations less verboseJo-Philipp Wich2017-02-021-4/+4
| | | | | | | Use silent make invocations for sub-makes like build_image or checksum to avoid bloating the IB output with non-status info. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: introduce STAGING_DIR_IMAGEJo-Philipp Wich2017-01-271-0/+3
| | | | | | | | | | | Introduce a new location STAGING_DIR_IMAGE which is intended to be used by bootloader iamges and similar image-related artifacts. This directory is guaranteed to be persistent across kernel upgrades which might involve a removal of KERNEL_BUILD_DIR and is guranteed to be bundled with the image builder. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* imagebuilder: properly escape single quotes in device titlesJo-Philipp Wich2017-01-261-1/+1
| | | | | | | | | | | | | The name "Plat'Home OpenBlocks AX3" causes the imagebuilders "make info" command to fail with: bash: -c: line 0: syntax error near unexpected token `(' bash: -c: line 0: `echo; [...]' Makefile:99: recipe for target '_call_info' failed Properly escape single quotes to avoid breaking the echo commands. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* imagebuilder: remove existing debug kernel imageFelix Fietkau2017-01-131-0/+1
| | | | | | Reduces tarball size and improves build time Signed-off-by: Felix Fietkau <nbd@nbd.name>
* imagebuilder: remove existing root filesystem imagesFelix Fietkau2017-01-131-0/+1
| | | | | | Reduces tarball size and improves build time Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: rework library bundlingJo-Philipp Wich2017-01-101-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rework the bundle-libraries.sh implementation to use a more robust approach for executing host binaries through the shipped ELF loader and libraries. The previous approach relied on symlinks pointing to a wrapper script which caused various issues, especially with multicall binaries as the original argv[0] name was not preserved through the ld.so invocation. Another down- side was the fact that the actual binaries got moved into another directory which caused executables to fail looking up resources with paths relative to the executable location. The new library wrapper implements the following improvements: - Instead of symlinks pointing to a common wrapper, each ELF executable is now replaced by a unqiue shell script which retains the original program name getting called - Instead of letting ld.so invoke the ELF executable directly, launch the final ELF binary through a helper program which fixes up the argv[0] argument for the target program - Support sharing a common location for the bundled libraries instead of having one copy in each directory containing wrapped binaries Finally modify the SDK build to wrap the staging_dir and toolchain binaries which allows to use the SDK on systems with a different glibc version. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* target/imagebuilder: Switch to xz compression instead of bz2Daniel Engberg2016-10-151-4/+4
| | | | | | | Switch to xz compression instead of using bz2. Saves about 20% of total size (ar71xx) Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* target/{sdk,imagebuild}: Fix for symlink-treeDaniel Dickinson2016-09-301-1/+1
| | | | | | | | | With symlink tree some directories are just symlinked which means IB and SDK end up with a symlink instead of an actual directory; this fixes the missing files by dereferencesing the directories instead of copying the symlinks. Signed-off-by: Daniel Dickinson <lede@cshore.thecshore.com>
* build: add checksum targetJo-Philipp Wich2016-08-011-0/+6
| | | | | | | | | | | | | | | Add a new "checksum" make target which generates an sha256sums file over the image files produced in bin/targets/ and automatically call it during make world after the package index generation. The advantage of this new target is that it is guaranteed to run after the images, the SDK and the ImageBuilder archives have been generated to ensure that they all end up in the checksum file. Fixes FS#51. Uses sed to postprocess the OpenSSL digest output into an sha256sum command compatible format. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: remove obsolete variables from opkg commandFelix Fietkau2016-07-291-3/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* imagebuilder: strip DEVICE_ prefix from profiles (FS#55)Felix Fietkau2016-07-211-3/+5
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: split scripts/metadata.pl into target-metadata.pl and package-metadata.plFelix Fietkau2016-06-071-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* IB/SDK/toolchain: use lower cases filenamesAlexander Couzens2016-06-011-1/+1
| | | | Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* IB/SDK/toolchain: use VERSION_DIST_SANITIZED instead of VERSION_DISTAlexander Couzens2016-06-011-1/+1
| | | | | | VERSION_DIST can contains spaces which produces problems when used as file name Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* imagebuilder: Fix sorting package list breaks opkg dependency handling for ↵Daniel Dickinson2016-05-181-1/+1
| | | | | | | | | | | | | | | | provides When imagebuild sorts package lists it breaks opkg's ability to realize that a providers for a Provides has already been installed, when the sort results in the provider being later in the list of packages that a package which depends on a Provides (and hence the provider is not yet installed for opkg to realize the provider was available doesn't not handle the case of a package that is to be installed satisfying a dependency, only one that is already installed (or which it schedules to be installed, which in the absence of an installed provider is whichever provider happens to be the default) Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
* build: remove profile kernel/build system config override supportFelix Fietkau2016-05-151-1/+0
| | | | | | It has been unused for years Signed-off-by: Felix Fietkau <nbd@nbd.name>
* target/imagebuilder: fix using new device profilesFelix Fietkau2016-05-131-13/+9
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* imagebuilder: rename OpenWrt into LEDEAlexander Couzens2016-05-052-2/+2
| | | | Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* imagebuilder: use correct package directory when bundling kmods and libcJo-Philipp Wich2016-04-221-2/+2
| | | | | | | | | | | The libc and kernel package files moved since the introduction of shared packages and the changed output directory layout. This causes the generated ImageBuilder archive to lack the necessary "libc" and "kernel" meta packages, leading to opkg install errors later on. Use the FeedPackageDir macro to figure out the proper source directory to use. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* imagebuilder: fix standalone operationJo-Philipp Wich2016-04-131-1/+2
| | | | | | Fix standalone ImageBuilders after the package layout rework. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* images imagebuilder: Allow to add sanitized extra nameFelix Fietkau2016-01-031-2/+2
| | | | | | | | | | | | | For final output image names allow user to add an extra string (which is sanitized). This is particularly useful with ImageBuilder where you may generate multiple images from the same base and for the same board, with different package selections and additional files (via FILES=). Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com> SVN-Revision: 48083
* targets: Use configured distribution name for SDK, IB, and Toolchain tarball ↵Felix Fietkau2016-01-031-1/+1
| | | | | | | | | | | | names We allow to configure the version distribution name; let's also use it for the tarballs (SDK, ImageBuilder, and SDK). Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com> SVN-Revision: 48081
* imagebuilder: store package lists in cache directoryJo-Philipp Wich2015-09-141-0/+2
| | | | | | | | | | Force opkg to store the downloaded repository indizes into the cache directory as well, this way the IB can be used in an offline setting once all required files have been cached. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 46912
* imagebuilder: run build prereq checks before building image to set up host ↵Felix Fietkau2015-09-101-1/+16
| | | | | | | | commands properly Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 46840
* build: Prevent more gzip timestampsJohn Crispin2015-07-141-1/+1
| | | | | | | | | To improve reproducibility, prevent the inclusion of timestamps in the gzip header. Signed-off-by: Reiner Herrmann <reiner@reiner-h.de> SVN-Revision: 46361
* imagebuilder: create cache directory if needed (#18629)Jo-Philipp Wich2015-06-011-7/+7
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 45866
* IB: make CONFIG_IB_STANDALONE the defaultJo-Philipp Wich2015-05-281-3/+4
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 45800
* feeds: use common macro "FeedSourcesAppend" to populate opkg configurationsJo-Philipp Wich2015-05-281-12/+2
| | | | | | | | | This introduces a common macro to assemble the correct url templates to avoid code duplication and have the feed config handling in a central place. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 45799
* IB: use online repositoriesJo-Philipp Wich2015-05-274-5/+40
| | | | | | | | | | | | Change the IB packaging to only embed libc, kernel and kmod packages by default and generate repositories.conf to refer to the remote package repositories. Introduce a new config option CONFIG_IB_STANDALONE which restores the old behaviour of building self contained IB archives. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 45772
* imagebuilder: align filename with SDKJo-Philipp Wich2015-02-071-5/+2
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 44313
* imagebuilder: don't pregenerate package index, strip host binariesJo-Philipp Wich2015-02-061-2/+2
| | | | | | | | | | | | The package index is generated on first use anyway, therefore it makes no sense to continue shipping it. Also sstrip the bundled host binaries when packing the IB to save some additional space. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 44293
* imagebuilder: use FreeBSD compatible tar invocationJo-Philipp Wich2015-02-061-1/+1
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 44288
* imagebuilder: fail with error if the passed profile name does not existJo-Philipp Wich2015-01-101-0/+8
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 43916
* build: add version number to filenamesJo-Philipp Wich2015-01-081-1/+1
| | | | | | | | | | | | This commit introduces a new option CONFIG_VERSION_FILENAMES which causes OpenWrt to embed the version number in generated image files, SDK- and ImageBuilder archives. The option is enabled by default if CONFIG_VERSIONOPT is set. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 43869
* target/imagebuilder: remove obsolete !TARGET_ROOTFS_INITRAMFS dependencyFelix Fietkau2014-10-311-1/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43128
* postinst trigger: the new postinst trigger broke IBJohn Crispin2014-09-161-4/+5
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 42571
* imagebuilder: remove postinst files before generating imageFelix Fietkau2014-08-311-0/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42339
* build: introduce per feed repository supportJo-Philipp Wich2014-08-051-2/+2
| | | | | | | | | This changeset implements a new menuconfig option to generate separate repositories for each enabled package feed instead of one monolithic one. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 42002