Rafał Miłecki [Sat, 6 Feb 2016 16:29:12 +0000 (16:29 +0000)]
mtd: detect image format when writing
Recently TRX checking code was changed to detect Seama format and don't
abort whole writing operation because of it. This isn't a good long-term
solution. It's a poor idea to teach every format handler recognizing all
possible formats. Instead it should be handled in a generic code which
should run check depending on the detected format.
This will also allow further improvements like fixing formats other than
TRX after replacing JFFS2.
Rafał Miłecki [Wed, 3 Feb 2016 09:38:42 +0000 (09:38 +0000)]
swconfig: support setting SWITCH_TYPE_LINK attributes
Supported syntax is inspired by ethtool. Example usages:
swconfig dev switch0 port 2 set link "duplex half speed 100"
swconfig dev switch0 port 2 set link "autoneg on"
Rafał Miłecki [Wed, 3 Feb 2016 09:33:38 +0000 (09:33 +0000)]
swconfig: add (PHY) generic helper setting port link
It's quite common for switches to have PHY per port so adding a generic
helper setting link state will help many drivers. It just needs an API
to access PHYs which this patch also adds.
Rafał Miłecki [Mon, 1 Feb 2016 12:42:00 +0000 (12:42 +0000)]
firmware-utils: add oseama tool for creating Seama entities
It has an important feature (compared to seama) of using multiple input
files, aligning them and padding zeroes until reaching a specified
absolute offset. This is needed for a proper flash layout on NAND. We
want kernel partition to be big enough to handle future updates without
a need to resize it and wipe whole "ubi" partition. It's important as
we don't want to lose block counters.
Rafał Miłecki [Mon, 1 Feb 2016 12:41:53 +0000 (12:41 +0000)]
kernel: mtdsplit: support Seama entity with UBI
Some D-Link routers (e.g. DIR-885L) have NAND and use Seama format. It
means OpenWrt will want to have UBI in Sseama entity and should be able
to detect it.
Rafał Miłecki [Mon, 1 Feb 2016 12:41:41 +0000 (12:41 +0000)]
kernel: mtdsplit: modify rootfs helpers to provide partition type
Our mtdsplit parsers may want to create partition with name choice based
on partition file system (e.g. SquashFS vs. JFFS2). This patch allows
passing extra argument pointing to variable that will be set properly.
Felix Fietkau [Mon, 1 Feb 2016 12:02:11 +0000 (12:02 +0000)]
gre: Support multicast configurable gre interfaces
UCI paramater multicast is added which allows to toggle multicast support on gre interfaces.
By default multicast support is enabled as gre tunnels are often used in combination with
routing protocols using multicast.
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> Signed-off-by: Nick Podolak <nicholas.podolak@dtechlabs.com>
SVN-Revision: 48596
Felix Fietkau [Sun, 31 Jan 2016 23:29:16 +0000 (23:29 +0000)]
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
Felix Fietkau [Sun, 31 Jan 2016 23:28:55 +0000 (23:28 +0000)]
add scripts/portable_date: wrapper around date for bsd/linux
date -r $unix_timestamp on bsd is equal to date -d @$unix_timestamp on
linux. To support reproducible builds and not loosing every timestamp
it's required to convert a unix timestamp into human readable timestamp
./scripts/portable_date $unix_timstamp +%T
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
SVN-Revision: 48583
Rafał Miłecki [Fri, 29 Jan 2016 22:21:45 +0000 (22:21 +0000)]
oseama: support creating single Seama entity
This will be needed to handle sysupgrade on NAND in a smart way. We'll
need to extract kernel our of provided Seama container, put in in a new
Seama entity and flash.
Jo-Philipp Wich [Fri, 29 Jan 2016 17:26:41 +0000 (17:26 +0000)]
firewall: drop invalid by default, remove chain indirection, fix invert flags (#21738)
* Enable drop_invalid by default to catch unnatted packets (#21738)
* Fix processing of inversions for -i, -o, -s, -d and -p flags
* Remove delegate_* chain indirection but rely on xt_id to identify own rules
Felix Fietkau [Fri, 29 Jan 2016 00:42:50 +0000 (00:42 +0000)]
lantiq: Make the ar9.dtsi sram node match "simple-bus"
All other SoC types are using "lantiq,sram" and "simple-bus" to ensure
that all child nodes are set up correctly during linux kernel
initialization (plat_of_setup(void) in arch/mips/lantiq/prom.c). Without
this some of sram child nodes might not be parsed.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48548
Felix Fietkau [Thu, 28 Jan 2016 22:42:44 +0000 (22:42 +0000)]
tools/mkimage: backport SOURCE_DATE_EPOCH for reproducible builds
This pulls in Paul Kocialkowski's SOURCE_DATE_EPOCH support patch for u-boot,
which landed upstream circa July 2015. Note that this "host" u-boot repo is
only used to compile the 'mkimage' utility, and isn't used to actually compile
a bootloader for any target.
This patch could be removed if/when the host u-boot package is updated to a
contemporary version (but there doesn't seem to be any motivation/need to do
so).
These allow the generated kernel's build metadata to be defined explicitly.
This metadata is reported, eg, at boot time and in `uname -a` on running
systems. If the variables aren't configured, the current build system username
and hostname are used as normal.
The motivation for this option is to achive reproducible (bit-for-bit
identical) kernel builds of official openwrt releases.
Signed-off-by: bryan newbold <bnewbold@robocracy.org> Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48541
Felix Fietkau [Thu, 28 Jan 2016 22:42:29 +0000 (22:42 +0000)]
include/kernel: sort module lists for reproducibility
This is to get reproducible builds of, eg, the kmod-sched ipkg.
Locale preferences can change build order, but the locale is already been
defined for the entire build process, so it doesn't need to be specified here.