Commit Graph

281 Commits (1b773a46c2023ef32ddbbc3835e20b6c216b184e)

Author SHA1 Message Date
Felix Fietkau c792c7512c build: add target_params variable for getting root filesystem image parameters
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau c5ca181d12 image: add wrapper variable to get the target dir for mkfs commands
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 4fed7a60f9 image: make mkfs template output to $@
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau b47f438d98 build: remove image prefix from kernel files in KDIR
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>
8 years ago
Felix Fietkau 9945a1dca5 build: remove cpio.gz and tar.gz from regular filesystem types
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>
8 years ago
Felix Fietkau 11fc0cd1b1 image.mk: create default ubifs before calling legacy image build code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 8265fdcc4d imagebuilder: strip DEVICE_ prefix from profiles (FS#55)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau b5b2425cba image.mk: initialize BOARD_NAME and IMAGES, add it to DEVICE_VARS
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 9a50a213d2 image.mk: add support for specifying the VID header offset for UBI
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 9497a23ecb build: add support for parameter passing to mkfs from devices
Will be used to support different ubifs parameters per device

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 4added6692 build: split legacy image mkfs.ubifs command from the one used for the new image building code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau ebd0b2d0b1 build: split legacy image building code out of image.mk
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 1c1244193a image.mk: replace some template abstraction with make pattern rules
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau efdf7f6499 image.mk: remove obsolete Build/mkfs overrides
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 8e2764ce9b image.mk: clean up redundant code related to DEVICE_DTS
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>
8 years ago
Felix Fietkau b8fddb8912 image: allow devices to override the -E 5 ubinize option
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau e0ed6ec667 image: clean up UBI related device variable definitions
Move UBI related variable export to core, since the variables are used
by a core Build/ template

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Sergey Sergeev e6b9330343 build: Adds the ability to disable personal initramfs build for target device
If KERNEL_INITRAMFS := in the target/linux/*/image/Makefile->Device/%NAME% section is set to ''
then personal initramfs file for this target device will not be created.
This var is similar to the Device/Build/kernel KERNEL_INSTALL :=

Signed-off-by: Sergey Sergeev <adron@yapic.net>
8 years ago
Felix Fietkau 8a156ad129 image.mk: add a separate step for building kernel images for LegacyDevice support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 425e2c1d96 image.mk: run LegacyDevice prepare once instead of once per filesystem
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 3004275c17 image.mk: fix make variable/command context leakage between LegacyDevice templates
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 21ad25f547 image.mk: fix dependencies for legacy make prepare step
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 160913f9de image.mk: fix filesystem dependency issue
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 26c771452c image.mk: add LegacyDevice wrapper to allow legacy image building code to be used for device profiles
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau dafda4b7f8 image.mk: change the default of the kernel suffix
Make it more suitable for installing into bin/

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau b50dfd5622 image.mk: add support for specifying a different suffix for the initramfs kernel
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 4c33bbf8f4 image.mk: split off all Build/* commands into image-commands.mk
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau f8ebbbc568 build: implement support for selecting multiple device profiles
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Alexander Couzens a7d13178f4 include: move VERSION_DIST_SANITIZED to version.mk
Also move sanitize function to version.mk
Prepare use of VERSION_DIST_SANITIZED by IB/SDK/toolchain

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
8 years ago
Alexander Couzens 38d845b405 include: rename DIST_SANITIZED to VERSION_DIST_SANITZED
All version variables contain VERSION prefix.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
8 years ago
Ash Benz 7eb1a7e956 include/image.mk: move build step tplink-safeloader to image.mk
Move tplink-safeloader from target/linux/ar71xx/image/tp-link.mk to include/image.mk

Signed-off-by: Ash Benz <ash.benz@bk.ru>
8 years ago
Felix Fietkau ce63c38ef5 image.mk: remove obsolete SUBTARGETS variable
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau e00770f093 image.mk: fix profile selection in the image builder
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 80bb5adf98 build: allow whitespace characters in VERSION_DIST
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau d01487e380 image.mk: simplify device profile check, prepare for supporting selecting multiple profiles
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau c4ae33b048 image.mk: fix evaluation order for image profile check
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Daniel Golle 1ea7dba377 image.mk: fix building ubifs images
A hook for ubifs was left-out in the new image building code. Add it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
8 years ago
Felix Fietkau 7bd10f9a2a image.mk: remove obsolete squashfs-lzma code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau ace946152d image.mk: fix emitting profiles for targets that have no subtargets
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau b0cf769008 image.mk: include per-device profiles in image build profile check
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 60fc6610be image.mk: add support for limiting images to specific subtargets
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau bcf67b6974 image.mk: prepare for defining device profile data in the Device section
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
John Crispin 1191eeff8e include: bin/ dir was not created
explicitly create the bin dir

Signed-off-by: John Crispin <john@phrozen.org>
8 years ago
John Crispin fa69553900 branding: add LEDE branding
Signed-off-by: John Crispin <blogic@openwrt.org>
8 years ago
John Crispin 2d255ac8d9 include: add a no dict version of lzma to new image build code
Required to compress kernels in a brnboot compatible way.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 49240
8 years ago
John Crispin 4fe3fda78a include/image.mk: allow including U-Boot environment in UBI
Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 49039
8 years ago
Jo-Philipp Wich f6b399c8ab include: image.mk: use correct flag for fixed mtimes with make_ext4fs (#21768)
The correct flag for fixed mtime is -T, not -t.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 48610
8 years ago
Felix Fietkau dc476f5fa4 include/image.mk: fix missing right parenthesis (#21766)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48609
8 years ago
Felix Fietkau 6a42ee6517 include/image: use SOURCE_DATE_EPOCH if set for squashfs + ext4 images
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>

SVN-Revision: 48588
8 years ago
Felix Fietkau 08a0095a9e include/image: don't save gzip name/timestamp metadata
Signed-off-by: bryan newbold <bnewbold@robocracy.org>

SVN-Revision: 48587
8 years ago
Felix Fietkau be6acba4dc build system: have tar use $SOURCE_DATE_EPOCH for --mtime
The --mtime argument to 'tar' sets the modification time for all files within
the archive, which determines the timestamp files will get when they are
extracted. In this case, rootfs and other tarballs will get mtimes which
correspond to the last commit timestamp of the build system, as reported by
git/subversion.

This is a step towards reproducible image builds.

Signed-off-by: bryan newbold <bnewbold@robocracy.org>
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48586
8 years ago
Felix Fietkau 4ab26a52ef build: skip rebuild of kernel images if the source did not change
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48145
9 years ago
Felix Fietkau c9f75a77ed export KERNEL_INITRAMFS_IMAGE
`Build/ubnt-erx-factory-kernel` in `target\linux\ramips\image\Makefile`
references `$(KERNEL_INITRAMFS_IMAGE)`
which is not exported

Signed-off-by: YounJae Rho <luxflow@live.com>

SVN-Revision: 48116
9 years ago
Felix Fietkau 6a90baf2bf image.mk: use new pure make functions for sanitizing image filenames
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48106
9 years ago
Felix Fietkau 0a0bfc8507 images imagebuilder: Allow to add sanitized extra name
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
9 years ago
Felix Fietkau 150a1b18c5 images: use configured distribution name for output image names
We allow to configure the version distribution name;
let's also use it for the final image filenames.

Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>

SVN-Revision: 48082
9 years ago
Felix Fietkau caf3a14a3c image.mk: use cross toolchain cpp for processing dts file instead of relying on the host compiler
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47937
9 years ago
Felix Fietkau 09335a0a2f build: fix arch used during dts compilation
Use kernel arch for dts compilation.
Also use Image/BuildDTB to build dts for ramips.

Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>

SVN-Revision: 47823
9 years ago
Felix Fietkau 86a46a817b image: append-ubi: add optional UBI subpage size
Signed-off-by: Claudio Leite <leitec@staticky.com>

SVN-Revision: 47411
9 years ago
Felix Fietkau 46f6626052 include/image.mk: Introduce generic option to wrap kernel into JFFS2
Some devices require the kernel to be in a JFFS2 file system. Make the
support for this more generic so that it can be used by other devices.

Signed-off-by: Benjamin Berg <benjamin@sipsolutions.net>

SVN-Revision: 47404
9 years ago
Felix Fietkau 141793c96c include/image.mk: introduce KERNEL_INITRAMFS_NAME variable
In case if we're interested in generation of non-binary images
(for example if we want images to be valid .elfs - and that's what we
want for ARC now) we have to instruct Device/Build/initramfs target to
use input file with some extension (in case of ARC it will be
essentially .elf).

Otherwise default binary vmlinux-initramfs (without extension) is used and
resulting images then are binaries instead of elfs.

Now having KERNEL_INITRAMFS_NAME variable it's possible to substitute
default $$(KERNEL_NAME)-initramfs with preferred option like
$$(KERNEL_NAME)-initramfs.elf.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Felix Fietkau <nbd@openwrt.org>
Cc: John Crispin <blogic@openwrt.org>

SVN-Revision: 47403
9 years ago
Felix Fietkau 2927e32deb include/image.mk: Use PROFILE_SANITIZED in targz image task
Signed-off-by: Petr Štetiar <ynezz@true.cz>

SVN-Revision: 47311
9 years ago
Felix Fietkau 86136e2bc3 include/image.mk: Introduce sanitized profile variable
Making common code reusable as there's a lot of duplicate code in imx6,
kirkwood and oxnas archs.

Signed-off-by: Petr Štetiar <ynezz@true.cz>

SVN-Revision: 47307
9 years ago
Felix Fietkau d495ef6d59 build: make mkfs-* depend on kernel installation to fix parallel build issues
Reported-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47296
9 years ago
Felix Fietkau 4baec2468a include/image.mk: make tar reproducible
several packages reported different file order between builds
make binutils, kmod-sched reproducible

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>

SVN-Revision: 46859
9 years ago
Jonas Gorski 4bbfb09362 image: allow exactly KERNEL_SIZE sized kernels
The KERNEL_SIZE should be the maximum size, inclusive, so we need to
check for greater equal, not just greater.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46792
9 years ago
Jonas Gorski b958c12d2c image: move netgear-image to top and rename to -dni
Use the same naming as netgear-chk.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46791
9 years ago
Jonas Gorski a164be8ebe build: add a build step for generic sysupgrade nand image
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46784
9 years ago
Jonas Gorski db8ae81f89 image: add a build step for building and appending an ubinized rootfs
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46783
9 years ago
Jonas Gorski 4e81a1473e brcm63xx: move gzip build command to include/image.mk
Allow other targets to make use of it.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46601
9 years ago
Jonas Gorski 960113fcfc image.mk: add a fit recipe
Add a recipe to build a fit wrapped kernel (and optional dtb).

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46600
9 years ago
Jonas Gorski 8e69c9f7ef image.mk: store the device name variable
Make the device name accessible for any build commands instead of
forcing targets to define it themselves.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46597
9 years ago
Jonas Gorski 4ecae78c16 image.mk: replace all Build/netgear-chk with a generic implementation
Instead of letting each target define it themselves, create on in
include/image.mk and let the targets use it.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46596
9 years ago
Jonas Gorski bed330204a image.mk: move KDIR_TMP definition to a central location
Instead of each target defining it the same, move the KDIR_TMP
definition to include/image.mk. In addition Image/Build/SysupgradeNAND
already requires KDIR_TMP to be set, so it makes sense to have it
globally defined.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46592
9 years ago
Felix Fietkau 5b25a12e8f image: fix handling of per-device kernel build commands
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46589
9 years ago
Felix Fietkau 6bb13be4f0 image: fix device variable exports for initramfs images
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46496
9 years ago
Jonas Gorski e7b5dd0e1d image.mk: add a BuildDTB define
Add a Image/BuildDTB command that takes the path to an dts file and
applies the CPP using the default include directories, then uses dtc
to compile the dts as the specified output file.
Additional CPP and DTC flags can be supplied as additional arguments.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46389
9 years ago
John Crispin 096b3759a9 build: Prevent more gzip timestamps
To improve reproducibility, prevent the inclusion of timestamps
in the gzip header.

Signed-off-by: Reiner Herrmann <reiner@reiner-h.de>

SVN-Revision: 46361
9 years ago
Felix Fietkau 61a0b05dbf image.mk: add Build step pad-to
pad-to can be used in a pipe to pad the image to a specific chunk-size.
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>

SVN-Revision: 45980
9 years ago
Felix Fietkau a417bf9f43 image.mk: add Build step combined-image
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>

SVN-Revision: 45979
9 years ago
Jo-Philipp Wich 0d19e8da7f include: image.mk: ensure that $(KDIR)/tmp exists in the IB case as well
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 45870
9 years ago
Felix Fietkau bf93fde164 build: do not call initramfs build from within the image builder
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45837
9 years ago
Felix Fietkau d1372992c4 build: in new image building code, do not rebuild kernel images in the image builder
Some kernel images need to be wrapped in a loader, which cannot be built
without a working toolchain.
Also, this speeds up the image builder run.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45836
9 years ago
Felix Fietkau ddf120fc03 build: store initramfs kernels in $(KDIR)/tmp - prevents them from being included in the image builder tarball
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45835
9 years ago
Felix Fietkau a6ad9f8ad8 build: store firmware images in $(KDIR)/tmp - prevents them from being included in the image builder tarball
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45834
9 years ago
Jonas Gorski 497fdc3f09 image.mk: make image too big warnings more visible
Output warnings through stderr to allow them to be easilier spotted
when building with V=w.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 45746
9 years ago
Felix Fietkau 9c7a520ba8 image: disable compile target within image builder
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45674
9 years ago
Felix Fietkau 49e1682861 build: disable initramfs build within image builder
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45673
9 years ago
Felix Fietkau c05f9b9c23 build: make initramfs kernel builds depend on the image prepare step
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45671
9 years ago
Felix Fietkau 4acc2a3947 build: add support for adding a per-device compile step in the new image building code
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45670
9 years ago
Felix Fietkau 2be2604a19 include: make dtb argument optional in MkFIT
As mkits.sh makes the -d argument optional, we'll make this same
argument optional in the MkFIT function as well.

With this change, MkFIT can be used both to generate FIT images with DT,
and without DT.

Signed-off-by: Mathieu Olivari <mathieu@qca.qualcomm.com>

SVN-Revision: 45660
9 years ago
Jo-Philipp Wich 0ee9504911 all: replace genext2fs with make_ext4fs
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 45517
9 years ago
Felix Fietkau 2f49517c2f image.mk: do not emit multiple target definitions for kernel images
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45498
9 years ago
Felix Fietkau 8ca1e211df image.mk: force rebuild of kernel dependent parts - fixes auto-rebuild on DTS changes
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45495
9 years ago
John Crispin cc9a392e49 opkg: drop md5 in favour of sha256
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 45437
9 years ago
Felix Fietkau 1ea8e3caca build: replace the deprecated find argument -perm +0100 with /0100 (#19480)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45434
9 years ago
Felix Fietkau d0c0cc9a9a image.mk: rework FILESYSTEM evaluation order to fix some build issues
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45312
9 years ago
Felix Fietkau fa6d92f407 image.mk: export the FILESYSTEM variable to build commands
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45251
9 years ago
Felix Fietkau 14a54ed18d build: make device image kernels depend on Image/Prepare step
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45190
9 years ago
Felix Fietkau 6d7dff8596 image.mk: fix initramfs kernel build instructions leaking across device sections
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45156
9 years ago