Re: [OpenWrt-Devel] GCC 7.4.0 ld LTO plugin issues with SDK
On 2019-01-02 8:58 p.m., Daniel F. Dickinson wrote: > On 2019-01-02 3:06 p.m., Daniel F. Dickinson wrote: >> Hi, >> >> With the SDK I'm getting errors with LTO -- at least for json-c LD is >> trying to load the *target's* LTO plugin instead of host. >> >> 7.4.0_musl_eabi/bin/../libexec/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/liblto_plugin.so: >> error loading plugin: >> /home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/bin/../libexec/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/liblto_plugin.so: >> invalid ELF header > So it turns out that for the SDK that it turns libraries into > library.bin and the original *.so* becomes a bash script. Apparently > GCC doesn't like that, at least for it's own plugins. Ok, building the SDK on Debian 9 solves the issue. The SDK built on Ubuntu 18.10 has the issue even if used on Debian 9, so it's the building of the SDK where the issue, whatever it is, occurs. As I have a handy Debian VM I'm not going to worry too much about it at the moment, unless there is a patch someone needs me to test. Regards, Daniel ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
[OpenWrt-Devel] [PATCH] ath79: ag71xx: Fix tx queue timeouts during ifup
On ath79 and UBNT Bullet M XW (ar9342) I was experiencing weird issues during network setup[1] which I was able to reproduce easily with following commands: uci set network.lan.ipaddr='192.168.1.20' uci commit network ifup lan Which resulted after some time in: ... WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:461 dev_watchdog+0x16c/0x280 NETDEV WATCHDOG: eth0 (ag71xx): transmit queue 0 timed out ... Sometimes I wasn't able to use networking anymore, sometimes it was enough to just ifdown/ifup lan and network was backup. On ar71xx it was all working just fine. I've found out, that it was happening because ag71xx_poll() wasn't called, thus the TX queue wasn't emptied. The ag71xx_poll() is being called from napi hrtimer, which is enabled by napi_schedule() in ar71xx_interrupt(), but since no interrupts were ever fired again after ag71xx_stop() was called, it was always leading to tx queue timeouts: *** ag71xx_hard_start_xmit() eth0: packet injected into TX queue eth0: raw intr=0001 TXPS POLL eth0: enable polling mode eth0: processing TX ring, flush=no eth0: disable polling mode, rx=1, tx=1,limit=32 ( `ifup lan done here` ) *** ag71xx_stop() *** ag71xx_open() *** ag71xx_hw_enable() IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready *** ag71xx_hard_start_xmit() eth0: packet injected into TX queue *** ag71xx_hard_start_xmit() eth0: packet injected into TX queue ... WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:320 dev_watchdog+0x164/0x274 So I've looked at ag71xx_stop() in ar71xx, added the missing bits to ath79 and fixed this issue. 1. https://github.com/openwrt/openwrt/pull/1635#issuecomment-448638246 Signed-off-by: Petr Štetiar --- .../ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c | 8 1 file changed, 8 insertions(+) diff --git a/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c b/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c index 70ca024..32e1e2a 100644 --- a/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c +++ b/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c @@ -805,12 +805,20 @@ err: static int ag71xx_stop(struct net_device *dev) { + unsigned long flags; struct ag71xx *ag = netdev_priv(dev); netif_carrier_off(dev); phy_stop(ag->phy_dev); ag71xx_hw_disable(ag); + spin_lock_irqsave(>lock, flags); + if (ag->link) { + ag->link = 0; + ag71xx_link_adjust(ag); + } + spin_unlock_irqrestore(>lock, flags); + return 0; } -- 1.9.1 ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Re: [OpenWrt-Devel] GCC 7.4.0 ld LTO plugin issues with SDK
On 2019-01-02 3:06 p.m., Daniel F. Dickinson wrote: > Hi, > > With the SDK I'm getting errors with LTO -- at least for json-c LD is > trying to load the *target's* LTO plugin instead of host. > > 7.4.0_musl_eabi/bin/../libexec/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/liblto_plugin.so: > error loading plugin: > /home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/bin/../libexec/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/liblto_plugin.so: > invalid ELF header So it turns out that for the SDK that it turns libraries into library.bin and the original *.so* becomes a bash script. Apparently GCC doesn't like that, at least for it's own plugins. Regards, Daniel ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
[OpenWrt-Devel] Flexible first-boot message
OpenWrt presently prints the following the first time it boots: === WARNING! = There is no root password defined on this device! Use the "passwd" command to set up a new password in order to prevent unauthorized SSH logins. -- This message is contained as a here document in /etc/profile. I am interested in changing this message on the images I build. It occured to me that an easy way to do this would be to move the message from the here document to something like /etc/finish-install. I could then overwrite /etc/finish-install with my message during the image-build process. Is there any appetite to do something like this? -- Mike :wq ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Re: [OpenWrt-Devel] GCC 7.4.0 ld LTO plugin issues with SDK
On 2019-01-02 3:06 p.m., Daniel F. Dickinson wrote: > Hi, > > With the SDK I'm getting errors with LTO -- at least for json-c LD is > trying to load the *target's* LTO plugin instead of host. > For reference the error in the previous maili is *in* the SDK. Same package being compiled for inclusion in the SDK has: configure:3318: $? = 0 configure:3307: arm-openwrt-linux-muslgnueabi-gcc -v >&5 Reading specs from /home/daniel/Build/openwrt-pi/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/lib/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/specs COLLECT_GCC=arm-openwrt-linux-muslgnueabi-gcc COLLECT_LTO_WRAPPER=/home/daniel/Build/openwrt-pi/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/libexec/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/lto-wrapper Target: arm-openwrt-linux-muslgnueabi Configured with: /home/daniel/Build/openwrt-pi/build_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/gcc-7.4.0/configure --with-bugurl=http://www.lede-project.org/bugs/ --with-pkgversion='OpenWrt GCC 7.4.0 r8970+3-5c4277ec37' --prefix=/home/daniel/Build/openwrt-pi/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=arm-openwrt-linux-muslgnueabi --with-gnu-ld --enable-target-optspace --disable-libgomp --disable-libmudflap --disable-multilib --disable-libmpx --disable-nls --without-isl --without-cloog --with-host-libstdcxx=-lstdc++ --with-gmp=/home/daniel/Build/openwrt-pi/staging_dir/host --with-mpfr=/home/daniel/Build/openwrt-pi/staging_dir/host --with-mpc=/home/daniel/Build/openwrt-pi/staging_dir/host --disable-decimal-float --with-diagnostics-color=auto-if-env --disable-libssp --enable-__cxa_atexit --with-float=hard --with-headers=/home/daniel/Build/openwrt-pi/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/include --disable-libsanitizer --enable-languages=c,c++ --enable-shared --enable-threads --with-slibdir=/home/daniel/Build/openwrt-pi/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/lib --enable-lto --with-libelf=/home/daniel/Build/openwrt-pi/staging_dir/host succeeds. So there is some issue with the SDK it seems. (At least on Ubuntu 18.10). ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
[OpenWrt-Devel] GCC 7.4.0 ld LTO plugin issues with SDK
Hi, With the SDK I'm getting errors with LTO -- at least for json-c LD is trying to load the *target's* LTO plugin instead of host. Not sure where to start looking for this. Some relevant config: 'like buildbot' when building SDK: all packages and kernel mods and target specific packages. Is LTO used by default normally or is some package (in base) enabling it, but it's not expected to the be normal case? Compile log below: Thread model: posix gcc version 7.4.0 (OpenWrt GCC 7.4.0 r8970+3-5c4277ec37) configure:3318: $? = 0 configure:3307: arm-openwrt-linux-muslgnueabi-gcc -V >&5 arm-openwrt-linux-muslgnueabi-gcc: error: unrecognized command line option '-V' arm-openwrt-linux-muslgnueabi-gcc: fatal error: no input files compilation terminated. configure:3318: $? = 1 configure:3307: arm-openwrt-linux-muslgnueabi-gcc -qversion >&5 arm-openwrt-linux-muslgnueabi-gcc: error: unrecognized command line option '-qversion'; did you mean '--version'? arm-openwrt-linux-muslgnueabi-gcc: fatal error: no input files compilation terminated. configure:3318: $? = 1 configure:3338: checking whether the C compiler works configure:3360: arm-openwrt-linux-muslgnueabi-gcc -Os -pipe -mcpu=arm1176jzf-s -mfpu=vfp -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=hard -iremap/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/build_dir/target-arm_arm1176jzf-s+vfp_musl_eabi/json-c-0.12.1:json-c-0.12.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -fpic -Wno-implicit-fallthrough -I/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/target-arm_arm1176jzf-s+vfp_musl_eabi/usr/include -I/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/target-arm_arm1176jzf-s+vfp_musl_eabi/include -I/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/usr/include -I/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/include/fortify -I/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/include -L/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/target-arm_arm1176jzf-s+vfp_musl_eabi/usr/lib -L/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/target-arm_arm1176jzf-s+vfp_musl_eabi/lib -L/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/usr/lib -L/home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/lib -znow -zrelro conftest.c >&5 /home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/bin/../lib/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/../../../../arm-openwrt-linux-muslgnueabi/bin/ld: /home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/bin/../libexec/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/liblto_plugin.so: error loading plugin: /home/daniel/Build/openwrt-sdk/cshoredwrt-sdk-19.01-1-brcm2708-bcm2708_gcc-7.4.0_musl_eabi.Linux-x86_64/staging_dir/toolchain-arm_arm1176jzf-s+vfp_gcc-7.4.0_musl_eabi/bin/../libexec/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/liblto_plugin.so: invalid ELF header collect2: error: ld returned 1 exit status configure:3364: $? = 1 configure:3402: result: no configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "json-c" | #define PACKAGE_TARNAME "json-c" | #define PACKAGE_VERSION "0.12.1" | #define PACKAGE_STRING "json-c 0.12.1" | #define PACKAGE_BUGREPORT "jso...@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "json-c" | #define VERSION "0.12.1" | /* end confdefs.h. */ Regards, Daniel ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
[OpenWrt-Devel] [PATCH 1/3] bzip2: fix hardening build
Set the LDFLAGS otherwise it will not get the target hardening flags or any other generic flags provided in the LDFLAGS Signed-off-by: Hauke Mehrtens --- package/utils/bzip2/Makefile | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package/utils/bzip2/Makefile b/package/utils/bzip2/Makefile index 9b5b824e71..d26e215757 100644 --- a/package/utils/bzip2/Makefile +++ b/package/utils/bzip2/Makefile @@ -56,14 +56,14 @@ define Package/bzip2/description endef TARGET_CFLAGS += \ - $(FPIC) \ - $(TARGET_LDFLAGS) + $(FPIC) CONFIGURE_ARGS += --prefix=/usr MAKE_FLAGS += \ -f Makefile-libbz2_so \ CFLAGS="$(TARGET_CFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS)" \ all define Build/InstallDev @@ -89,11 +89,11 @@ define Package/bzip2/install endef HOST_CFLAGS += \ - $(FPIC) \ - $(HOST_LDFLAGS) + $(FPIC) HOST_MAKE_FLAGS+= \ CFLAGS="$(HOST_CFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" \ all HOST_CONFIGURE_ARGS+= \ -- 2.19.2 ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
[OpenWrt-Devel] [PATCH 3/3] musl: Activate hardening features
This activates the hardening features controlled over the LDFLAGS Signed-off-by: Hauke Mehrtens --- toolchain/musl/common.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/toolchain/musl/common.mk b/toolchain/musl/common.mk index 234709103c..d48212f625 100644 --- a/toolchain/musl/common.mk +++ b/toolchain/musl/common.mk @@ -33,6 +33,7 @@ TARGET_CFLAGS:= $(filter-out -O%,$(TARGET_CFLAGS)) MUSL_CONFIGURE:= \ $(TARGET_CONFIGURE_OPTS) \ CFLAGS="$(TARGET_CFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS)" \ CROSS_COMPILE="$(TARGET_CROSS)" \ $(HOST_BUILD_DIR)/configure \ --prefix=/ \ -- 2.19.2 ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
[OpenWrt-Devel] [PATCH 2/3] gcc: Activate hardening features for libgcc
This includes the hardening.mk before the code gets compiled and then also sets the LDFLAGS for the libgcc and other applications. Signed-off-by: Hauke Mehrtens --- include/toolchain-build.mk | 1 + toolchain/gcc/common.mk| 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/include/toolchain-build.mk b/include/toolchain-build.mk index 883d74d25c..35d8c9380e 100644 --- a/include/toolchain-build.mk +++ b/include/toolchain-build.mk @@ -12,6 +12,7 @@ HOST_BUILD_PREFIX:=$(TOOLCHAIN_DIR) BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN) include $(INCLUDE_DIR)/host-build.mk +include $(INCLUDE_DIR)/hardening.mk HOST_STAMP_PREPARED=$(HOST_BUILD_DIR)/.prepared diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk index b75fce57ef..e3b3f90821 100644 --- a/toolchain/gcc/common.mk +++ b/toolchain/gcc/common.mk @@ -191,7 +191,8 @@ GCC_MAKE:= \ CFLAGS="$(HOST_CFLAGS)" \ CFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" \ CXXFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" \ - GOCFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" + GOCFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" \ + LDFLAGS_FOR_TARGET="$(TARGET_LDFLAGS)" define Host/SetToolchainInfo $(SED) 's,TARGET_CROSS=.*,TARGET_CROSS=$(REAL_GNU_TARGET_NAME)-,' $(TOOLCHAIN_DIR)/info.mk -- 2.19.2 ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
[OpenWrt-Devel] [PATCH] gdb: The signal definitions of musl and gdb collide
The kernel defines "struct sigcontext" in asm/sigcontext.h and musl libc defines it in signal.h which collides. Kernel 4.14 misses the definitions of struct user_sve_header so we still have to use the aarch64-sve-linux-sigcontext.h header file which also provides that and make sure aarch64-sve-linux-sigcontext.h does not provide the same headers as the kernel or musl. Fixes: FS#2040 Signed-off-by: Hauke Mehrtens --- .../gdb/patches/010-aarch64-headers.patch | 44 +++ 1 file changed, 44 insertions(+) create mode 100644 package/devel/gdb/patches/010-aarch64-headers.patch diff --git a/package/devel/gdb/patches/010-aarch64-headers.patch b/package/devel/gdb/patches/010-aarch64-headers.patch new file mode 100644 index 00..a718a8c6a4 --- /dev/null +++ b/package/devel/gdb/patches/010-aarch64-headers.patch @@ -0,0 +1,44 @@ +The signal definitions of musl and gdb collide + +The kernel defines "struct sigcontext" in asm/sigcontext.h and musl libc +defines it in signal.h which collides. +Kernel 4.14 misses the definitions of struct user_sve_header so we still +have to use the aarch64-sve-linux-sigcontext.h header file which also +provides that and make sure aarch64-sve-linux-sigcontext.h does not +provide the same headers as the kernel or musl. + +--- a/gdb/nat/aarch64-sve-linux-ptrace.h b/gdb/nat/aarch64-sve-linux-ptrace.h +@@ -20,12 +20,12 @@ + #ifndef AARCH64_SVE_LINUX_PTRACE_H + #define AARCH64_SVE_LINUX_PTRACE_H + +-#include ++#include + #include + #include + #include + +-#ifndef SVE_SIG_ZREGS_SIZE ++#ifndef SVE_PT_REGS_SVE + #include "aarch64-sve-linux-sigcontext.h" + #endif + +--- a/gdb/nat/aarch64-sve-linux-sigcontext.h b/gdb/nat/aarch64-sve-linux-sigcontext.h +@@ -19,6 +19,7 @@ + #ifndef AARCH64_SVE_LINUX_SIGCONTEXT_H + #define AARCH64_SVE_LINUX_SIGCONTEXT_H + ++#ifndef SVE_MAGIC + #define SVE_MAGIC 0x53564501 + + struct sve_context { +@@ -128,6 +129,7 @@ struct sve_context { + (SVE_SIG_FFR_OFFSET(vq) + SVE_SIG_FFR_SIZE(vq) - SVE_SIG_REGS_OFFSET) + + #define SVE_SIG_CONTEXT_SIZE(vq) (SVE_SIG_REGS_OFFSET + SVE_SIG_REGS_SIZE(vq)) ++#endif + + /* SVE/FP/SIMD state (NT_ARM_SVE) */ + -- 2.19.2 ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Re: [OpenWrt-Devel] [PATCH 0/7] procd: console hotplugging support
Hi, I'll save that for when I get back to it :) Here's how I packaged the g_cdc (ethernet+cdc-acm together) https://github.com/karlp/openwrt/commit/40c791f5bfbbf6825087db2fc87f88a73f7fa94c I've got a few other patches for gadgetmode, but some of it needs a bitmore testing yet, so I've not proposed it to openwrt yet. Cheers, Karl P Michael Heimpold wrote: > Hi Karl, > > if you want to test it, here are the missing pieces roughly > explained: > - I used kmod-usb-gadget-eth and kmod-usb-gadget-serial > I know that there is another (older?) kernel module which also provides > a network and console interface at the same time, but this must be > configured via kernel command line parameter if I understand correctly > so I've chosen to test this configfs approach > - add a line to inittab like this: >ttyGS0::askfirst:/usr/libexec/login.sh > - patch /etc/hotplug.json on your device like this: > > diff --git a/package/system/procd/files/hotplug.json > b/package/system/procd/ > files/hotplug.json > index 1c949bbea3..25806637cc 100644 > > --- a/package/system/procd/files/hotplug.json > > +++ b/package/system/procd/files/hotplug.json > > @@ -33,6 +33,10 @@ > > [ "load-firmware", "/lib/firmware" ], > > [ "return" ] > > ] > > + ], > > + [ "if", > > + [ "regex", "DEVNAME", "^tty[A-Za-z0-9]" ], > > + [ "start-console", "%DEVNAME%" ] > > ] > > ], > > "remove" : [ > > - I used a shell script found at > http://irq5.io/2016/12/22/raspberry-pi-zero-as-multiple-usb-gadgets/ > to configure the gadget > > I'll send a patch for hotplug.json after I got some feedback > for this procd stuff or better - in case this is merged, > because otherwise we have a dependency issue otherwise... > Another point on my list is auto-mounting of configfs to the > right place. I'm feeling that this should not be part of the > shell script but be done at a central place - still unsure > where to put it because configfs is an optional kernel module > and thus available later during boot... > > Best regards, > Michael > > Am Mittwoch, 2. Januar 2019, 12:38:30 CET schrieb Karl Palsson: > > Michael Heimpold wrote: > > > This series extends procd to allow starting consoles for > > > devices which are not present during boot or after kernel > > > module loading. This is for example the case when a USB gadget > > > serial device is created with configfs. Here the kernel module > > > is loaded but the tty device only appears after gadget is > > > configured. Having a console configured in inittab for e.g. > > > ttyGS0 does not work at the moment due to late appearing of > > > this device. > > > > Thanks for doing this, I had been planning on using this (console > > on gadget serial), and didn't even know it didn't work (yet) > > until your mails! Much appreciated! > > > > Cheers, > > Karl P > > > > signature.html Description: OpenPGP Digital Signature ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
[OpenWrt-Devel] [PATCH 3/4] x86: Copy for kernel 4.19
This copied to patches and the configuration for kernel 4.14 to kernel 4.19 without any manual modifications. Signed-off-by: Hauke Mehrtens --- target/linux/x86/64/config-4.19 | 433 +++ target/linux/x86/config-4.19 | 522 ++ target/linux/x86/generic/config-4.19 | 428 ++ target/linux/x86/geode/config-4.19| 145 + target/linux/x86/legacy/config-4.19 | 214 +++ .../patches-4.19/011-tune_lzma_options.patch | 22 + .../100-fix_cs5535_clockevt.patch | 12 + .../200-pcengines-apu2-reboot.patch | 19 + ...0-hwmon-w83627ehf-dont-claim-nct677x.patch | 30 + 9 files changed, 1825 insertions(+) create mode 100644 target/linux/x86/64/config-4.19 create mode 100644 target/linux/x86/config-4.19 create mode 100644 target/linux/x86/generic/config-4.19 create mode 100644 target/linux/x86/geode/config-4.19 create mode 100644 target/linux/x86/legacy/config-4.19 create mode 100644 target/linux/x86/patches-4.19/011-tune_lzma_options.patch create mode 100644 target/linux/x86/patches-4.19/100-fix_cs5535_clockevt.patch create mode 100644 target/linux/x86/patches-4.19/200-pcengines-apu2-reboot.patch create mode 100644 target/linux/x86/patches-4.19/800-hwmon-w83627ehf-dont-claim-nct677x.patch diff --git a/target/linux/x86/64/config-4.19 b/target/linux/x86/64/config-4.19 new file mode 100644 index 00..eef5383750 --- /dev/null +++ b/target/linux/x86/64/config-4.19 @@ -0,0 +1,433 @@ +CONFIG_64BIT=y +CONFIG_ACPI=y +CONFIG_ACPI_AC=y +CONFIG_ACPI_BATTERY=y +# CONFIG_ACPI_BGRT is not set +CONFIG_ACPI_BUTTON=y +# CONFIG_ACPI_CMPC is not set +CONFIG_ACPI_CONTAINER=y +CONFIG_ACPI_CPPC_LIB=y +CONFIG_ACPI_CPU_FREQ_PSS=y +# CONFIG_ACPI_CUSTOM_DSDT is not set +# CONFIG_ACPI_DEBUG is not set +# CONFIG_ACPI_DEBUGGER is not set +# CONFIG_ACPI_DOCK is not set +# CONFIG_ACPI_EC_DEBUGFS is not set +CONFIG_ACPI_FAN=y +CONFIG_ACPI_HOTPLUG_CPU=y +CONFIG_ACPI_HOTPLUG_IOAPIC=y +# CONFIG_ACPI_I2C_OPREGION is not set +CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y +# CONFIG_ACPI_PCI_SLOT is not set +CONFIG_ACPI_PROCESSOR=y +# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set +CONFIG_ACPI_PROCESSOR_CSTATE=y +CONFIG_ACPI_PROCESSOR_IDLE=y +# CONFIG_ACPI_PROCFS_POWER is not set +CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y +# CONFIG_ACPI_SBS is not set +CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y +CONFIG_ACPI_THERMAL=y +# CONFIG_ACPI_WMI is not set +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" +CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y +CONFIG_ARCH_HAS_ADD_PAGES=y +CONFIG_ARCH_HAS_KCOV=y +CONFIG_ARCH_HAS_PMEM_API=y +CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y +CONFIG_ARCH_HAS_ZONE_DEVICE=y +CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y +CONFIG_ARCH_MMAP_RND_BITS=28 +CONFIG_ARCH_MMAP_RND_BITS_MAX=32 +CONFIG_ARCH_MMAP_RND_BITS_MIN=28 +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SUPPORTS_INT128=y +CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_ARCH_WANTS_THP_SWAP=y +CONFIG_AUDIT_ARCH=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_GENERIC=y +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_BALLOON_COMPACTION=y +CONFIG_BLK_DEV_INTEGRITY=y +CONFIG_BLK_MQ_VIRTIO=y +# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set +CONFIG_CALGARY_IOMMU=y +CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y +CONFIG_CONNECTOR=y +# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +CONFIG_CPU_RMAP=y +CONFIG_CRC_T10DIF=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_AES_NI_INTEL=y +CONFIG_CRYPTO_AES_X86_64=y +# CONFIG_CRYPTO_BLOWFISH_X86_64 is not set +# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 is not set +# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 is not set +# CONFIG_CRYPTO_CAMELLIA_X86_64 is not set +# CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set +# CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set +# CONFIG_CRYPTO_CHACHA20_X86_64 is not set +CONFIG_CRYPTO_CRCT10DIF=y +# CONFIG_CRYPTO_CRCT10DIF_PCLMUL is not set +CONFIG_CRYPTO_CRYPTD=y +# CONFIG_CRYPTO_DES3_EDE_X86_64 is not set +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_GF128MUL=y +CONFIG_CRYPTO_GLUE_HELPER_X86=y +CONFIG_CRYPTO_LRW=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_POLY1305_X86_64 is not set +# CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set +# CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set +# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set +# CONFIG_CRYPTO_SHA1_MB is not set +# CONFIG_CRYPTO_SHA1_SSSE3 is not set +# CONFIG_CRYPTO_SHA256_MB is not set +# CONFIG_CRYPTO_SHA256_SSSE3 is not set +# CONFIG_CRYPTO_SHA512_MB is not set +# CONFIG_CRYPTO_SHA512_SSSE3 is not set +CONFIG_CRYPTO_SIMD=y +# CONFIG_CRYPTO_SKEIN is not set +# CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set +# CONFIG_CRYPTO_TWOFISH_X86_64 is not set +# CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set +CONFIG_CRYPTO_XTS=y +# CONFIG_DEBUG_HOTPLUG_CPU0 is not set +# CONFIG_DPTF_POWER is not set +# CONFIG_EARLY_PRINTK_EFI is not set +CONFIG_EFI=y +CONFIG_EFIVAR_FS=m +# CONFIG_EFI_CAPSULE_LOADER is not set +#
[OpenWrt-Devel] [PATCH 4/4] x86: Make patches 4.19 apply
This refreshed the configuration and the patches on top of kernel 4.19. The legacy and the genode target will not support PAE any more because they use a CPU type which does not support PAE, the generic sub target still supports PAE. Signed-off-by: Hauke Mehrtens --- target/linux/x86/64/config-4.19 | 38 +++--- target/linux/x86/config-4.19 | 70 +++ target/linux/x86/generic/config-4.19 | 48 ++--- target/linux/x86/geode/config-4.19| 16 + target/linux/x86/legacy/config-4.19 | 24 --- .../patches-4.19/011-tune_lzma_options.patch | 2 +- 6 files changed, 110 insertions(+), 88 deletions(-) diff --git a/target/linux/x86/64/config-4.19 b/target/linux/x86/64/config-4.19 index eef5383750..49b453e210 100644 --- a/target/linux/x86/64/config-4.19 +++ b/target/linux/x86/64/config-4.19 @@ -8,7 +8,6 @@ CONFIG_ACPI_BUTTON=y CONFIG_ACPI_CONTAINER=y CONFIG_ACPI_CPPC_LIB=y CONFIG_ACPI_CPU_FREQ_PSS=y -# CONFIG_ACPI_CUSTOM_DSDT is not set # CONFIG_ACPI_DEBUG is not set # CONFIG_ACPI_DEBUGGER is not set # CONFIG_ACPI_DOCK is not set @@ -18,6 +17,7 @@ CONFIG_ACPI_HOTPLUG_CPU=y CONFIG_ACPI_HOTPLUG_IOAPIC=y # CONFIG_ACPI_I2C_OPREGION is not set CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y +CONFIG_ACPI_LPIT=y # CONFIG_ACPI_PCI_SLOT is not set CONFIG_ACPI_PROCESSOR=y # CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set @@ -26,15 +26,21 @@ CONFIG_ACPI_PROCESSOR_IDLE=y # CONFIG_ACPI_PROCFS_POWER is not set CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y # CONFIG_ACPI_SBS is not set +CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y +# CONFIG_ACPI_TAD is not set CONFIG_ACPI_THERMAL=y # CONFIG_ACPI_WMI is not set CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y CONFIG_ARCH_HAS_ADD_PAGES=y CONFIG_ARCH_HAS_KCOV=y CONFIG_ARCH_HAS_PMEM_API=y +CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y +CONFIG_ARCH_HAS_UACCESS_MCSAFE=y CONFIG_ARCH_HAS_ZONE_DEVICE=y CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y CONFIG_ARCH_MMAP_RND_BITS=28 @@ -53,6 +59,7 @@ CONFIG_BALLOON_COMPACTION=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_MQ_VIRTIO=y # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set +CONFIG_BTT=y CONFIG_CALGARY_IOMMU=y CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y CONFIG_CONNECTOR=y @@ -92,18 +99,17 @@ CONFIG_CRYPTO_NULL2=y # CONFIG_CRYPTO_SHA512_MB is not set # CONFIG_CRYPTO_SHA512_SSSE3 is not set CONFIG_CRYPTO_SIMD=y -# CONFIG_CRYPTO_SKEIN is not set # CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set # CONFIG_CRYPTO_TWOFISH_X86_64 is not set # CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set CONFIG_CRYPTO_XTS=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set # CONFIG_DPTF_POWER is not set +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y # CONFIG_EARLY_PRINTK_EFI is not set CONFIG_EFI=y CONFIG_EFIVAR_FS=m # CONFIG_EFI_CAPSULE_LOADER is not set -# CONFIG_EFI_DEV_PATH_PARSER is not set CONFIG_EFI_ESRT=y # CONFIG_EFI_FAKE_MEMMAP is not set # CONFIG_EFI_MIXED is not set @@ -113,6 +119,7 @@ CONFIG_EFI_RUNTIME_WRAPPERS=y CONFIG_EFI_STUB=y # CONFIG_EFI_TEST is not set # CONFIG_EFI_VARS is not set +CONFIG_FAILOVER=y CONFIG_FB=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_FILLRECT=y @@ -122,7 +129,6 @@ CONFIG_FB_DEFERRED_IO=y CONFIG_FB_EFI=y CONFIG_FB_HYPERV=y CONFIG_FB_MODE_HELPERS=y -# CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA is not set CONFIG_FB_SIMPLE=y CONFIG_FB_SYS_COPYAREA=y CONFIG_FB_SYS_FILLRECT=y @@ -155,18 +161,18 @@ CONFIG_GPIO_SYSFS=y CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y CONFIG_HAVE_ACPI_APEI=y CONFIG_HAVE_ACPI_APEI_NMI=y -# CONFIG_HAVE_AOUT is not set +CONFIG_HAVE_ARCH_HUGE_VMAP=y CONFIG_HAVE_ARCH_KASAN=y CONFIG_HAVE_ARCH_SOFT_DIRTY=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y CONFIG_HAVE_ARCH_VMAP_STACK=y CONFIG_HAVE_CONTEXT_TRACKING=y -CONFIG_HAVE_EBPF_JIT=y CONFIG_HAVE_FENTRY=y -# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y CONFIG_HAVE_LIVEPATCH=y CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_HAVE_RCU_TABLE_FREE=y +CONFIG_HAVE_RCU_TABLE_INVALIDATE=y CONFIG_HAVE_RELIABLE_STACKTRACE=y CONFIG_HAVE_STACK_VALIDATION=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y @@ -205,6 +211,7 @@ CONFIG_HYPERV_UTILS=y # CONFIG_HYPERV_VSOCKETS is not set CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y +# CONFIG_I2C_MULTI_INSTANTIATE is not set # CONFIG_IA32_EMULATION is not set CONFIG_ILLEGAL_POINTER_VALUE=0xdead CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y @@ -219,6 +226,7 @@ CONFIG_INTEL_SOC_DTS_IOSF_CORE=y CONFIG_INTEL_SOC_DTS_THERMAL=y # CONFIG_INTEL_TURBO_MAX_3 is not set # CONFIG_IOMMU_DEBUG is not set +CONFIG_IOMMU_HELPER=y CONFIG_IOSF_MBI=y # CONFIG_IOSF_MBI_DEBUG is not set # CONFIG_ISCSI_IBFT_FIND is not set @@ -228,8 +236,8 @@ CONFIG_KVM_GUEST=y # CONFIG_LCD_CLASS_DEVICE is not set CONFIG_LEDS_GPIO=y # CONFIG_LEGACY_VSYSCALL_EMULATE is not set -# CONFIG_LEGACY_VSYSCALL_NATIVE is
[OpenWrt-Devel] [PATCH 2/4] x86: Refresh kernel 4.14 configuration
This refreshed the kernel configuration for kernel 4.14. First this was run for the legacy target: make kernel_oldconfig Then for all targets including the legacy target this was run: make kernel_oldconfig CONFIG_TARGET=subtarget The option CONFIG_104_QUAD_8 was added to the generic configuration because it would have been automatically removed. Signed-off-by: Hauke Mehrtens --- target/linux/generic/config-4.14 | 1 + target/linux/x86/64/config-4.14 | 13 + target/linux/x86/config-4.14 | 4 ++-- target/linux/x86/generic/config-4.14 | 13 - target/linux/x86/geode/config-4.14 | 1 - target/linux/x86/legacy/config-4.14 | 6 -- 6 files changed, 12 insertions(+), 26 deletions(-) diff --git a/target/linux/generic/config-4.14 b/target/linux/generic/config-4.14 index 617b5159bb..ffb375cb37 100644 --- a/target/linux/generic/config-4.14 +++ b/target/linux/generic/config-4.14 @@ -1,3 +1,4 @@ +# CONFIG_104_QUAD_8 is not set CONFIG_32BIT=y # CONFIG_6LOWPAN is not set # CONFIG_6LOWPAN_DEBUGFS is not set diff --git a/target/linux/x86/64/config-4.14 b/target/linux/x86/64/config-4.14 index ee14a36573..eef5383750 100644 --- a/target/linux/x86/64/config-4.14 +++ b/target/linux/x86/64/config-4.14 @@ -82,7 +82,6 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y CONFIG_CRYPTO_NULL2=y # CONFIG_CRYPTO_POLY1305_X86_64 is not set -# CONFIG_CRYPTO_SALSA20_X86_64 is not set # CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set # CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set # CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set @@ -103,7 +102,6 @@ CONFIG_CRYPTO_XTS=y # CONFIG_EARLY_PRINTK_EFI is not set CONFIG_EFI=y CONFIG_EFIVAR_FS=m -# CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_DEV_PATH_PARSER is not set CONFIG_EFI_ESRT=y @@ -158,6 +156,7 @@ CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y CONFIG_HAVE_ACPI_APEI=y CONFIG_HAVE_ACPI_APEI_NMI=y # CONFIG_HAVE_AOUT is not set +CONFIG_HAVE_ARCH_KASAN=y CONFIG_HAVE_ARCH_SOFT_DIRTY=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y CONFIG_HAVE_ARCH_VMAP_STACK=y @@ -168,6 +167,7 @@ CONFIG_HAVE_FENTRY=y CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y CONFIG_HAVE_LIVEPATCH=y CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_HAVE_RELIABLE_STACKTRACE=y CONFIG_HAVE_STACK_VALIDATION=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HIBERNATE_CALLBACKS=y @@ -181,6 +181,7 @@ CONFIG_HOTPLUG_PCI_ACPI=y # CONFIG_HOTPLUG_PCI_CPCI is not set # CONFIG_HOTPLUG_PCI_PCIE is not set # CONFIG_HOTPLUG_PCI_SHPC is not set +CONFIG_HOTPLUG_SMT=y CONFIG_HPET=y CONFIG_HPET_MMAP=y # CONFIG_HP_ACCEL is not set @@ -204,7 +205,6 @@ CONFIG_HYPERV_UTILS=y # CONFIG_HYPERV_VSOCKETS is not set CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y -# CONFIG_I7300_IDLE is not set # CONFIG_IA32_EMULATION is not set CONFIG_ILLEGAL_POINTER_VALUE=0xdead CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y @@ -331,6 +331,7 @@ CONFIG_SPARSEMEM_EXTREME=y CONFIG_SPARSEMEM_MANUAL=y # CONFIG_SPARSEMEM_VMEMMAP is not set CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_STACK_VALIDATION=y # CONFIG_SURFACE_PRO3_BUTTON is not set CONFIG_SWIOTLB_XEN=y CONFIG_SYS_HYPERVISOR=y @@ -340,14 +341,10 @@ CONFIG_THERMAL_WRITABLE_TRIPS=y # CONFIG_TOSHIBA_BT_RFKILL is not set CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y -# CONFIG_UNWINDER_ORC is not set CONFIG_UCS2_STRING=y # CONFIG_UNISYSSPAR is not set -CONFIG_USB_OHCI_HCD_PCI=y +# CONFIG_UNWINDER_ORC is not set CONFIG_USB_STORAGE=y -CONFIG_USB_XHCI_HCD=y -CONFIG_USB_XHCI_PCI=y -# CONFIG_USB_XHCI_PLATFORM is not set CONFIG_VGACON_SOFT_SCROLLBACK=y # CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64 diff --git a/target/linux/x86/config-4.14 b/target/linux/x86/config-4.14 index 4a81cbc6b8..c31783eb8f 100644 --- a/target/linux/x86/config-4.14 +++ b/target/linux/x86/config-4.14 @@ -40,7 +40,6 @@ CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y -CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_USES_PG_UNCACHED=y @@ -182,7 +181,6 @@ CONFIG_HAVE_ARCH_AUDITSYSCALL=y CONFIG_HAVE_ARCH_HUGE_VMAP=y CONFIG_HAVE_ARCH_JUMP_LABEL=y CONFIG_HAVE_ARCH_KGDB=y -CONFIG_HAVE_ARCH_KMEMCHECK=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y @@ -228,6 +226,7 @@ CONFIG_HAVE_PERF_EVENTS_NMI=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HAVE_RCU_TABLE_FREE=y +CONFIG_HAVE_RCU_TABLE_INVALIDATE=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y @@ -312,6 +311,7 @@ CONFIG_MICROCODE=y CONFIG_MICROCODE_AMD=y CONFIG_MICROCODE_INTEL=y CONFIG_MICROCODE_OLD_INTERFACE=y +CONFIG_MIGRATION=y # CONFIG_MK6 is not set # CONFIG_MK7 is not set # CONFIG_MK8 is not set diff --git
[OpenWrt-Devel] [PATCH 1/4] x86: Use kernel specific subtarget configurations
This makes it possible to use different sub target configurations for kernel 4.19 for example. To support kernel 4.9 and kernel 4.14 with the same configuration file already needed some extra work. Signed-off-by: Hauke Mehrtens --- target/linux/x86/64/{config-default => config-4.14} | 0 target/linux/x86/generic/{config-default => config-4.14} | 0 target/linux/x86/geode/{config-default => config-4.14} | 0 target/linux/x86/legacy/{config-default => config-4.14} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename target/linux/x86/64/{config-default => config-4.14} (100%) rename target/linux/x86/generic/{config-default => config-4.14} (100%) rename target/linux/x86/geode/{config-default => config-4.14} (100%) rename target/linux/x86/legacy/{config-default => config-4.14} (100%) diff --git a/target/linux/x86/64/config-default b/target/linux/x86/64/config-4.14 similarity index 100% rename from target/linux/x86/64/config-default rename to target/linux/x86/64/config-4.14 diff --git a/target/linux/x86/generic/config-default b/target/linux/x86/generic/config-4.14 similarity index 100% rename from target/linux/x86/generic/config-default rename to target/linux/x86/generic/config-4.14 diff --git a/target/linux/x86/geode/config-default b/target/linux/x86/geode/config-4.14 similarity index 100% rename from target/linux/x86/geode/config-default rename to target/linux/x86/geode/config-4.14 diff --git a/target/linux/x86/legacy/config-default b/target/linux/x86/legacy/config-4.14 similarity index 100% rename from target/linux/x86/legacy/config-default rename to target/linux/x86/legacy/config-4.14 -- 2.19.2 ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Re: [OpenWrt-Devel] [PATCH 0/7] procd: console hotplugging support
Hi Karl, if you want to test it, here are the missing pieces roughly explained: - I used kmod-usb-gadget-eth and kmod-usb-gadget-serial I know that there is another (older?) kernel module which also provides a network and console interface at the same time, but this must be configured via kernel command line parameter if I understand correctly so I've chosen to test this configfs approach - add a line to inittab like this: ttyGS0::askfirst:/usr/libexec/login.sh - patch /etc/hotplug.json on your device like this: diff --git a/package/system/procd/files/hotplug.json b/package/system/procd/ files/hotplug.json index 1c949bbea3..25806637cc 100644 --- a/package/system/procd/files/hotplug.json +++ b/package/system/procd/files/hotplug.json @@ -33,6 +33,10 @@ [ "load-firmware", "/lib/firmware" ], [ "return" ] ] + ], + [ "if", + [ "regex", "DEVNAME", "^tty[A-Za-z0-9]" ], + [ "start-console", "%DEVNAME%" ] ] ], "remove" : [ - I used a shell script found at http://irq5.io/2016/12/22/raspberry-pi-zero-as-multiple-usb-gadgets/ to configure the gadget I'll send a patch for hotplug.json after I got some feedback for this procd stuff or better - in case this is merged, because otherwise we have a dependency issue otherwise... Another point on my list is auto-mounting of configfs to the right place. I'm feeling that this should not be part of the shell script but be done at a central place - still unsure where to put it because configfs is an optional kernel module and thus available later during boot... Best regards, Michael Am Mittwoch, 2. Januar 2019, 12:38:30 CET schrieb Karl Palsson: > Michael Heimpold wrote: > > This series extends procd to allow starting consoles for > > devices which are not present during boot or after kernel > > module loading. This is for example the case when a USB gadget > > serial device is created with configfs. Here the kernel module > > is loaded but the tty device only appears after gadget is > > configured. Having a console configured in inittab for e.g. > > ttyGS0 does not work at the moment due to late appearing of > > this device. > > Thanks for doing this, I had been planning on using this (console > on gadget serial), and didn't even know it didn't work (yet) > until your mails! Much appreciated! > > Cheers, > Karl P ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
[OpenWrt-Devel] [PATCH v2 firewall3] zones: add zone identifying local traffic in raw OUTPUT chain
Add zone chains identifying local generated traffic; either by configuring a loopback device or as subnet a loopback address; in the raw OUTPUT chain as local generated traffic is passing this chain. This allows helpers to be used for local generated traffic. Signed-off-by: Alin Nastac Signed-off-by: Hans Dedecker --- v2: move check functions to util.c utils.c | 38 ++ utils.h | 5 + zones.c | 14 +- 3 files changed, 52 insertions(+), 5 deletions(-) diff --git a/utils.c b/utils.c index 4f892a7..e5908f9 100644 --- a/utils.c +++ b/utils.c @@ -17,6 +17,10 @@ */ #define _GNU_SOURCE + +#include +#include + #include "utils.h" #include "options.h" @@ -933,3 +937,37 @@ fw3_protoname(void *proto) return pe->p_name; } + +bool +fw3_check_loopback_dev(const char *name) +{ + struct ifreq ifr; + int s = socket(AF_LOCAL, SOCK_DGRAM, 0); + bool rv = false; + + memset(, 0, sizeof(ifr)); + strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name) - 1); + + if (s < 0 || ioctl(s, SIOCGIFFLAGS, ) < 0) + goto out; + + if (ifr.ifr_flags & IFF_LOOPBACK) + rv = true; +out: + return rv; +} + +bool +fw3_check_loopback_addr(struct fw3_address *addr) +{ + if (addr->family == FW3_FAMILY_V4 && + (ntohl(addr->address.v4.s_addr) >> IN_CLASSA_NSHIFT) == IN_LOOPBACKNET) + return true; + + if (addr->family == FW3_FAMILY_V6 && !addr->range && + fw3_netmask2bitlen(FW3_FAMILY_V6, >mask.v6) == 128 && + IN6_IS_ADDR_LOOPBACK(>address.v6)) + return true; + + return false; +} diff --git a/utils.h b/utils.h index c8ab0e5..1ada0dd 100644 --- a/utils.h +++ b/utils.h @@ -44,6 +44,8 @@ extern bool fw3_pr_debug; +struct fw3_address; + void warn_elem(struct uci_element *e, const char *format, ...); void warn(const char *format, ...); void error(const char *format, ...); @@ -120,4 +122,7 @@ bool fw3_attr_parse_name_type(struct blob_attr *entry, const char **name, const const char * fw3_protoname(void *proto); +bool fw3_check_loopback_dev(const char *name); + +bool fw3_check_loopback_addr(struct fw3_address *addr); #endif diff --git a/zones.c b/zones.c index 505ab20..4f2b1e4 100644 --- a/zones.c +++ b/zones.c @@ -98,7 +98,6 @@ const struct fw3_option fw3_zone_opts[] = { { } }; - static void check_policy(struct uci_element *e, enum fw3_flag *pol, enum fw3_flag def, const char *name) @@ -557,22 +556,27 @@ print_interface_rule(struct fw3_ipt_handle *handle, struct fw3_state *state, } else if (handle->table == FW3_TABLE_RAW) { + bool loopback_dev = (dev != NULL && !dev->any && +!dev->invert && fw3_check_loopback_dev(dev->name)); + char *chain = loopback_dev || (sub != NULL && !sub->invert && fw3_check_loopback_addr(sub)) ? + "OUTPUT" : "PREROUTING"; + if (has(zone->flags, handle->family, FW3_FLAG_HELPER)) { - r = fw3_ipt_rule_create(handle, NULL, dev, NULL, sub, NULL); + r = fw3_ipt_rule_create(handle, NULL, loopback_dev ? NULL : dev, NULL, sub, NULL); fw3_ipt_rule_comment(r, "%s CT helper assignment", zone->name); fw3_ipt_rule_target(r, "zone_%s_helper", zone->name); fw3_ipt_rule_extra(r, zone->extra_src); - fw3_ipt_rule_replace(r, "PREROUTING"); + fw3_ipt_rule_replace(r, chain); } if (has(zone->flags, handle->family, FW3_FLAG_NOTRACK)) { - r = fw3_ipt_rule_create(handle, NULL, dev, NULL, sub, NULL); + r = fw3_ipt_rule_create(handle, NULL, loopback_dev ? NULL : dev, NULL, sub, NULL); fw3_ipt_rule_comment(r, "%s CT bypass", zone->name); fw3_ipt_rule_target(r, "zone_%s_notrack", zone->name); fw3_ipt_rule_extra(r, zone->extra_src); - fw3_ipt_rule_replace(r, "PREROUTING"); + fw3_ipt_rule_replace(r, chain); } } } -- 2.19.1 ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel