Commit Graph

315 Commits (2cb6d471b751060144033da8e9e2cdeaa41e0423)

Author SHA1 Message Date
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>
2016-07-14 10:27:30 +02:00
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>
2016-06-26 13:06:36 +02:00
Felix Fietkau 8a156ad129 image.mk: add a separate step for building kernel images for LegacyDevice support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-17 20:23:11 +02:00
Felix Fietkau 425e2c1d96 image.mk: run LegacyDevice prepare once instead of once per filesystem
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-17 20:11:27 +02:00
Felix Fietkau 3004275c17 image.mk: fix make variable/command context leakage between LegacyDevice templates
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-17 20:11:27 +02:00
Felix Fietkau 21ad25f547 image.mk: fix dependencies for legacy make prepare step
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 16:22:28 +02:00
Felix Fietkau 160913f9de image.mk: fix filesystem dependency issue
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 10:26:23 +02:00
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>
2016-06-07 08:58:41 +02:00
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>
2016-06-07 08:58:41 +02:00
Felix Fietkau b50dfd5622 image.mk: add support for specifying a different suffix for the initramfs kernel
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:40 +02:00
Felix Fietkau 4c33bbf8f4 image.mk: split off all Build/* commands into image-commands.mk
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:40 +02:00
Felix Fietkau f8ebbbc568 build: implement support for selecting multiple device profiles
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:40 +02:00
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>
2016-06-01 17:54:36 +02:00
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>
2016-06-01 17:54:36 +02:00
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>
2016-05-27 15:50:17 +02:00
Felix Fietkau ce63c38ef5 image.mk: remove obsolete SUBTARGETS variable
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-23 12:19:26 +02:00
Felix Fietkau e00770f093 image.mk: fix profile selection in the image builder
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-22 19:51:00 +02:00
Felix Fietkau 80bb5adf98 build: allow whitespace characters in VERSION_DIST
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-21 13:57:26 +02:00
Felix Fietkau d01487e380 image.mk: simplify device profile check, prepare for supporting selecting multiple profiles
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-20 14:37:52 +02:00
Felix Fietkau c4ae33b048 image.mk: fix evaluation order for image profile check
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-20 14:37:52 +02:00
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>
2016-05-19 18:07:02 +02:00
Felix Fietkau 7bd10f9a2a image.mk: remove obsolete squashfs-lzma code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-16 19:53:07 +02:00
Felix Fietkau ace946152d image.mk: fix emitting profiles for targets that have no subtargets
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-15 17:47:06 +02:00
Felix Fietkau b0cf769008 image.mk: include per-device profiles in image build profile check
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-11 19:19:17 +02:00
Felix Fietkau 60fc6610be image.mk: add support for limiting images to specific subtargets
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-11 19:03:34 +02:00
Felix Fietkau bcf67b6974 image.mk: prepare for defining device profile data in the Device section
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-11 19:03:34 +02:00
John Crispin 1191eeff8e include: bin/ dir was not created
explicitly create the bin dir

Signed-off-by: John Crispin <john@phrozen.org>
2016-04-19 16:08:18 +02:00
John Crispin fa69553900 branding: add LEDE branding
Signed-off-by: John Crispin <blogic@openwrt.org>
2016-03-24 22:40:13 +01:00
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
2016-04-26 11:43:24 +00:00
John Crispin 4fe3fda78a include/image.mk: allow including U-Boot environment in UBI
Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 49039
2016-03-20 14:41:06 +00:00
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
2016-02-01 13:58:43 +00:00
Felix Fietkau dc476f5fa4 include/image.mk: fix missing right parenthesis (#21766)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48609
2016-02-01 13:42:59 +00:00
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
2016-01-31 23:29:31 +00:00
Felix Fietkau 08a0095a9e include/image: don't save gzip name/timestamp metadata
Signed-off-by: bryan newbold <bnewbold@robocracy.org>

SVN-Revision: 48587
2016-01-31 23:29:22 +00:00
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
2016-01-31 23:29:16 +00:00
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
2016-01-06 18:38:49 +00:00
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
2016-01-04 15:11:37 +00:00
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
2016-01-03 20:58:02 +00:00
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
2016-01-03 14:44:56 +00:00
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
2016-01-03 14:44:48 +00:00
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
2015-12-19 11:15:41 +00:00
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
2015-12-10 12:39:32 +00:00
Felix Fietkau 86a46a817b image: append-ubi: add optional UBI subpage size
Signed-off-by: Claudio Leite <leitec@staticky.com>

SVN-Revision: 47411
2015-11-07 13:19:35 +00:00
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
2015-11-07 12:51:31 +00:00
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
2015-11-07 12:51:24 +00:00
Felix Fietkau 2927e32deb include/image.mk: Use PROFILE_SANITIZED in targz image task
Signed-off-by: Petr Štetiar <ynezz@true.cz>

SVN-Revision: 47311
2015-10-31 09:28:14 +00:00
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
2015-10-31 09:27:04 +00:00
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
2015-10-30 22:01:27 +00:00
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
2015-09-11 16:33:26 +00:00
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
2015-09-04 14:45:16 +00:00
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
2015-09-04 14:45:09 +00:00
Jonas Gorski a164be8ebe build: add a build step for generic sysupgrade nand image
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46784
2015-09-04 14:44:27 +00:00
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
2015-09-04 14:44:10 +00:00
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
2015-08-14 15:10:47 +00:00
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
2015-08-14 15:10:42 +00:00
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
2015-08-14 13:05:22 +00:00
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
2015-08-14 13:05:14 +00:00
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
2015-08-14 10:20:53 +00:00
Felix Fietkau 5b25a12e8f image: fix handling of per-device kernel build commands
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46589
2015-08-13 19:02:26 +00:00
Felix Fietkau 6bb13be4f0 image: fix device variable exports for initramfs images
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46496
2015-07-26 11:42:27 +00:00
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
2015-07-16 11:12:52 +00:00
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
2015-07-14 09:57:45 +00:00
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
2015-06-15 07:45:36 +00:00
Felix Fietkau a417bf9f43 image.mk: add Build step combined-image
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>

SVN-Revision: 45979
2015-06-15 07:45:27 +00:00
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
2015-06-01 18:00:35 +00:00
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
2015-05-29 13:41:31 +00:00
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
2015-05-29 13:41:21 +00:00
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
2015-05-29 13:41:02 +00:00
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
2015-05-29 13:40:55 +00:00
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
2015-05-25 08:27:55 +00:00
Felix Fietkau 9c7a520ba8 image: disable compile target within image builder
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45674
2015-05-11 09:17:51 +00:00
Felix Fietkau 49e1682861 build: disable initramfs build within image builder
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45673
2015-05-11 09:17:39 +00:00
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
2015-05-11 09:07:58 +00:00
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
2015-05-11 09:07:21 +00:00
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
2015-05-10 11:46:50 +00:00
Jo-Philipp Wich 0ee9504911 all: replace genext2fs with make_ext4fs
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 45517
2015-04-20 13:57:43 +00:00
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
2015-04-18 21:35:22 +00:00
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
2015-04-18 19:32:20 +00:00
John Crispin cc9a392e49 opkg: drop md5 in favour of sha256
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 45437
2015-04-14 19:00:14 +00:00
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
2015-04-14 12:49:30 +00:00
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
2015-04-08 09:26:10 +00:00
Felix Fietkau fa6d92f407 image.mk: export the FILESYSTEM variable to build commands
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45251
2015-04-03 15:22:26 +00:00
Felix Fietkau 14a54ed18d build: make device image kernels depend on Image/Prepare step
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45190
2015-03-31 16:52:03 +00:00
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
2015-03-30 13:03:58 +00:00
Felix Fietkau a1b725bba5 build: ignore errors on copying firmware binaries from $(KDIR) to $(BIN_DIR)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45029
2015-03-26 18:50:13 +00:00
Felix Fietkau d973d160bf include/image.mk: define variable FILESYSTEM
Set it to the filesystem which is build. mktplinkfw need to know which filesystem
is used.
FILESYSTEM can be squashfs, jffs2-64k, ...

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>

SVN-Revision: 44997
2015-03-25 17:58:00 +00:00
Felix Fietkau ab43a5abd0 image.mk: allow image build code to run a per-filesystem prepare step
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44979
2015-03-25 14:30:53 +00:00
Felix Fietkau 91ce10a184 build: allow changing kernel name in new image code
Necessary for targets using zImage or other kernel
image types.

Signed-off-by: Claudio Leite <leitec@staticky.com>

SVN-Revision: 44018
2015-01-18 00:34:57 +00:00
Felix Fietkau 4d4536b090 build: allow passing parameters to padjffs2 via the pad-rootfs command
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44015
2015-01-17 21:19:57 +00:00
Felix Fietkau f5cab4828c build: add image makefile helper function for pading with an offset
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44012
2015-01-17 21:19:24 +00:00
Felix Fietkau 5b0d18093d ramips: convert mt7621 images to new image building code
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43908
2015-01-10 15:26:53 +00:00
Felix Fietkau 95a945a7cb build: add new image building code infrastructure
This simplifies building device / profile specific images, and allows
the build system to parallelize generating images

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

SVN-Revision: 43907
2015-01-10 15:26:47 +00:00
Jo-Philipp Wich 15d8db1f8c build: add version number to filenames
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
2015-01-08 11:02:00 +00:00
Felix Fietkau f22b382485 image.mk: make ubinize.cfg optional
When using UbinizeImage with ubifs rootfs, ubinize.cfg is no longer
needed. Yet, the absance of ubinize.cfg would make the build process
abort with an error.
Fix that by checking if ubinize.cfg is present and do no not call the
"classic" ubinize image generation if it isn't.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[missing new-line before UbinizeImage added itentionally]

SVN-Revision: 43788
2014-12-27 13:03:19 +00:00
Imre Kaloz 9038e8d248 don't copy initramfs.elf unconditionally
targets that need it should do it in their image Makefile

Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 43780
2014-12-26 14:31:45 +00:00
Imre Kaloz f3755f5758 The ubinized filesystems should be used for generating the final images, so store them in KDIR instead.
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 43778
2014-12-26 13:33:22 +00:00
Felix Fietkau f6a6e9194a image.mk: remove legacy target rules
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42881
2014-10-12 15:01:08 +00:00
Felix Fietkau 44d04757af image.mk: parallelize cpio.gz and tar.gz filesystem build
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42880
2014-10-12 15:01:01 +00:00
Felix Fietkau f135811687 image.mk: split off jffs2-raw images into a separate make target to improve parallel build time
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42879
2014-10-12 15:00:55 +00:00
Felix Fietkau 275cef6363 image.mk: clean up and parallelize mkfs calls
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42878
2014-10-12 15:00:49 +00:00
Felix Fietkau 7cbdc57b40 image.mk: call mkfs/prepare for the image builder
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42874
2014-10-12 15:00:11 +00:00
Felix Fietkau 71617f21a5 image.mk: reduce code duplication, move prepare to a separate make target
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42873
2014-10-12 15:00:07 +00:00
Felix Fietkau 9d242ae89c image.mk: remove the unnecessary .NOTPARALLEL flag
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42872
2014-10-12 15:00:03 +00:00
Felix Fietkau 0a9ee89dbd image: only call Image/BuildKernel/Initramfs if initramfs is actually enabled
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41914
2014-07-31 23:40:37 +00:00
John Crispin 63426e08bd include/image.mk: add a path variable for the dts folder
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41789
2014-07-21 18:41:56 +00:00
Imre Kaloz dc9ebfc9e6 make UbinizeImage work nicely without a kernel volume
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 41359
2014-06-27 12:58:08 +00:00
Imre Kaloz c026f34ce6 include UbinizeImage parameters' description in the file
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 41356
2014-06-27 10:32:09 +00:00
John Crispin 22a35a7b11 SysupgradeNAND: include rootfs-type in image name
also add quotes to paths

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 41326
2014-06-24 18:13:51 +00:00
John Crispin d0a54744e9 image.mk: introduce Image/Build/UbinizeImage make target
paramters:
$(1) board name
$(2) ubinize-image options (e.g. --no-kernel and/or --uboot-env)
$(3) rootfstype (e.g. squashfs or ubifs)
$(4) kernel image file
$(5) options to pass-through to ubinize (i.e. $($(PROFILE)_UBI_OPTS)))

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 41311
2014-06-24 18:12:47 +00:00
John Crispin 1a3ebd51ad procd: some cleanup for SysupgradeNAND
Removed unused ubi file file from template as ubinized images are
passed directly and not inside the tarball.
Also removed left-over white-space.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 41237
2014-06-17 15:40:02 +00:00
John Crispin 28277caccb include/image.mk: cleanup the SysupgradeNAND template
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41223
2014-06-16 18:55:18 +00:00
John Crispin 371c700810 include/image.mk: add a target for generating sysupgrade tar files for nand
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41127
2014-06-11 12:59:41 +00:00
Felix Fietkau 5eecccd75e build: make the squashfs block size configurable
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 40979
2014-06-02 17:04:34 +00:00
John Crispin 14421bd7fb image: ext4: rename config options as these are only used for ext4 image creation
Signed-off-by: Michael Heimpold <mhei@heimpold.de>

SVN-Revision: 40926
2014-06-02 12:44:10 +00:00
John Crispin 5fd7e00d9d image: ext4: allow creation of a journaling filesystem
Signed-off-by: Michael Heimpold <mhei@heimpold.de>

SVN-Revision: 40925
2014-06-02 12:44:07 +00:00
John Crispin fe20272ab1 image: ext4: allow to choose a block size for the rootfs
Signed-off-by: Michael Heimpold <mhei@heimpold.de>

SVN-Revision: 40924
2014-06-02 12:44:04 +00:00
John Crispin 709cab91d2 lantiq: BT Home Hub 2B support - board support
Board support patch for BT Home Hub 2B

Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>

SVN-Revision: 40370
2014-04-03 14:26:54 +00:00
John Crispin 08f03e959b include/make.mk: add support for ubinize-overlay.cfg
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 40365
2014-04-03 14:26:31 +00:00
Luka Perkov fbe8d27c7f image: remove spaces from toupper function
The extra prefix space is passed to the caller.

Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38855
2013-11-18 22:23:38 +00:00
Luka Perkov b4ecda7b3f image: don't force ubifs journal size
Small journal size can lead to problems if nand flash is too big. By default
ubifs will use ~12% of volume size or a maximum of 8MiB.

Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38799
2013-11-14 01:35:21 +00:00
Luka Perkov 7938d16451 build: make MkuImage more generic
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38516
2013-10-23 22:16:09 +00:00
Luka Perkov 03ccf4eeb0 build: set owner root for all files on ubifs creation
When creating an image it makes no sense to have files owned by
the uid and gid on the host (and even creates a bug when for
example dropbear authorized_keys is included via env/files).

Signed-off-by: Joris de Vries <joris@apptrician.nl>

SVN-Revision: 38442
2013-10-18 00:11:20 +00:00
Luka Perkov acdb0ac35c build: move mkits.sh script to more common place
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38430
2013-10-16 10:29:50 +00:00
Luka Perkov 41027beb69 ubifs: remove breaking commas from ubi calls
The extra commas get output by the shell resulting in errors since
the commands that get called with those extra commas are then
malformed.

Signed-off-by: Joris de Vries <joris@apptrician.nl>

SVN-Revision: 38419
2013-10-15 21:37:31 +00:00
Luka Perkov a531d21590 ubifs: when creating ubi(fs) images profile originated arguments have priority
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38381
2013-10-13 03:35:15 +00:00
Luka Perkov 5ed845fbea image: introduce MkuImageARM function
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38380
2013-10-13 03:35:14 +00:00
Luka Perkov c808a4a7ef ubifs: enable building modular images
Now it is possible to build ubi/ubifs images for only selected boards inside
single target.

Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38375
2013-10-12 21:44:48 +00:00
Luka Perkov 05625233ed image: if possible use profile name when building .tar.gz images
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38374
2013-10-12 21:44:46 +00:00
Luka Perkov 9051e79bc2 build: extend menu with few ubifs options
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38303
2013-10-04 10:49:47 +00:00
Gabor Juhos 261fc738cc image: generate separate jffs2 images w/o padding
The new root.jffs2-*-raw images can be used for firmware
images with custom padding requirements.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38196
2013-09-25 20:03:20 +00:00
Luka Perkov 99c46e474e image: add hooks for kernel/DTB installation in root filesystem
Signed-off-by: Michael Heimpold <mhei@heimpold.de>

SVN-Revision: 37852
2013-08-28 00:07:41 +00:00
Gabor Juhos fd0325324f image: ensure that /dev/console exist in rootfs images
Linux expects that the /dev/console node is present in
the rootfs image. Create the node in rootfs images, in
order to make std{in,out,err} usable even in early init
process.

Note: tar.gz and cpio.gz images are not handled yet.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 37847
2013-08-27 12:02:58 +00:00
Gabor Juhos ce9e0767b5 image: fix a typo in JFFS2OPTS to fix jffs2 rootfs generation
Due to a typo in the Makefile variable, mkfs.jffs2 is called
without the correct parameters.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 37514
2013-07-23 10:21:21 +00:00
Gabor Juhos c39b64d78f image: fix initramfs image name
Preserve order of components in initramfs image filename
when doing copy from $(KDIR) to $(BIN_DIR).

Patchwork: http://patchwork.openwrt.org/patch/3811/
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 37452
2013-07-19 17:12:45 +00:00
Florian Fainelli f5a0a578f8 include/image.mk: do not make initramfs build exclusive
Allow building initramfs along with other types of filesystems.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 37050
2013-06-27 19:58:35 +00:00
Jonas Gorski 9f7ef8d5f0 target: split jffs2 NAND out of jffs2
Make jffs2_nand a separate option so this can be triggered without forcing
jffs2 images for nor targets.

Adds a new NAND_BLOCKSIZE variable that allows setting the generated layout
in <page_size>:<block_size> pairs.

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

SVN-Revision: 36860
2013-06-05 20:58:03 +00:00
Luka Perkov 2477bab03e include/image.mk: export ubifs image from mkfs.ubifs
SVN-Revision: 35473
2013-02-03 21:00:24 +00:00
Florian Fainelli ce5dd3b9e2 image.mk: use XZ bcj architecture filter if available
xz supports using an architecture specific BCJ filter, use that one to
save us a couple kB while producing squashfs filesystems (mimics the
Linux kernel).

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 35097
2013-01-11 16:44:26 +00:00
Florian Fainelli 5698062707 Revert "include/image.mk: call Image/Build/{cpiogz,targz}"
This breaks on platforms building their own targz/cpioz images.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 34498
2012-12-04 22:59:05 +00:00
Florian Fainelli 592aa97626 include/image.mk: call Image/Build/{cpiogz,targz}
All Image/mkfs/... macros call the Image/Build except for
Image/mkfs/targz and Image/mkfs/cpiogz

This patch adds the Image/Build call for Image/mkfs/targz and
Image/mkfs/cpiogz.

Signed-off-by: Maarten Bezemer <m.m.bezemer@utwente.nl>
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 34473
2012-12-04 16:19:09 +00:00
Gabor Juhos d90e805fe6 build: Add TARGET_ROOTFS_RESERVED_PCT option to reduce wasted space
The genext2fs tool will 'reserve' 5% of the image size by default,
apparently by creating a huge lost+found directory. In fact it seemed to
be much more than 5% in practice — I saw an image with 8MiB used, and
recovered about 2MiB of it by deleting the 'empty' lost+found directory:

/dev/loop0         48377  8482     37438  19% /mnt/spare
 # rmdir lost+found/
/dev/loop0         48377  6014     39906  14% /mnt/spare

This makes it configurable, but leaves it at the genext2fs default
of 5% for now. It should probably be changed to default to zero, but
that can be a separate patch.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 34408
2012-11-29 17:37:15 +00:00
Florian Fainelli 7196f5d7c8 image.mk: don't squash file permissions in JFFS2 images
Currently we call mkfs.jffs2 --squash, which will change
both file permissions and owners.

If we have some file with suid bits, it will clear these bits.

Thus it's enough to just squash file owners, by replacing that
argument to --squash-uids.

Signed-off-by: Jonh Wendell <jonh.wendell@oiwifi.com.br>
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 34397
2012-11-27 18:42:45 +00:00
Jo-Philipp Wich deff2382d0 include/image.mk: /tmp should have mode 1777
On the off chance that the root filesystem's /tmp is used directly as a
temporary directory instead of having a tmpfs mounted over it, it should have
the sticky bit set.

Signed-off-by: Mark Mentovai <mark@moxienet.com>

SVN-Revision: 32572
2012-07-01 11:48:54 +00:00
Jo-Philipp Wich 6cdf25289c base-files: add permission exceptions, do not clobber shadow permissions - based on patch by Mark Mentovai <mark@moxienet.com>
SVN-Revision: 32073
2012-06-05 18:02:00 +00:00
Felix Fietkau 470b1f471a image: increase squashfs block size - visibly reduces image size in many cases
SVN-Revision: 29519
2011-12-13 15:34:08 +00:00
Jo-Philipp Wich 29123aee6d image.mk: pass through $(CONFIG_PKG_BUILD_JOBS) to the mksquashfs -processors option
SVN-Revision: 28305
2011-09-26 02:02:35 +00:00
Felix Fietkau 0f93db2de5 default to using gzip with mksquashfs if lzma and xz are unavailable
SVN-Revision: 27748
2011-07-24 09:16:55 +00:00
John Crispin d5205c3ed2 extend squashfs padding for 256k flash sectors
SVN-Revision: 27404
2011-07-03 17:37:46 +00:00
Gabor Juhos 5206db4561 generic: use padjffs2 in prepare_generic_squashfs
SVN-Revision: 27356
2011-07-02 08:37:58 +00:00
Felix Fietkau e6aa1cab00 tools/squashfs4: update to version 4.2 (adds support for xz compression)
Based on a patch by Jonas Gorski

SVN-Revision: 26422
2011-04-03 01:02:00 +00:00