aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/x86
Commit message (Collapse)AuthorAgeFilesLines
* x86: remove obsolete Kernel 5.4Paul Spooren2021-10-0210-2009/+0
| | | | | | | With the upgrade to Kernel 5.10 per default the old version is no longer required to be in tree. Signed-off-by: Paul Spooren <mail@aparcar.org>
* x86: use device vendor/model variableMoritz Warning2021-09-234-5/+10
| | | | | | | | Remove use of DEVICE_TITLE in favor of the DEVICE_VENDOR and DEVICE_MODEL as used by all other targets. Signed-off-by: Moritz Warning <moritzwarning@web.de>
* x86: switch to kernel 5.10Paul Spooren2021-09-081-2/+1
| | | | | | | Seems to be working fine in QEMU and the wild. Signed-off-by: Paul Spooren <mail@aparcar.org> Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: move two symbols to the generic kconfigsRui Salvaterra2021-08-294-8/+0
| | | | | | | CONFIG_RCU_{NEED_SEGCBLIST,STALL_COMMON} are set basically everywhere. Move them to the generic kconfigs. And resort the generic kconfigs while at it. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* kernel: bump 5.4 to 5.4.142John Audia2021-08-211-1/+1
| | | | | | | | | | | | | | | Removed upstreamed: hack-5.4/991-platform-x86-pcengines-apuv2-revert-simswitch.patch All other patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: bump 5.10 to 5.10.60Rui Salvaterra2021-08-211-1/+1
| | | | | | No deleted or manually refreshed patches. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* treewide: add various missing config symbolsDavid Bauer2021-08-105-3/+2
| | | | | | Fixes commit 91a52f22a13d ("treewide: backport support for nvmem on non platform devices") Signed-off-by: David Bauer <mail@david-bauer.net>
* x86: include kmod-fs-vfat by default in generic imagesDaniel Golle2021-07-202-2/+2
| | | | | | | | | As x86/64 and x86/generic may be using UEFI, mounting the FAT-32 /boot is necessary in order not to loose configuration files accross sysupgrades. Include kmod-fs-vfat by default to make sure /boot can always be mounted. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* x86: kernel: set NR_CPUS to 512Edgar Su2021-07-182-4/+4
| | | | | | | | | | NR_CPUS limits the number of CPUs supported to 8. This makes total sense on hardware-restircted platforms, but not on x86_64, where CPUs with more than 8 cores can be easily acquired and with less physical limitaions. see also: https://forum.openwrt.org/t/x86-64-8-cpu-limitation-on-vanilla-release/100946 Signed-off-by: Edgar Su <sjs333@outlook.com>
* x86: add upgrade support to diag.shChris Blake2021-06-101-0/+4
| | | | | | | | | Similar to how this is done in the diag.sh found in the base-files package, we should blink our status LED (if we have one) during the upgrade process. This follows the same blink pattern as seen at ./package/base-files/files/etc/diag.sh#L36 Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
* x86: add Roqos Core RC10 ethernet interfacesTomasz Maciej Nowak2021-06-061-0/+3
| | | | | | | | | | | | | | | | | | | eth0 -> single NIC (i211at) eth1 -> single NIC (i211at) -> 4-port unmanaged switch (BCM53125U) Notes UART is exposed on J4 connector, pinout starting from pin marked 1: 1. GND, 2. NC?, 3. NC?, 4. RX, 5. TX, 6. NC? baud: 115200, parity: none, flow control: none The board is setup by coreboot with UEFI. To enter setup screen hold ESC key on boot. The 5-LED multicolor matrix is attached on first I2C device named "Synopsys DesignWare I2C adapter" at address 0x60. Controlling values are stored in /opt/roqos/etc/rcLED.conf of original firmware. Remember to backup the original firmware, there are no downloadable copies. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* x86: kernel: enable Fusion-MPT SAS driverMark Carroll2021-06-062-0/+2
| | | | | | | Compile in MPT SAS driver required to mount rootfs on some VMWare systems (e.g. required for 1&1 IONOS). Signed-off-by: Mark Carroll <git@markcarroll.net>
* treewide: switch the timer frequency to 100 HzRui Salvaterra2021-04-211-2/+0
| | | | | | | | Some targets select HZ=100, others HZ=250. There's no reason to select a higher timer frequency (and 100 Hz are available in every architecture), so change all targets to 100 Hz. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* x86: amd-xgbe: add missing dependencies on 5.10Chuanhong Guo2021-04-181-1/+1
| | | | | | | | | fix the following build error when building with test kernel: Package kmod-amd-xgbe is missing dependencies for the following libraries: mdio_devres.ko Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* x86/64: Add support for AMD SOC Ethernet controllerZheng Bao2021-04-172-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This feature is already supported in kernel. Add definition and configuration in Makefile of OpenWRT. It is tested on board Dibbler with processor V1605B. Dmesg is as below. -------------------------------------------- [ 0.317122] smpboot: CPU0: AMD Ryzen Embedded V1605B with Radeon Vega Gfx (family: 0x17, model: 0x11, stepping: 0x0) [ 8.227270] libphy: amd-xgbe-mii: probed [ 8.228189] amd-xgbe 0000:02:00.1 eth0: net device enabled [ 8.228999] libphy: amd-xgbe-mii: probed [ 8.229921] amd-xgbe 0000:02:00.2 eth1: net device enabled ..... [ 11.760869] br-lan: port 1(eth0) entered blocking state [ 11.761365] br-lan: port 1(eth0) entered disabled state [ 11.762019] device eth0 entered promiscuous mode [ 11.785285] 8021q: adding VLAN 0 to HW filter on device eth1 [ 16.881431] amd-xgbe 0000:02:00.1 eth0: Link is Up - 1Gbps/Full - flow control off [ 16.882108] br-lan: port 1(eth0) entered blocking state [ 16.882583] br-lan: port 1(eth0) entered forwarding state [ 16.883249] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready ----------------------------------------------- Signed-off-by: Zheng Bao <fishbaozi@gmail.com>
* kernel: Move CONFIG_USERIO to generic configHauke Mehrtens2021-03-272-2/+0
| | | | | | | | The CONFIG_USERIO option is unset in multiple target configurations. On the sunxi target it is activated. Move the kernel configuration option to the generic kernel configuration. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* x86/base-files: add support for Sophos SG/XG-105Stan Grishin2021-03-262-0/+11
| | | | | | | This adds detection of the Sophos SG-105 and Sophos XG-105 models and assignment of ethernet ports these models have to LAN/WAN. Signed-off-by: Stan Grishin <stangri@melmac.net>
* kernel: drop apu2 reboot patchKevin Darbyshire-Bryant2021-03-242-38/+0
| | | | | | | | | | | | | | | | | | | | | | This patch really annoys me, either it needs to go upstream or be dropped, so it's going to be dropped here. Checking drivers/platform/x86/pcengines-apuv2.c it also appears to be incomplete since it mentions different dmi board names depending on bios version. /* APU2 w/ legacy BIOS < 4.0.8 */ is 'APU2' /* APU2 w/ legacy BIOS >= 4.0.8 */ is 'apu2' /* APU2 w/ mainline BIOS */ is 'PC Engines apu2' So the patch, if applicable at all, only 'works' for legacy BIOS >= 4.0.8 My APU2 on mainline BIOS reboots fine without this patch. So let's see if anyone screams and when they do question why legacy bios. If patch DOES need to be re-introduced then it needs to go upstream first. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kernel: bump 5.10 to 5.10.24Kevin Darbyshire-Bryant2021-03-241-1/+1
| | | | | | | | Straightforward refresh of patches using update_kernel. Run tested: x86_64 (apu2) Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kernel: add missing config symbols, fix typosTony Ambardar2021-03-194-7/+0
| | | | | | | | | | Update 5.10 generic config to add missing options prompting during builds, when setting CONFIG_ALL_KMODS. Refresh the x86 subtargets to drop symbols added to the generic config. Also fix a typo in 5.4/5.10 generic configs: "CONFIG_CONFIG_KVM_AMD_SEV". Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* kernel: move some disabled symbols to genericAleksander Jan Bajkowski2021-03-194-8/+0
| | | | | | Move some disabled symbols found in armvirt target to generic. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* x86/legacy: fix subtarget CPU for kernel 5.10Tony Ambardar2021-03-151-0/+5
| | | | | | | | | | | | The 5.10 target config defined a baseline i686 CPU aligned to the 32-bit generic subtarget. However, the legacy subtarget arch wasn't set to the older 586MMX, defaulting instead to the i686. Explicitly set the subtarget arch and refresh the subtarget config, as done already with the old geode subtarget. Fixes: 8391781389 ("x86: support kernel 5.10") Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* x86: support kernel 5.10Tony Ambardar2021-03-1411-1/+1890
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add linux 5.10 as testing kernel, copy generic/subtarget configs and target patches from 5.4. Signed-off-by: Tony Ambardar <itugrok@yahoo.com> x86: update target patches for kernel 5.10 Refresh all patches while also dropping: 800-hwmon-w83627ehf-dont-claim-nct677x.patch which is now upstreamed as: 3207408ab4cb ("hwmon: (w83627ehf) remove nct6775 and nct6776 support") Signed-off-by: Tony Ambardar <itugrok@yahoo.com> x86: refresh 5.10 target config Refresh config using "make kernel_oldconfig". Signed-off-by: Tony Ambardar <itugrok@yahoo.com> x86: refresh and test all subtarget configs Refresh configs using "make kernel_oldconfig CONFIG_TARGET=subtarget". Build and run-tested using QEMU: x86/64, x86/legacy, x86/generic. Build-tested only: x86/geode. Signed-off-by: Tony Ambardar <itugrok@yahoo.com> [squashed commits] Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kernel: bump 5.4 to 5.4.105John Audia2021-03-131-1/+1
| | | | | | | | | | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. Removed upstreamed generic-backports: 830-v5.12-0001-net-usb-qmi_wwan-support-ZTE-P685M-modem.patch 831-v5.9-usbip-tools-fix-build-error-for-multiple-definition.patch 755-v5.8-net-dsa-add-GRO-support-via-gro_cells.patch Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-by: Curtis Deptuck <curtdept@me.com> [x86/64] [squash patches] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: remove execute bit and shebang from board.d filesAdrian Schmutzler2021-03-062-2/+0
| | | | | | | | | | | | | | | | So far, board.d files were having execute bit set and contained a shebang. However, they are just sourced in board_detect, with an apparantly unnecessary check for execute permission beforehand. Replace this check by one for existance and make the board.d files "normal" files, as would be expected in /etc anyway. Note: This removes an apparantly unused '#!/bin/sh /etc/rc.common' in target/linux/bcm47xx/base-files/etc/board.d/01_network Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* x86: add support for AWS T3 instancesAlberto Bursi2021-03-013-2/+20
| | | | | | | | | | | | | | | | | Amazon AWS T3 cloud instances require kernel support for the Elastic Fabric Adapter to access storage and for Elastic Network Adapter to use network interfaces. Since the Fabric Adapter is needed to access root filesystem, enable in x86_64 kernel. Elastic Network Adapter goes in a module, and add this module to default list in x86_64. The module is set to AutoLoad because AutoProbe does not seem to load it. Signed-off-by: Alberto Bursi <bobafetthotmail@gmail.com>
* x86: add led driver for PC Engines APU1Andreas Eberlein2021-02-204-5/+50
| | | | | | | | | This driver adds the LED support for the PC Engines APU1. This integrates the Linux kernel driver and includes a patch to support newer firmware versions. Also the default LED configuration is updated to use the correct devices. Signed-off-by: Andreas Eberlein <foodeas@aeberlein.de>
* target: use SPDX license identifiers on MakefilesAdrian Schmutzler2021-02-103-11/+5
| | | | | | Use SPDX license tags to allow machines to check licenses. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* config: limit CONFIG_PERF_EVENTS to top-level generic configsTony Ambardar2021-01-251-1/+0
| | | | | | Remove redundant target-level settings. Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* x86: fix upgrade by emptying SUPPORTED_DEVICESAdrian Schmutzler2021-01-231-0/+1
| | | | | | | | | | | | | | | | | | | x86 uses append-metadata, but only for signing and not for the metadata itself. Since recently SUPPORTED_DEVICES was assigned with a global value and is not empty anymore, append-metadata will now actually put metadata into x86 images. This breaks sysupgrade on x86. To fix it for the moment, let's just empty SUPPORTED_DEVICES for this target again. In the long term, one should either not add metadata to the images if it is not desired, and/or remove the unintended fwtool check. Fixes: f52081bcf938 ("treewide: provide global default for SUPPORTED_DEVICES") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: drop empty kmod-ledtrig-* packagesSungbo Eo2021-01-151-2/+1
| | | | | | | | | | | | | | The following four led triggers are enabled in generic config. * kmod-ledtrig-default-on * kmod-ledtrig-heartbeat * kmod-ledtrig-netdev * kmod-ledtrig-timer Drop the packages and remove them from DEVICE_PACKAGES. There's no other package depending on them in this repo. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* x86: enable CONFIG_MMC_SDHCI_ACPI for x86_64Mengyang Li2020-12-031-0/+2
| | | | | | | | | | | | | | | | | | | | | Some x86_64 single board computer (including Atomic Pi) has onboard emmc, but requires CONFIG_MMC_SDHCI_ACPI driver to use or boot from it. Here is boot message for the mmc device [ 2.838008] mmc0: SDHCI controller on ACPI [80860F14:00] using ADMA [ 2.857536] mmc1: SDHCI controller on ACPI [80860F14:01] using ADMA [ 2.950019] mmc0: new HS200 MMC card at address 0001 [ 3.158271] mmcblk0: mmc0:0001 M52516 14.6 GiB [ 3.170290] mmcblk0boot0: mmc0:0001 M52516 partition 1 4.00 MiB [ 3.177191] mmcblk0boot1: mmc0:0001 M52516 partition 2 4.00 MiB [ 3.183963] mmcblk0rpmb: mmc0:0001 M52516 partition 3 4.00 MiB, \ chardev (248:0) Other lines changed in this config file are introduced by menuconfig. Signed-off-by: Mengyang Li <mayli.he@gmail.com>
* x86: generic: disable CONFIG_EFI_VARS Alberto Bursi2020-11-121-1/+1
| | | | | | | | | | | | | | | | | | | CONFIG_EFI_VARS has been disabled in 64bit x86 target in 2018 by the following commit b0a51dab8c5b8d40828a00b0c6d66450bf90f217 the same reasons apply to Generic target, so now it's disabled here too. Leaving it enabled is also blocking compile as a new symbol was added EFI_CUSTOM_SSDT_OVERLAYS that depends from CONFIG_EFI_VARS and the build system stops and waits for user input on what to do about it. The Legacy and Geode targets never had any EFI_xxx configs enabled so they don't have this issue Signed-off-by: Alberto Bursi <bobafetthotmail@gmail.com>
* x86: upgrade: make code comment appear as log linesYousong Zhou2020-11-111-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The comment content can be useful for readers of both the log and code Previously when dd command "records in/out" messages are not filtered like now with get_image_dd, it's not clear that these messages are for extracting boot sectors. E.g. Before == upgrade: Reading partition table from bootdisk... 37+26 records in 37+26 records out == upgrade: Reading partition table from image... After == upgrade: Reading partition table from bootdisk... == upgrade: Extract boot sector from the image 37+26 records in 37+26 records out == upgrade: Reading partition table from image... Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* x86: upgrade: use get_image_ddYousong Zhou2020-11-111-5/+5
| | | | | | | Ref: https://bugs.openwrt.org/index.php?do=details&task_id=3140 Reported-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> Reviewed-By: Philip Prindeville <philipp@redfish-solutions.com>
* x86: upgrade: use v function for writting logsYousong Zhou2020-11-111-8/+8
| | | | Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* x86: fix touching bootloader "upgraded" markYousong Zhou2020-11-021-1/+1
| | | | | | | | | | | | | | The mount point is "/tmp/boot", the path in the boot partition is "/boot/grub/upgraded". Origin of this mark b9c1cf16 ("x86: add preinit hook for bootloader upgrade") Fixes 32f675ca ("x86: fix grub-bios-setup fail during sysupgrade") Ref: https://bugs.openwrt.org/index.php?do=details&task_id=3140 Reported-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* kernel: remove support for kernel 4.19Adrian Schmutzler2020-10-309-1920/+0
| | | | | | | We use 5.4 on all targets by default, and 4.19 has never been released in a stable version. There is no reason to keep it. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: move CONFIG_F2FS_CHECK_FS to generic kernel configHauke Mehrtens2020-10-112-2/+0
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Move CONFIG_F2FS_FS_SECURITY to generic kernel configHauke Mehrtens2020-10-112-2/+0
| | | | | | | Move the CONFIG_F2FS_FS_SECURITY kernel configuration option to the generic kernel configuration. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: move F2FS_FS_XATTR and F2FS_STAT_FS symbols to genericDaniel Golle2020-10-092-3/+0
| | | | | | | | Similar to how it was already done for other filesystems' *_FS_XATTR kernel config symbols, also move CONFIG_F2FS_FS_XATTR=y and CONFIG_F2FS_STAT_FS=y to target/linux/generic. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: clean up XATTR config symbolsPaul Spooren2020-10-091-1/+0
| | | | | | | | | | | | | Extended attributes are required for overlayfs and have hence been long ago enabled for jffs2, but should be enabled unconditionally for all other filesystems which may potentially serve as overlayfs' upper directory. Previously it was inconsistently added in multiple targets. Add symbols to generic kernel config and remove all *_XATTR symbols from target configs. Signed-off-by: Paul Spooren <mail@aparcar.org> [keep things as they are for squashfs, improve commit message] Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: bump 5.4 to 5.4.63John Audia2020-09-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Manually merged: hack-5.4 230-openwrt_lzma_options.patch bcm27xx 950-0283-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch x86 011-tune_lzma_options.patch Remove upstreamed patches in collaboration with Ansuel Smith: ipq806x 093-1-v5.8-ipq806x-PCI-qcom-Add-missing-ipq806x-clocks-in-PCIe-driver.patch 093-2-v5.8-ipq806x-PCI-qcom-Change-duplicate-PCI-reset-to-phy-reset.patch 093-3-v5.8-ipq806x-PCI-qcom-Add-missing-reset-for-ipq806x.patch All other modifications made by update_kernel.sh Build-tested: bcm27xx/bcm2708, ipq806x, x86/64 Run-tested: ipq806x (R7800), x86/64 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> [update commit message/tested] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: set WATCHDOG_CORE dependency in kmod-hwmon-sch5627Adrian Schmutzler2020-08-244-4/+0
| | | | | | | | | | | | | | | | | | For many target we have added CONFIG_WATCHDOG_CORE=y to the target config due to the following error: Package kmod-hwmon-sch5627 is missing dependencies for the following libraries: watchdog.ko However, actually the proper way appears to be setting the dependency for the kmod-hwmon-sch5627 package, as the error message demands. Do this in this patch and remove the target config entries added due to this issue. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: Move CONFIG_IONIC to generic kernel configHauke Mehrtens2020-08-101-1/+0
| | | | | | | It is deactivated everywhere, just set this in the generic config. Acked-by: Yousong Zhou <yszhou4tech@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* Revert "procd: update to git HEAD"Daniel Golle2020-08-061-2/+16
| | | | | | This reverts commit e0e607f0d000e62c6af8d822d7c3f57c2a582136. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* procd: update to git HEADDaniel Golle2020-08-061-16/+2
| | | | | | | | | | | 47a9f0d service: add method to query available container features afbaba9 initd: attempt to mount cgroup2 ead60fe jail: use pidns semantics also for timens 759e9f8 jail: make use of BLOBMSG_CAST_INT64 for OCI rlimits 83053b6 instance: add instances into unified cgroup hierarchy 16159bb jail: parse OCI cgroups resources Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: unify CONFIG_GPIO_SYSFS in kernel configsFelix Fietkau2020-08-064-4/+0
| | | | | | Enable it for all platforms Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel/pcengines-apu2: detect apuv4 boardMatthew Gyurgyik2020-07-061-0/+50
| | | | | | | | | | | | Upstream commit 3d00da1de3 ("platform/x86: pcengines-apuv2: detect apuv4 board") On 5.4, this module fails on APUv4 due to non-matching DMI data. With this patch, the module will match DMI data for the APUv4. Signed-off-by: Matthew Gyurgyik <matthew@gyurgyik.io> [include upstream patch description] Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: Update kernel 4.19 to version 4.19.131Hauke Mehrtens2020-07-041-1/+1
| | | | | | | | | | | | | Fixes: - CVE-2020-10757 The "mtd: rawnand: Pass a nand_chip object to nand_release()" commit was backported which needed some adaptations to other code. Run tested: ath79 Build tested: ath79 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>