summaryrefslogtreecommitdiff
path: root/include/image.mk
Commit message (Collapse)AuthorAgeFilesLines
* build: fix restoring /etc/opkg with PER_DEVICE_ROOTFSJo-Philipp Wich2018-01-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When generating per-device rootfs directories, the ./etc/opkg/ directory is moved away prior to calling opkg install, opkg remove and rootfs_prepare. After the opkg invocations and the rootfs_prepare macro call, the saved opkg config directory is supposed to be moved back to its previous ./etc/opkg location. The mv command however can fail to properly restore the directory under certain circumstances, e.g. when the prior opkg or files/ overlay copy operations caused a new ./etc/opkg/ directory to be created. In this case, the backed up directory (named target-dir-$hash.opkg) will be moved into the preexisting ./etc/opkg/ directory instead, causing the opkg configuration to be located in a wrong path on the final rootfs, e.g. in /etc/opkg/target-dir-$hash.opkg/distfeeds.conf instead of /etc/opkg/distfeeds.conf. Solve this problem by replacing the naive "mv" command with a recursive "cp -T" invocation which causes the backed up directory tree to get merged with the destination directory in case it already exists. Also perform the rootfs_prepare macro call after restoring the opkg configuration, to allow users to override it again by using the files/ overlay mechanism. Signed-off-by: Jo-Philipp Wich <jo@mein.io> (cherry picked from commit ab1785b1b2559c9f2d09d4d3ce43e11f4b828616)
* image.mk: Generate cpiogz with root-owned filesMichal Sojka2017-05-161-1/+1
| | | | | | | | | Some files (e.g. /etc/dropbear) need to be owned by root. Add cpio option to ensure that. Other image types (at least targz and squashfs) already have this. Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
* image.mk: force kernel rebuild on every runFelix Fietkau2017-04-051-2/+2
| | | | | | | DTS dependencies are not processed correctly so makes it safer against poentially stale builds Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image.mk: add generic function for gzipping images if enabledFelix Fietkau2017-01-131-0/+7
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image: when using the new image build code, gzip ext4 images by defaultFelix Fietkau2017-01-131-1/+6
| | | | | | | | | This reduces the amount of hacks in the makefile code. Remove the apm821xx code to do the same - it was broken and left both compressed and uncompressed images in $(BIN_DIR) Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image.mk: use LINUX_KARCH rather than ARCH for mkitsIan Pozella2017-01-131-1/+1
| | | | | | | | | | | The generated 'its' is passed to mkimage which expects linux arch strings rather than the full arch (e.g. mips not mipsel). It currently works in some cases where LINUX_KARCH == ARCH but otherwise you get an unknown arch build error. Signed-off-by: Ian Pozella <Ian.Pozella@imgtec.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: remove obsolete parallel build related optionsFelix Fietkau2017-01-101-1/+1
| | | | | | Always use the main make jobserver, which has been the default for ages Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: fix build of ubifs imagesFelix Fietkau2017-01-091-3/+3
| | | | | | --force-compr was added by the xz compression patch, which is gone now. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: use mkhash to replace various quirky md5sum/openssl callsFelix Fietkau2017-01-051-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: support adding version code to file names (FS#323)Jo-Philipp Wich2016-12-091-2/+4
| | | | | | | | | | | | | | Now that the VERSION_NUMBER variable holds the human friendly name and not the commit ID anymore, we need to support adding the revision ID as well. Introduce a new config variable CONFIG_VERSION_CODE_FILENAMES which, if set, causes the resulting file names to contain a commit ID designation as printed by scripts/getver.sh. Also sanitize the input variables to ensure that the resulting strings are lowercased and no not contain spaces. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: add support code for appending metadata to imagesFelix Fietkau2016-11-191-1/+4
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* config: ext4: drop option to set maximum number of inodesJo-Philipp Wich2016-10-271-1/+0
| | | | | | | | | | | There is very little practical use to limit the number of available inodes on an ext4 filesystem and the make_ext4fs utility is able to calculate useful defaults by itself. Drop the option to make resulting ext4 filesystems more flexible by default. Signed-off-by: Jo-Philipp Wich <jo@mein.io> Acked-by: Michael Heimpold <mhei@heimpold.de>
* include: image.mk: make ext4 reserved blocks percentage optionalJo-Philipp Wich2016-10-271-1/+1
| | | | | | | | Allow CONFIG_TARGET_EXT4_RESERVED_PCT to be empty as make_ext4fs is usually able to figure out a suitable default. Signed-off-by: Jo-Philipp Wich <jo@mein.io> Reviewed-by: Michael Heimpold <mhei@heimpold.de>
* rootfs: remove unnecessary and potentially harmful force flags from opkg callMatthias Schiffer2016-09-261-1/+1
| | | | | | | | | | | | Especially --force-overwrite and --force-depends will often lead to broken images; it's better to fail the build in such cases than to silently ignore the errors. Instead, ignore errors in the per-device rootfs opkg remove command, so the build doesn't break when packages can't be removed because of dependencies. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* image: per-device rootfs: first remove, then install packagesMatthias Schiffer2016-09-261-3/+3
| | | | | | | | Some DEVICE_PACKAGES definitions replace one package variant with another (e.g. wpad-mini is replaced with wpad). To avoid file conflicts, first remove, then install packages. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* image: don't modify file permissions before rootfs generationMatthias Schiffer2016-09-261-19/+2
| | | | | | | | | | | | | | | | Modifying the file permissions can be harmful, as it would make files world-readable even if they weren't in the ipk packages. The Image/mkfs/prepare step is removed completely, as it is redundant now (/tmp and /overlay are already provided by base-files with the correct permissions). It has been verified that this change does not affect any permissions of files in the default package set except /etc/ppp/chap-secrets, which was world-readable before. All packages not in the default set are more likely to be installed via opkg than being part of a base image and thus were usually not affected by the permission modification anyways. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* image: fix CONFIG_CLEAN_IPKG with CONFIG_TARGET_PER_DEVICE_ROOTFSMatthias Schiffer2016-09-251-1/+1
| | | | | | | | | | | Running prepare_rootfs on TARGET_DIR deletes the opkg state when CONFIG_CLEAN_IPKG is enabled, making the per-device rootfs package install fail. To avoid this, create a copy of the TARGET_DIR before prepare_rootfs is run and use this as basis for per-device rootfs generation. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* image: per-device rootfs: don't fail without opkgMatthias Schiffer2016-09-241-2/+2
| | | | | | | Ignore errors caused by /etc/opkg not existing (i.e. when opkg is not selected). Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* image: allow specifying additional packages for device-specific rootfsMatthias Schiffer2016-09-241-2/+12
| | | | | | | | Add a new option to each device in multi-profile mode, allowing to provide a list of packages to add or remove. In case of added packages, the user must take care that these are selected to be built. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* image: don't override opkg list directory in per-device rootfs modeMatthias Schiffer2016-09-241-5/+2
| | | | | | | | | | | | opkg's -l option is always interpreted relative to the installation root. This leads to very weird paths inside the rootfs (containing the whole path to the LEDE tree on the build machine) and causes the subsequent deletion of the list directory to fail (cluttering the resulting images). Instead, use the default list directory and remove its contents in prepare_rootfs. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* image: use check-size from new image build codeMathias Kresin2016-09-131-8/+1
| | | | | | Use the new image build code and deduplicate the code. Signed-off-by: Mathias Kresin <dev@kresin.me>
* image: add KERNEL_SIZE to the default device varsMathias Kresin2016-09-131-1/+1
| | | | | This reverts commit ec37a565878fd79d4127cbb843c17ce3b8dc97c0 and fixes the underlying issue.
* build: drop UBI EOF marker from images by defaultFelix Fietkau2016-09-121-1/+1
| | | | | | | | Only add them where they are actually required. Should help with compatibility issues with stock U-Boot images that access UBI Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image.mk: Create a manifest file of installed packages as a build artifactPushpal Sidhu2016-09-081-0/+8
| | | | | | | | | | A few linux BSP's create a manifest file of installed packages for a given target in order to help them understand exactly what's on their images. Create one here as well as a build artifact since many users have an affinity to prune down on packages to save valuable flash space. Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* scripts/ubinize-image.sh: add support for adding custom partitionsFelix Fietkau2016-08-311-1/+2
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image: fix per-device rootfs build error when not all opkg package files are ↵Felix Fietkau2016-08-041-1/+1
| | | | | | found Signed-off-by: Felix Fietkau <nbd@nbd.name>
* include/image.mk: allow image code to override uImage nameJohn Crispin2016-08-031-1/+2
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* build: remove image specific checksum codeJo-Philipp Wich2016-08-011-8/+0
| | | | | | | Now that we globally calculate sha256sums over the bin/ directory we can remove the target image specific checksum handling. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* image: use the merged package directory to resolve dependencies for ↵Felix Fietkau2016-08-011-2/+14
| | | | | | per-device rootfs Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image.mk: add CMDLINE to DEVICE_VARSFelix Fietkau2016-07-301-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image: add support for overriding kernel/rootfs images in sysupgrade-tar ↵Felix Fietkau2016-07-301-0/+1
| | | | | | template Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image.mk: remove leftover variable from a previous reworkFelix Fietkau2016-07-291-1/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add support for per-device rootfs based on device profile packgesFelix Fietkau2016-07-291-9/+51
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: minor cleanup of redundant codeFelix Fietkau2016-07-291-1/+5
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add target_params variable for getting root filesystem image parametersFelix Fietkau2016-07-291-1/+2
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image: add wrapper variable to get the target dir for mkfs commandsFelix Fietkau2016-07-291-8/+10
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image: make mkfs template output to $@Felix Fietkau2016-07-291-10/+18
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: remove image prefix from kernel files in KDIRFelix Fietkau2016-07-251-6/+7
| | | | | | | This allows the image builder to change EXTRA_IMAGE_NAME at a later point in time without breaking the build Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: remove cpio.gz and tar.gz from regular filesystem typesFelix Fietkau2016-07-251-12/+16
| | | | | | | They are not used to produce regular firmware images anyway. Instead, call their build templates directly if enabled in the config Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image.mk: create default ubifs before calling legacy image build codeFelix Fietkau2016-07-221-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* imagebuilder: strip DEVICE_ prefix from profiles (FS#55)Felix Fietkau2016-07-211-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image.mk: initialize BOARD_NAME and IMAGES, add it to DEVICE_VARSFelix Fietkau2016-07-201-1/+4
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image.mk: add support for specifying the VID header offset for UBIFelix Fietkau2016-07-201-1/+2
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add support for parameter passing to mkfs from devicesFelix Fietkau2016-07-201-3/+10
| | | | | | Will be used to support different ubifs parameters per device Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: split legacy image mkfs.ubifs command from the one used for the new ↵Felix Fietkau2016-07-201-42/+13
| | | | | | image building code Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: split legacy image building code out of image.mkFelix Fietkau2016-07-201-37/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image.mk: replace some template abstraction with make pattern rulesFelix Fietkau2016-07-201-14/+7
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image.mk: remove obsolete Build/mkfs overridesFelix Fietkau2016-07-201-2/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image.mk: clean up redundant code related to DEVICE_DTSFelix Fietkau2016-07-151-0/+4
| | | | | | | | It is used by a core build template, so the variable should be initialized and added to DEVICE_VARS in the core. Same for DEVICE_DTS_DIR Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image: allow devices to override the -E 5 ubinize optionFelix Fietkau2016-07-141-1/+3
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>