aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* include/download.mk: Use -7e compression instead of -6 by defaultDaniel Engberg2016-10-051-1/+1
| | | | | | Adds a slightly higher compression level to xz by default which roughly raises memory usage from 100MiB to about 200MiB during compression, about 10MiB for decompression. (Source: xz manpage) Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* include/prereq-build.mk: Add xz-utils to make prereqDaniel Engberg2016-10-051-0/+3
| | | | | | Add xz-utils to make prereq Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* include/download.mk: generate reproducable SCM tarballsJo-Philipp Wich2016-10-051-4/+9
| | | | | | | | | | | | | | | | | Apply a number of changes to the tarball generation in order to produce identical files on different systems: 1) Use an explicit `gzip -cn` to avoid storing file mtime in the gzip header 2) Instruct `tar` to unconditionally use uid and gid 0 for archive members 3) Instruct `tar` to sort archive members by file name 4) For SCMs that do not preserve file modification times like Git or Mercurial, use the date of the last commit to the repository and pass it as `--mtime` value to `tar` After these changes, locally produced tarballs generated from SCM checkouts should be identical on any system, simplifying the mirroring of cache archives. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: fix regression on running make kernel_menuconfigFelix Fietkau2016-10-041-1/+1
| | | | | | | | The build system overrides HOST_LOADLIBES to add the staging dir to the library search path. menuconfig needs -lncurses, add another override for it. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: leaving behind incomplete metadata files on cancelled buildsFelix Fietkau2016-10-041-2/+4
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* include: relax umask checkJo-Philipp Wich2016-10-041-1/+1
| | | | | | | | For now we only want to ensure that the group permission mask is permissive enough to not clobber required permissions on the rootfs, so allow less strict masks as well. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* include: add umask prereq checkJo-Philipp Wich2016-10-041-0/+4
| | | | | | | | | | | When building LEDE with umask values other than 022, the resulting packages will embed improper permissions, which may lead to random errors or non- functional scripts on the target. In order to make users aware of this problem, add a build-prereq check to assert a correct umask setting before starting the build. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* netfilter: fix file conflicts between kmod-ipt- and kmod-nft- packagesMatthias Schiffer2016-09-301-8/+5
| | | | | | | | The nf_reject_* and nf_nat_masquerade_* modules are moved into the corresponding kmod-nf- packages. Appropriate dependencies are added to the kmod-nft- packages. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* kernel: update to v4.4.23Álvaro Fernández Rojas2016-09-301-2/+2
| | | | | | | Refresh patches for all targets that support kernel 4.4. compile/run-tested on brcm2708/bcm2710 only. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: update kernel 4.4 to version 4.4.22Stijn Segers2016-09-301-2/+2
| | | | | | Forgot to update kernel-version.mk, so updated patch. Compile-tested on x86/64 and ar71xx; run-tested on x86/64 and ar71xx. Signed-off-by: Stijn Segers <francesco.borromini@inventati.org>
* kernel: add STAGING_DIR_HOST/lib to host library search pathFelix Fietkau2016-09-291-0/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* rootfs: fail on errors in postinst scriptsMatthias Schiffer2016-09-261-0/+5
| | | | | | | | | | | | | | The Gluon firmware framework [1] uses postinst scripts for sanity checks. Make the build fail when a postinst script exits with an error to make these sanity checks effective. All postinst scripts in packages from the LEDE core and the packages feed seem to work correctly with this change and will always return 0 unless something is very broken. [1] https://github.com/freifunk-gluon/gluon Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* rootfs: remove unnecessary and potentially harmful force flags from opkg callMatthias Schiffer2016-09-262-4/+1
| | | | | | | | | | | | Especially --force-overwrite and --force-depends will often lead to broken images; it's better to fail the build in such cases than to silently ignore the errors. Instead, ignore errors in the per-device rootfs opkg remove command, so the build doesn't break when packages can't be removed because of dependencies. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* image: per-device rootfs: first remove, then install packagesMatthias Schiffer2016-09-261-3/+3
| | | | | | | | Some DEVICE_PACKAGES definitions replace one package variant with another (e.g. wpad-mini is replaced with wpad). To avoid file conflicts, first remove, then install packages. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* image: don't modify file permissions before rootfs generationMatthias Schiffer2016-09-262-22/+3
| | | | | | | | | | | | | | | | Modifying the file permissions can be harmful, as it would make files world-readable even if they weren't in the ipk packages. The Image/mkfs/prepare step is removed completely, as it is redundant now (/tmp and /overlay are already provided by base-files with the correct permissions). It has been verified that this change does not affect any permissions of files in the default package set except /etc/ppp/chap-secrets, which was world-readable before. All packages not in the default set are more likely to be installed via opkg than being part of a base image and thus were usually not affected by the permission modification anyways. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* image: fix CONFIG_CLEAN_IPKG with CONFIG_TARGET_PER_DEVICE_ROOTFSMatthias Schiffer2016-09-252-1/+3
| | | | | | | | | | | Running prepare_rootfs on TARGET_DIR deletes the opkg state when CONFIG_CLEAN_IPKG is enabled, making the per-device rootfs package install fail. To avoid this, create a copy of the TARGET_DIR before prepare_rootfs is run and use this as basis for per-device rootfs generation. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* image: per-device rootfs: don't fail without opkgMatthias Schiffer2016-09-241-2/+2
| | | | | | | Ignore errors caused by /etc/opkg not existing (i.e. when opkg is not selected). Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* image: allow specifying additional packages for device-specific rootfsMatthias Schiffer2016-09-241-2/+12
| | | | | | | | Add a new option to each device in multi-profile mode, allowing to provide a list of packages to add or remove. In case of added packages, the user must take care that these are selected to be built. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* image: don't override opkg list directory in per-device rootfs modeMatthias Schiffer2016-09-242-5/+3
| | | | | | | | | | | | 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>
* kernel: update kernel 4.4 to version 4.4.21Álvaro Fernández Rojas2016-09-161-2/+2
| | | | | | | 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>
* kernel: update kernel 4.4 to version 4.4.20Álvaro Fernández Rojas2016-09-151-2/+2
| | | | | | | 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>
* image: remove padding parameter from append-kernel/append-rootfsMathias Kresin2016-09-131-2/+2
| | | | | | | | | | | 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>
* image: use check-size from new image build codeMathias Kresin2016-09-131-8/+1
| | | | | | Use the new image build code and deduplicate the code. Signed-off-by: Mathias Kresin <dev@kresin.me>
* image: add KERNEL_SIZE to the default device varsMathias Kresin2016-09-131-1/+1
| | | | | This reverts commit ec37a565878fd79d4127cbb843c17ce3b8dc97c0 and fixes the underlying issue.
* build: drop UBI EOF marker from images by defaultFelix Fietkau2016-09-121-1/+1
| | | | | | | | Only add them where they are actually required. Should help with compatibility issues with stock U-Boot images that access UBI Signed-off-by: Felix Fietkau <nbd@nbd.name>
* octeon: use new ext4/f2fs overlay supportFelix Fietkau2016-09-101-0/+4
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image: pass device blocksize to padjffs2Mathias Kresin2016-09-031-1/+2
| | | | | | | | | | | | | | | | | | 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>
* image: add support for k unit suffix to append-ubiMathias Kresin2016-09-041-1/+1
| | | | | | | 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>
* image: add support for k unit suffix to pad-offsetMathias Kresin2016-09-031-2/+2
| | | | | | | Allows to specificy the padding and offset in kilobytes to be consistent with pad-to. Signed-off-by: Mathias Kresin <dev@kresin.me>
* image.mk: Create a manifest file of installed packages as a build artifactPushpal Sidhu2016-09-081-0/+8
| | | | | | | | | | A few linux BSP's create a manifest file of installed packages for a given target in order to help them understand exactly what's on their images. Create one here as well as a build artifact since many users have an affinity to prune down on packages to save valuable flash space. Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* scripts/ubinize-image.sh: add support for adding custom partitionsFelix Fietkau2016-08-312-1/+3
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ubox: move logd into ubox packageFelix Fietkau2016-08-231-1/+1
| | | | | | Preparation for further build rework Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: use perl instead of GNU date for KBUILD_BUILD_TIMESTAMPFelix Fietkau2016-08-231-1/+7
| | | | | | Fixes warning on non-Linux systems Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: pass $(STAGING_DIR_HOST) to Host/InstallFelix Fietkau2016-08-231-2/+2
| | | | | | makes it more consistent with package builds Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: mt7621: switch to 24kcJonas Gorski2016-08-231-1/+0
| | | | | | | | 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>
* include: remove 34k distinctionJonas Gorski2016-08-231-1/+0
| | | | | | Now that there are no users anymore, drop the 34kc CPU_FLAGS. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* kernel: update kernel 4.4 to version 4.4.19Stijn Tintel2016-08-231-2/+2
| | | | | | | | 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>
* kernel: check the right directories for rebuildJonas Gorski2016-08-191-1/+1
| | | | | | | | | | | | 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: 22ef1c83b35c ("kernel: make the kernel build auto-clean the build dir like package build") Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* kernel: prevent adding custom string to localversionJosua Mayer2016-08-181-0/+1
| | | | | | | | | 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>
* kernel: prevent addition of scm marker to localversionJosua Mayer2016-08-181-0/+4
| | | | | | | | | 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>
* kernel: check SOURCE_DATE_EPOCH before setting KBUILD_BUILD_TIMESTAMPJonas Gorski2016-08-131-1/+1
| | | | | | Make sure SOURCE_DATE_EPOCH actually contains something. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* kernel: allow reproducable buildsJonas Gorski2016-08-131-0/+2
| | | | | | | | | | | | 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>
* kernel: add plan 9 fs packageMatteo Croce2016-08-111-0/+3
| | | | | | | 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>
* ramips: switch from 24kec to 24kcJonas Gorski2016-08-081-1/+0
| | | | | | | | 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>
* kernel: make the kernel build auto-clean the build dir like package buildsFelix Fietkau2016-08-054-7/+18
| | | | | | Previous behavior can be restored by using QUILT=1 on target/prepare Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image: fix per-device rootfs build error when not all opkg package files are ↵Felix Fietkau2016-08-041-1/+1
| | | | | | found Signed-off-by: Felix Fietkau <nbd@nbd.name>
* include/image.mk: allow image code to override uImage nameJohn Crispin2016-08-032-2/+3
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* build: remove MIPS dsp/dsp2 CPU_SUBTYPEFelix Fietkau2016-08-031-2/+0
| | | | | | | 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>
* build: move merged package directory from bin/ to staging_dirFelix Fietkau2016-08-031-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: remove image specific checksum codeJo-Philipp Wich2016-08-011-8/+0
| | | | | | | Now that we globally calculate sha256sums over the bin/ directory we can remove the target image specific checksum handling. Signed-off-by: Jo-Philipp Wich <jo@mein.io>