OpenWrt is completely compiled from sources using a 64 bit compiler, we
do not need support for the old 32 bit MIPS interface on 64 Bit CPUs,
deactivate it.
Fixes: 46af22de16 ("kernel: Remove CONFIG_COMPAT")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This removes support for executing old 32 bit applications on 64 bit ARM
and MIPS kernels.
On OpenWrt we normally compile all the user space applications on our
own and do not support third party binary only modules especial not 32
bit applications on 64 bit CPUs.
This reduces the attack surface on such systems and should also save
some memory.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
If the target supports a newer kernel version that is not used by default
yet, it can be enabled with this option
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit adds support for Linux 4.19 kernel, various cleanups
listed below.
Drop 170-cisco-hack.patch as these devices never seems to have been
supported.
Unset kernel symbols:
* CONFIG_CAVIUM_CN63XXP1=y
No supported hardware uses CN63XXP1 and it causes "slight decrease in
performance"
Source: https://cateee.net/lkddb/web-lkddb/CAVIUM_CN63XXP1.html
* CONFIG_USB_OCTEON_EHCI=y
CONFIG_USB_OCTEON_OHCI=y
Deprecated
Source: https://cateee.net/lkddb/web-lkddb/USB_OCTEON_EHCI.htmlhttps://cateee.net/lkddb/web-lkddb/USB_OCTEON_OHCI.html
Removed kernel symbols:
* # CONFIG_ARCH_HIBERNATION_POSSIBLE=y
* CONFIG_ARCH_SUSPEND_POSSIBLE=y
These are not in if you do a vanilla config of a MIPS Octeon kernel
and I can't find any references about support on this platform.
* # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
* CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
No need to have this in by default, not defined in most other targets
* CONFIG_CRASH_CORE=y
Can't find any documentation why this should be enabled by default
* CONFIG_DEBUG_INFO=y
Set by https://github.com/openwrt/openwrt/blob/master/config/Config-kernel.in#L134
* CONFIG_DEBUG_SPINLOCK=y
No need to have this in by default
* CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
Already set by default
Source: https://cateee.net/lkddb/web-lkddb/DEFAULT_HUNG_TASK_TIMEOUT.html
* CONFIG_DETECT_HUNG_TASK=y
No need to have this in by default, not defined in most other targets
* CONFIG_HAVE_DEBUG_KMEMLEAK=y
No need to have this in by default, not defined in most other targets
* CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
No need to have this in by default
* CONFIG_HAVE_IDE=y
None of the supported devices have IDE
* CONFIG_HZ=250
* # CONFIG_HZ_100 is not set
* CONFIG_HZ_250=y
This is broken with generic config
* CONFIG_KALLSYMS=y
No need to have this in by default, not defined in most other targets
* CONFIG_KEXEC=y
* CONFIG_KEXEC_CORE=y
No need to have this in by default, not defined in most other targets
* CONFIG_HAVE_KVM=y
No need to have this in by default
* CONFIG_SCHED_DEBUG=y
No need to have this in by default, not defined in most other targets
* CONFIG_SYSFS_DEPRECATED=y
Deprecated symbol
Source: https://cateee.net/lkddb/web-lkddb/SYSFS_DEPRECATED.html
* CONFIG_SYSFS_DEPRECATED_V2=y
Discouraged usage in general
Source: https://cateee.net/lkddb/web-lkddb/SYSFS_DEPRECATED_V2.html
* CONFIG_UNINLINE_SPIN_UNLOCK=y
No need to have this in by default, not defined in most other targets
Source: https://github.com/openSUSE/kernel/blob/master/lib/Kconfig.debug#L1137
* CONFIG_ZLIB_INFLATE=y
No need to have this in by default, not defined in most other targets
Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
CONFIG_COMPAT_BRK disables the heap randomization which is only needed
for very old and ancient user space applications, I am not aware that we
run any of these, just deactivate this option for these targets to allow
heap randomization.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
THIN_ARCHIVES option is enabled by default in the kernel configuration
and no one target config disables it. So enable it by default and remove
this symbol from target specific configs to keep them light.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
New FUTEX_PI configuration symbol enabled if FUTEX and RT_MUTEX symbols
are enabled. Both of these symbols are enabled by default in the
generic config, so enable FUTEX_PI by default too to keep platform
specific configs minimal.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
OVERLAY_FS config symbol selects EXPORTFS since 4.12 kernel, we have
OVERLAY_FS enabled by default, so enable EXPORTFS in the generic config
of 4.14 and remove this option from platform specific configs.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
DRM_LIB_RANDOM config symbol selected only by DRM_DEBUG_MM_SELFTEST
which is disable by default, so disable DRM_LIB_RANDOM by default too.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
These options do not used by any supported arch, so disable them by
default to make arch configs a bit more clean.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Only one arch (x86_64) enables this option. So disable
ARCH_WANTS_THP_SWAP by default and remove referencies to it from all
configs (except x86_64) to make them clean.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Disable CONFIG_PROC_PAGE_MONITOR in most places and only keep it enabled
for virtual targets such as malta or potent ones like x86.
This saves up to 4KB of uncompressed kernel size and significantly
decreases CPU load under certain workloads.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Do not parse /tmp/sysinfo/board_name, /proc/cpuinfo or the device tree
compatible string directly. Always use the board_name function to get
the board name.
The admswconfig package still reads /proc/cpuinfo directly. The code
looks somehow broken and the whole adm5120 which uses this package
looks unmaintained. Leave it as it is for now.
Signed-off-by: Mathias Kresin <dev@kresin.me>
For targets using the generic board detection and board specific
settings in diag.sh, the board name is still unset at the time the
set_state() provided by diag.sh is called by 10_indicate_preinit.
Change the execution order to ensure the boardname is populated before
required the first time. Do the target specific board detection as
early as possible, directly followed by the generic one to allow a
seamless switch to the generic function for populating /tmp/sysinfo/.
Signed-off-by: Mathias Kresin <dev@kresin.me>
CONFIG_SG_POOL symbol is selected only by CONFIG_SCSI, since the last
one is disabled by default then disable CONFIG_SG_POOL by default too.
And explicitly enable it only for platforms that use CONFIG_SCSI.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
this caused
'mv: can't rename '/mnt/sysupgrade.tgz': No such file or directory'
when running sysupgrade -n
Signed-off-by: John Crispin <john@phrozen.org>
erlite mtdparts exposes boot0, boot1 and eeprom regions
as read/write.
this patch adds readonly flags, so these regions can't be
modified. same as it is already for ER profile.
Signed-off-by: Jiri Kastner <cz172638@gmail.com>
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>
Use the generic "sysupgrade-nand" build step to pack the sysupgrade file,
it performs the same steps as the inline "tar-file" macro.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
After b47f438 "build: remove image prefix from kernel files in KDIR", the
kernel image in $(KDIR) has a different name and could not be found by the
tar-file build step anymore, leading to the following error on the build
servers:
cp: cannot stat `.../linux-octeon/lede-octeon-generic-kernel.bin': No such file or directory
make[4]: *** [.../linux-octeon/tmp/lede-octeon-generic-ext4-sysupgrade.tar] Error 1
Adjust the path to the source kernel image in order to fix the problem.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The generic sysupgrade image attempted to use the wrong filesystem type due
to premature variable interpolation leading to the following error on the
buildbot system:
cp: cannot stat `.../root.squashfs': No such file or directory
make[4]: *** [.../tmp/lede-octeon-generic-ext4-sysupgrade.tar] Error 1
Signed-off-by: Jo-Philipp Wich <jo@mein.io>