Commit Graph

2067 Commits (4b9bdb48d904fadb8d32510490f1b9f5c35ee6b2)

Author SHA1 Message Date
Matthias Schiffer 021b96d7c5
rootfs: remove unnecessary and potentially harmful force flags from opkg call
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>
2016-09-26 17:57:58 +02:00
Matthias Schiffer 593dfac909
image: per-device rootfs: first remove, then install packages
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>
2016-09-26 17:57:58 +02:00
Matthias Schiffer a16a8814ea
image: don't modify file permissions before rootfs generation
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>
2016-09-26 17:57:56 +02:00
Matthias Schiffer 663145e419
image: fix CONFIG_CLEAN_IPKG with CONFIG_TARGET_PER_DEVICE_ROOTFS
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>
2016-09-25 09:30:55 +02:00
Matthias Schiffer 3675e657ed
image: per-device rootfs: don't fail without opkg
Ignore errors caused by /etc/opkg not existing (i.e. when opkg is not
selected).

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-09-24 18:41:37 +02:00
Matthias Schiffer e916579340
image: allow specifying additional packages for device-specific rootfs
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>
2016-09-24 18:25:25 +02:00
Matthias Schiffer c15d70c6d6
image: don't override opkg list directory in per-device rootfs mode
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>
2016-09-24 03:37:08 +02:00
Álvaro Fernández Rojas 41eab9048b kernel: update kernel 4.4 to version 4.4.21
Refresh patches for all targets that support kernel 4.4.
Compile-tested on brcm2708 only.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-09-16 10:17:27 +02:00
Álvaro Fernández Rojas d14c28fc80 kernel: update kernel 4.4 to version 4.4.20
Refresh patches for all targets that support kernel 4.4.
Compile-tested on brcm2708 only.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-09-15 08:10:55 +02:00
Mathias Kresin 61c2a7339a image: remove padding parameter from append-kernel/append-rootfs
Using pad-to instead of passing the optional padding to append-kernel
or append-rootfs. It could be that the value of a variable is passed.
In case the variable is empty no error is thrown.

Furthermore the purpose of the extra parameter is hard to get without
reading the code.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-13 19:36:41 +02:00
Mathias Kresin 14b40d61e1 image: use check-size from new image build code
Use the new image build code and deduplicate the code.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-13 19:36:41 +02:00
Mathias Kresin 1cd0a4c688 image: add KERNEL_SIZE to the default device vars
This reverts commit ec37a56587 and fixes
the underlying issue.
2016-09-13 19:36:41 +02:00
Felix Fietkau d27bce8d28 build: drop UBI EOF marker from images by default
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>
2016-09-12 18:21:52 +02:00
Felix Fietkau d2a7df0792 octeon: use new ext4/f2fs overlay support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-10 12:17:39 +02:00
Mathias Kresin ddd259b0d5 image: pass device blocksize to padjffs2
At the moment the padding steps are hardcoded. Especially images for
devices with a 4K sector size can be unnecessarily bloated using the
hardcoded padding steps.

It has been observed that 192Kb of padding was added to the image of a
4MB device, albeit due to the 4K sector size the minimum required extra
padding for the jffs2 rootfs_data is 20Kb.

In worst case it means that the image-size check could fail albeit
there is enough space for all selected packages

For device build code not exposing the blocksize, use the hardcoded
padding further on.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-03 07:40:15 +02:00
Mathias Kresin 3e7524c184 image: add support for k unit suffix to append-ubi
Allows to use the same unit for all definitions of the blocksize to be
consistent regardless of the used filesystem.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-04 08:51:58 +02:00
Mathias Kresin b99a93ebaf image: add support for k unit suffix to pad-offset
Allows to specificy the padding and offset in kilobytes to be
consistent with pad-to.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-03 07:36:12 +02:00
Pushpal Sidhu 4fd043b95b image.mk: Create a manifest file of installed packages as a build artifact
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>
2016-09-08 13:40:02 +02:00
Felix Fietkau a84a74f618 scripts/ubinize-image.sh: add support for adding custom partitions
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-31 13:05:19 +02:00
Felix Fietkau 223c124db8 ubox: move logd into ubox package
Preparation for further build rework

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-23 12:19:23 +02:00
Felix Fietkau f5860f898a build: use perl instead of GNU date for KBUILD_BUILD_TIMESTAMP
Fixes warning on non-Linux systems

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-23 11:56:13 +02:00
Felix Fietkau 4170267f5a build: pass $(STAGING_DIR_HOST) to Host/Install
makes it more consistent with package builds

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-23 11:56:13 +02:00
Jonas Gorski b962da4d92 ramips: mt7621: switch to 24kc
1004kc is just a SMP capable 34kc, and GCC treats 24kc and 34kc exactly
the same and will generate identical code, so there is no need to tune
to 1004kc instead of 24kc.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2016-08-23 11:55:32 +02:00
Jonas Gorski a11843b62e include: remove 34k distinction
Now that there are no users anymore, drop the 34kc CPU_FLAGS.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2016-08-23 11:55:32 +02:00
Stijn Tintel 8072264b96 kernel: update kernel 4.4 to version 4.4.19
Refresh patches for all targets that support kernel 4.4.
Compile-tested on all targets that use kernel 4.4 and aren't marked broken.
Runtime-tested on ar71xx, octeon and x86/64.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2016-08-23 10:51:17 +03:00
Jonas Gorski f3923dab7b kernel: check the right directories for rebuild
Pass KERNEL_FILE_DEPENDS to rdep instead of PKG_FILE_DEPENDS, which is
empty. Also don't pass $(CURDIR) as the directory to timestamp, as it
would also pick up non kernel related changes like image building code.

Should fix kernel being rebuild for unrelated changes, as well as not
being rebuild for changes in target/linux/generic.

Fixes: 22ef1c83b3 ("kernel: make the kernel build auto-clean the build dir like package build")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2016-08-19 11:02:47 +02:00
Josua Mayer 57ef81d78f kernel: prevent adding custom string to localversion
When the kernel build picks up a localversion file in the source tree,
that string is unconditionally appended to LOCALVERSION and affects the
uname string.
Make sure to delete any such file.

Signed-off-by: Josua Mayer <josua.mayer97@gmail.com>
2016-08-18 09:49:18 +02:00
Josua Mayer 0df2c6563a kernel: prevent addition of scm marker to localversion
When building the kernel from a git repository, the kernel build appends
either a + or a short commit hash to localversion.
This behaviour can be prevented by passing the empty LOCALVERSION variable
to make.

Signed-off-by: Josua Mayer <josua.mayer97@gmail.com>
2016-08-18 09:49:18 +02:00
Jonas Gorski 86ec410418 kernel: check SOURCE_DATE_EPOCH before setting KBUILD_BUILD_TIMESTAMP
Make sure SOURCE_DATE_EPOCH actually contains something.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2016-08-13 15:49:26 +02:00
Jonas Gorski 5fe923b15d kernel: allow reproducable builds
Similar how we fix the file times in the filesystems, fix the build time
of the kernel, and make the build number static. This should allow the
kernel build to be reproducable when combined with setting the
KERNEL_BUILD_USER and _DOMAIN in case of different machines.

The reproducability only applies to non-initramfs kernels, those still
require additional changes.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2016-08-13 11:35:00 +02:00
Matteo Croce 1645abffea kernel: add plan 9 fs package
9pfs is used by kvm to share files between host and guest,
add proper config option to enable it.

Signed-off-by: Matteo Croce <matteo.croce@canonical.com>
2016-08-11 10:45:33 +02:00
Jonas Gorski bebcb81da5 ramips: switch from 24kec to 24kc
Since the only difference between 24Kec and 24Kc is the addition of DSP
ASE support, and we don't use it anymore, there is no need to keep 24Kec
as a separate cpu type.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2016-08-08 11:29:56 +02:00
Felix Fietkau 22ef1c83b3 kernel: make the kernel build auto-clean the build dir like package builds
Previous behavior can be restored by using QUILT=1 on target/prepare

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-05 14:17:08 +02:00
Felix Fietkau 2180b715c1 image: fix per-device rootfs build error when not all opkg package files are found
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-04 11:19:41 +02:00
John Crispin 4df2011794 include/image.mk: allow image code to override uImage name
Signed-off-by: John Crispin <john@phrozen.org>
2016-08-03 15:30:13 +02:00
Felix Fietkau 9abbaa9539 build: remove MIPS dsp/dsp2 CPU_SUBTYPE
There does not seem to be any meaningful difference in generated code.
This will save some time and space on snapshot builds

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-03 14:56:45 +02:00
Felix Fietkau f2de33b2c9 build: move merged package directory from bin/ to staging_dir
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-03 12:22:18 +02:00
Jo-Philipp Wich 83175687c8 build: remove image specific checksum code
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>
2016-08-01 18:11:26 +02:00
Felix Fietkau 905e50d2fb image: use the merged package directory to resolve dependencies for per-device rootfs
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-01 11:13:38 +02:00
Felix Fietkau 180465c38f build: create a package feed directory containing all packages
Needed for proper dependency handling for per-device rootfs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-01 11:13:38 +02:00
Felix Fietkau e351f7c695 build: fix tabs vs whitespace issue
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-01 11:13:38 +02:00
Felix Fietkau 94dec60d75 build: add template for installing device .dtb files
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-31 19:35:05 +02:00
Hauke Mehrtens 1448501558 build: do not depend on svn any more
LEDE does not need svn to build any more, remove the prerequisite check.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-07-31 16:11:37 +02:00
Felix Fietkau 14488469d5 image: fix build issue with per-device rootfs and legacy devices
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-31 12:45:18 +02:00
Felix Fietkau 63b525dd6b image: add a helper variable for getting kernel/rootfs from within image Build/* templates
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-31 12:25:25 +02:00
Felix Fietkau baeda5d31d image.mk: add CMDLINE to DEVICE_VARS
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-30 14:10:33 +02:00
Felix Fietkau 84718d8736 image: add support for overriding kernel/rootfs images in sysupgrade-tar template
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-30 14:10:33 +02:00
Felix Fietkau 50e7c1f79d include/cmake.mk: fix host builds
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 22:47:46 +02:00
Luke McKee eadf5fb7f8 cmake: include/cmake.mk add CMAKE_BINARY_SUBDIR to allow out of source tree builds
Some packages need out of source tree building with cmake, for example
when building kernel modules.
See an example here:
https://sourceforge.net/p/accel-ppp/code/ci/master/tree/README

Signed-off-by: Luke McKee <hojuruku@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [cleanup, rework]
2016-07-29 20:27:34 +02:00
Felix Fietkau c5a9a08f1e image.mk: remove leftover variable from a previous rework
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 17:13:48 +02:00
Jo-Philipp Wich db49dd894e build: rename sysupgrade-nand to sysupgrade-tar
Now that the "sysupgrade-nand" step is used by non-NAND targets as well,
rename it to "sysupgrade-tar" to make it more generic.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-07-29 16:53:03 +02:00
Felix Fietkau 76341cfc5f build: add support for per-device rootfs based on device profile packges
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau c0dceae4bb build: minor cleanup of redundant code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau 653cb2594d build: set TMPDIR for opkg calls
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau c792c7512c build: add target_params variable for getting root filesystem image parameters
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau 731b166528 build: add template for getting opkg package files from package names
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau 5d30bf8303 build: rework opkg command invocation
Drop included $(XARGS), add support for passing target dir via parameter

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau 37e82e4e42 build: remove obsolete variables from opkg command
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau 7dffc32ffa build: rework prepare_rootfs to pass target dir via parameter
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau c5ca181d12 image: add wrapper variable to get the target dir for mkfs commands
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau 4fed7a60f9 image: make mkfs template output to $@
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau 973e6e1d71 build: move rootfs processing code to include/rootfs.mk so it can be reused later
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
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>
2016-07-25 12:44:30 +02:00
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>
2016-07-25 12:43:39 +02:00
Felix Fietkau 33c8d35375 image: remove shell calls from legacy ubi/ubifs image code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-25 12:37:50 +02:00
Felix Fietkau 11fc0cd1b1 image.mk: create default ubifs before calling legacy image build code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-22 13:58:58 +02:00
Chris Blake 3827ce2c3d apm821xx: add support for the apm821xx device target
This adds a new target for PowerPC APM82181 and APM82161
(464-based) boards, as well as adds support for the booke-wdt
watchdog package.

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
2016-07-22 09:48:12 +02:00
Felix Fietkau 8265fdcc4d imagebuilder: strip DEVICE_ prefix from profiles (FS#55)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-21 13:41:20 +02:00
Felix Fietkau ed90d50bc4 build: fix image builder profile override (FS#55)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-21 13:29:04 +02:00
Felix Fietkau b5b2425cba image.mk: initialize BOARD_NAME and IMAGES, add it to DEVICE_VARS
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau 9a50a213d2 image.mk: add support for specifying the VID header offset for UBI
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
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>
2016-07-20 10:13:50 +02:00
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>
2016-07-20 10:13:50 +02:00
Felix Fietkau ebd0b2d0b1 build: split legacy image building code out of image.mk
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau 1c1244193a image.mk: replace some template abstraction with make pattern rules
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau efdf7f6499 image.mk: remove obsolete Build/mkfs overrides
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau 7bdc21de72 image.mk: fix append-dtb race when multiple devices use the same .dts
Call Image/BuildDTB unconditionally to keep things consistent

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:18:14 +02:00
Felix Fietkau f021ea47d3 target.mk: change CPU_CFLAGS to better suit target CPUs
-march forces the compiler to generate generic code, whereas -mcpu
allows it to target the specific CPU variant and use instructions that
the generic architecture may not have

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:14:42 +02:00
Felix Fietkau 11d496d156 target.mk: rework arm architecture level detection
Use kernel config as input instead of -march CFLAGS.
With this change, -march can be dropped and replaced with more specific
optimization flags for better code generation.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:14:37 +02:00
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>
2016-07-15 14:14:11 +02:00
Felix Fietkau b8fddb8912 image: allow devices to override the -E 5 ubinize option
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-14 10:27:30 +02:00
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
Hauke Mehrtens efa1960abb kernel: update kernel 4.4 to version 4.4.15
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-07-13 15:39:15 +02:00
Felix Fietkau 2f2d1829be target.mk: fix ARM architecture feature flag detection
Move feature flag checks below CFLAGS handling, use CPU_TYPE CFLAGS for
architecture detection.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-07 10:57:45 +02:00
John Crispin 1b13b35231 include/toplevel.mk: fix defconfig when ~/.openwrt/defconfig exists - take 2
commit 5b72807416 ("include/toplevel.mk: fix defconfig when
~/.openwrt/defconfig exists") was missing a !

Signed-off-by: John Crispin <john@phrozen.org>
2016-07-06 10:40:12 +02:00
John Crispin 5b72807416 include/toplevel.mk: fix defconfig when ~/.openwrt/defconfig exists
./scripts/feeds update will reset the .config file if ~/.openwrt/defconfig
exists, thus resetting the target to ar71xx.

Signed-off-by: John Crispin <john@phrozen.org>
2016-07-06 09:07:25 +02:00
Hauke Mehrtens 84d489f64f kernel: update to version 4.4.14
Changelog: https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.4.14

Some manual changes to target/linux/generic/patches-4.4/610-
netfilter_match_bypass_default_checks.patch were needed.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-06-26 18:20:37 +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
Daniel Dickinson f954f4337b base-files: Add standard os-release file
/etc/os-release is the standard distribution release information
file, therefore add it (and image configuration options for
fields not previously present in LEDE).  Once it is deemed
reasonable the non-standard openwrt_release, openwrt_version,
and device_info files could be removed (that is with this patch
we consider them deprecated in favour of the standard file).

Signed-off-by: Daniel Dickinson <lede@daniel.thecshore.com>
2016-06-24 13:52:53 +02:00
Ben Whitten b7baaaf782 kernel: Move append-dtb to common image-commands
This build step is used by various targets, move it to a common section.

Signed-off-by: Ben Whitten <ben.whitten@gmail.com>
2016-06-22 19:32:06 +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 71d533eea9 package-ipkg: do not include feeds.mk at metadata dump time to speed up scanning
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-16 11:56:24 +02:00
Felix Fietkau 4b8ba2b4ce include/feeds.mk: allow installation from feed packages that are installed but no longer in feeds.conf
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-16 11:56:24 +02:00
Matthias Schiffer 3ee6c17cd1
package-ipkg.mk: fix Provides for packages with multiple PROVIDES entries
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-06-16 04:15:02 +02:00
Matthias Schiffer 6fb212f293
build: don't add -j for parallel builds with Make 4.2+
Make usually passes -j and jobserver arguments as part of MAKEFLAGS. LEDE
removes MAKEFLAGS to have better control of the build, and re-adds the
jobserver arguments with -j to the Make commandline where desired.

Make 4.2+ behave differently with these arguments passed on the commandline
than in MAKEFLAGS: -j will override the jobserver argument and the job
count will be unlimited.

Moving the flags to MAKEFLAGS will need many packages to be changed and
tested; therefore, we opt for a less invasive change for now and just
remove -j for Make 4.2+, as the jobserver argument alone is enough to
enable parallel builds for these Make versions.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-06-15 19:26:17 +02:00
Álvaro Fernández Rojas 0aa6c7df60 kernel: update kernel 4.4 to version 4.4.13
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-06-12 15:51:54 +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
Waldemar Brodkorb f7fb6e49f2 build: allow to build LEDE on latest MacOS X
Latest Xcode doesn't include openssl anymore. To compile
mkimage from u-boot source you need SSL headers on your host.
This patch provides libressl host package for any Darwin
compilation. Unfortunately openssl from MacPorts can not be
used, as the installed headers in /opt/local are breaking
GDB compilation. Tested with a RB532 image build and resulting
kernel booted on a device via TFTP.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [fixes, dependencies]
2016-06-07 08:58:41 +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
Felix Fietkau 9ae952cf8c build: split scripts/metadata.pl into target-metadata.pl and package-metadata.pl
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:40 +02:00
Álvaro Fernández Rojas a105eac4dd kernel: update kernel 4.4 to version 4.4.12
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-06-02 15:34:34 +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
Jo-Philipp Wich 3a085dcbe3 download.mk: use HTTPS for git.lede-project.org
Some Git versions have issues following the HTTP->HTTPS redirect and since
the keyring package is fetched from this host, switching to HTTPS is a
sensible choice anyway.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-06-01 15:18:42 +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
Hannu Nyman 3193053df7 Centralize setting of all version info to include/version.mk
Centralize setting all version information in include/version.mk
* Set RELEASE env variable in include/version.mk instead of toplevel.mk.
  Stop exporting the variable.
* Remove hardcoded release name from /etc/banner

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-05-24 13:30:58 +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
Álvaro Fernández Rojas c4664b0f91 kernel: update kernel 4.4 to version 4.4.11
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-05-19 21:08:06 +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 470442ea0f build: fix make download in the SDK
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-16 11:20:26 +02:00
Felix Fietkau f4c4d501e4 build: remove profile kernel/build system config override support
It has been unused for years

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-15 20:55:40 +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 4d29474e26 target.mk: add cflags for mips 1004kc cpu type
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-14 17:58:43 +02:00
Felix Fietkau d02f109ee4 kernel: remove leftover kernel version for 4.3
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-12 16:08:44 +02:00
Álvaro Fernández Rojas e32b2f92b1 kernel: update kernel 4.4 to version 4.4.10
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-05-11 21:34:27 +02:00
Felix Fietkau 4a31037a34 build: avoid including profiles/*.mk
Generate the active profile name in menuconfig context

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-11 20:14:00 +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 471ca4197c toplevel.mk: rescan target metadata if the image makefile changes
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-11 19:03:35 +02:00
Felix Fietkau 1189af85fd metadata.pl: add support for forcing sorting of profiles
Used to mix device profiles (specified in the image makefile) with
regular target profiles.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-11 19:03:35 +02:00
Felix Fietkau 87550a0e87 target.mk: dump device profiles defined in include/image.mk
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-11 19:03:35 +02:00
Felix Fietkau 6ddca3a361 target.mk: remove the unused Target-Path field
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-11 19:03:35 +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
Álvaro Fernández Rojas b062266ad6 kernel: update kernel 4.4 to version 4.4.9
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-05-10 10:43:17 +02:00
blogic cbdfae5c04 ubox: turn logd into a separate package
Currently system log is always included as a part of ubox.
Add logd as a seperate package and add it to default packages list.

Signed-off-by: Andrej Vlasic <andrej.vlasic@sartura.hr>

SVN-Revision: 49285
2016-05-10 10:43:12 +02:00
Felix Fietkau 852aaf6b2c build: add support for specifying extra package dependencies for prepared, configured and built
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-05 19:43:23 +01:00
John Crispin f5c4d963ff include: add lede git server url
Signed-off-by: John Crispin <john@phrozen.org>
2016-04-29 04:15:24 +02:00
Álvaro Fernández Rojas 3faf65e928 kernel: update kernel 4.4 to version 4.4.8
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-04-24 11:32:17 +02:00
Jo-Philipp Wich d9ad55a609 include: remove unused FeedPackageDir macro arguments
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-22 12:02:53 +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
Jo-Philipp Wich 02def71888 include/target.mk: disambiguate package architecture
Add $ARCH and $CPU_SUBTYPE to the package architecture strings to differentiate
low and big endian targets as well as extended instructions sets like NEON
or DSP2.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-17 19:50:53 +02:00
Jo-Philipp Wich 349e7b635e include: fix nonshared flag handling
Fix nonshared flag handling to properly deal with source packages defining
both kmod and non-kmod ipks.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-15 10:26:36 +02:00
Jo-Philipp Wich d87c303b58 include/kernel.mk: flag kmod packages as nonshared by default
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-06 22:37:58 +02:00
Jo-Philipp Wich 32a0b8c104 include/version.mk: rework repository url handling
- Add %A placeholder for substituting the package architecture
- Change %U placeholder to refer to the toplevel repository URL
- Construct package feed URLs relative to the toplevel one to match new layout

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-13 00:31:15 +02:00
Jo-Philipp Wich 5170393f8c include: choose package output directory based on repository info
Use the new repository metadata field to choose the output directory of the
final package archives.

Non-sharable packages will be placed in the per-target package directory
while the rest will be placed in a per-repository sub directory within the
$OUTPUT_DIR/packages/$CPU_TYPE/ prefix.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-06 21:55:44 +02:00
Jo-Philipp Wich be575fdc9d include: remove now unused PACKAGE_SUBDIR variable
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-13 15:37:34 +02:00
Jo-Philipp Wich aad2b92603 include/package-dumpinfo.mk: introduce Repository values
Introduce a new dumpinfo field "Repository" which contains the name of the
shared repository where the package will be hosted in. The name is chosen
according to the following rules:

 - Name of the feed directory for any feed package, e.g. "Repository: luci" for
   "feeds/luci/applications/luci-app-firewall/Makefile"
 - The value "base" for any other, sharable package
 - Unset for any package flagged PKG_FLAGS:=nonshared

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-13 15:28:13 +02:00
Jo-Philipp Wich c47abdea25 include/target.mk: default to CPU_TYPE for the package architecture
Use the more specific CPU_TYPE designation as default package architecture
and only fall back to ARCH if no specific CPU_TYPE is set.

This means that e.g. ar71xx packages will use "74kc" as architecture,
not "mips" which is a precondition for sharing packages between targets.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-06 21:53:19 +02:00