Merge Official Source
This commit is contained in:
commit
b70252d831
79
package/libs/libselinux/Makefile
Normal file
79
package/libs/libselinux/Makefile
Normal file
@ -0,0 +1,79 @@
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libselinux
|
||||
PKG_VERSION:=3.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/20200710
|
||||
PKG_HASH:=ea5dcbb4d859e3f999c26a13c630da2f16dff9462e3cc8cb7b458ac157d112e7
|
||||
HOST_BUILD_DEPENDS:=libsepol/host pcre/host
|
||||
|
||||
PKG_MAINTAINER:=Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/libselinux
|
||||
SECTION:=libs
|
||||
DEPENDS:=+libsepol +libpcre +musl-fts
|
||||
CATEGORY:=Libraries
|
||||
TITLE:=Runtime SELinux library
|
||||
URL:=http://selinuxproject.org/page/Main_Page
|
||||
endef
|
||||
|
||||
define Package/libselinux/description
|
||||
libselinux is the runtime SELinux library that provides
|
||||
interfaces (e.g. library functions for the SELinux kernel
|
||||
APIs like getcon(), other support functions like
|
||||
getseuserbyname()) to SELinux-aware applications. libselinux
|
||||
may use the shared libsepol to manipulate the binary policy
|
||||
if necessary (e.g. to downgrade the policy format to an
|
||||
older version supported by the kernel) when loading policy.
|
||||
endef
|
||||
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
||||
# Needed to link libselinux utilities, which link against
|
||||
# libselinux.so, which indirectly depends on libpcre.so, installed in
|
||||
# $(STAGING_DIR_HOSTPKG).
|
||||
HOST_LDFLAGS += -Wl,-rpath="$(STAGING_DIR_HOSTPKG)/lib"
|
||||
|
||||
HOST_MAKE_FLAGS += \
|
||||
PREFIX=$(STAGING_DIR_HOSTPKG) \
|
||||
SHLIBDIR=$(STAGING_DIR_HOSTPKG)/lib
|
||||
|
||||
MAKE_FLAGS += \
|
||||
FTS_LDLIBS=-lfts \
|
||||
SHLIBDIR=/usr/lib \
|
||||
|
||||
define Build/Compile
|
||||
$(call Build/Compile/Default,all)
|
||||
endef
|
||||
|
||||
define Build/Install
|
||||
$(call Build/Install/Default,install)
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libselinux.pc $(1)/usr/lib/pkgconfig/
|
||||
$(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libselinux.pc
|
||||
$(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libselinux.pc
|
||||
endef
|
||||
|
||||
define Package/libselinux/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libselinux.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
$(eval $(call HostBuild))
|
||||
$(eval $(call BuildPackage,libselinux))
|
||||
66
package/libs/libsepol/Makefile
Normal file
66
package/libs/libsepol/Makefile
Normal file
@ -0,0 +1,66 @@
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libsepol
|
||||
PKG_VERSION:=3.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/20200710
|
||||
PKG_HASH:=ae6778d01443fdd38cd30eeee846494e19f4d407b09872580372f4aa4bf8a3cc
|
||||
|
||||
PKG_MAINTAINER:=Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/libsepol
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
TITLE:=SELinux binary policy manipulation library
|
||||
URL:=http://selinuxproject.org/page/Main_Page
|
||||
endef
|
||||
|
||||
define Package/libsepol/description
|
||||
Libsepol is the binary policy manipulation library. It doesn't
|
||||
depend upon or use any of the other SELinux components.
|
||||
endef #'
|
||||
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
||||
HOST_MAKE_FLAGS += \
|
||||
PREFIX=$(STAGING_DIR_HOSTPKG) \
|
||||
SHLIBDIR=$(STAGING_DIR_HOSTPKG)/lib
|
||||
|
||||
MAKE_FLAGS += \
|
||||
SHLIBDIR=/usr/lib
|
||||
|
||||
define Build/Compile
|
||||
$(call Build/Compile/Default,all)
|
||||
endef
|
||||
|
||||
define Build/Install
|
||||
$(call Build/Install/Default,install)
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libsepol.pc $(1)/usr/lib/pkgconfig/
|
||||
$(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libsepol.pc
|
||||
$(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libsepol.pc
|
||||
endef
|
||||
|
||||
define Package/libsepol/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libsepol.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
$(eval $(call HostBuild))
|
||||
$(eval $(call BuildPackage,libsepol))
|
||||
60
package/libs/musl-fts/Makefile
Normal file
60
package/libs/musl-fts/Makefile
Normal file
@ -0,0 +1,60 @@
|
||||
#
|
||||
# Copyright (C) 2017 Lucian Cristian <lucian.cristian@gmail.com>
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
# updated to work with latest source from abrasive
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=musl-fts
|
||||
PKG_VERSION:=1.2.7
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/pullmoll/musl-fts.git
|
||||
PKG_SOURCE_VERSION:=0bde52df588e8969879a2cae51c3a4774ec62472
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_MIRROR_HASH:=29c62a600128e9189b1b2e1aea568546178eedf739527f657873b3b773072ecb
|
||||
|
||||
PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
|
||||
|
||||
PKG_LICENSE:=LGPL-2.1
|
||||
PKG_LICENSE_FILES:=COPYING AUTHORS
|
||||
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_REMOVE_FILES:=autogen.sh
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/musl-fts
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
TITLE:=fts implementation for musl libc
|
||||
URL:=https://github.com/pullmoll/musl-fts
|
||||
DEPENDS:= +libpthread
|
||||
endef
|
||||
|
||||
define Package/musl-fts/description
|
||||
The musl-fts package implements the fts(3) functions fts_open, fts_read, fts_children, fts_set and fts_close, which are missing in musl libc.
|
||||
endef
|
||||
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/fts.h $(1)/usr/include/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfts.so* $(1)/usr/lib/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/musl-fts.pc $(1)/usr/lib/pkgconfig/
|
||||
endef
|
||||
|
||||
define Package/musl-fts/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfts.so* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,musl-fts))
|
||||
11
package/libs/pcre/Config.in
Normal file
11
package/libs/pcre/Config.in
Normal file
@ -0,0 +1,11 @@
|
||||
config PCRE_JIT_ENABLED
|
||||
bool
|
||||
depends on PACKAGE_libpcre && (arm || i386 || i686 || x86_64 || mips || mipsel || powerpc || sparc)
|
||||
default y if (arm || i686 || x86_64)
|
||||
prompt "Enable JIT compiler support"
|
||||
help
|
||||
Enable JIT (Just-In-Time) compiler support.
|
||||
|
||||
Enabling this option can give an about 10x performance increase on JIT operations. It can be desireable for e.g. high performance Apache mod_rewrite or HA-Proxy reqrep operations.
|
||||
|
||||
However, JIT should _only_ be enabled on architectures that are supported. Enabling JIT on unsupported platforms will result in a compilation failure. A list of supported architectures can be found here: https://pcre.org/original/doc/html/pcrejit.html#SEC3 .
|
||||
119
package/libs/pcre/Makefile
Normal file
119
package/libs/pcre/Makefile
Normal file
@ -0,0 +1,119 @@
|
||||
#
|
||||
# Copyright (C) 2006-2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=pcre
|
||||
PKG_VERSION:=8.44
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
|
||||
PKG_HASH:=19108658b23b3ec5058edc9f66ac545ea19f9537234be1ec62b714c84399366d
|
||||
|
||||
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
PKG_LICENSE_FILES:=LICENCE
|
||||
PKG_CPE_ID:=cpe:/a:pcre:pcre
|
||||
|
||||
PKG_INSTALL:=1
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
PKG_CONFIG_DEPENDS:=\
|
||||
CONFIG_PACKAGE_libpcrecpp \
|
||||
CONFIG_PCRE_JIT_ENABLED
|
||||
|
||||
include $(INCLUDE_DIR)/uclibc++.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/libpcre/default
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
URL:=https://www.pcre.org/
|
||||
endef
|
||||
|
||||
define Package/libpcre/config
|
||||
source "$(SOURCE)/Config.in"
|
||||
endef
|
||||
|
||||
define Package/libpcre
|
||||
$(call Package/libpcre/default)
|
||||
TITLE:=A Perl Compatible Regular Expression library
|
||||
endef
|
||||
|
||||
define Package/libpcre16
|
||||
$(call Package/libpcre/default)
|
||||
TITLE:=A Perl Compatible Regular Expression library (16bit support)
|
||||
endef
|
||||
|
||||
define Package/libpcre32
|
||||
$(call Package/libpcre/default)
|
||||
TITLE:=A Perl Compatible Regular Expression library (32bit support)
|
||||
endef
|
||||
|
||||
define Package/libpcrecpp
|
||||
$(call Package/libpcre/default)
|
||||
TITLE:=C++ wrapper for Perl Compatible Regular Expression library
|
||||
DEPENDS:=+libpcre $(CXX_DEPENDS)
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += $(FPIC)
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
--enable-utf8 \
|
||||
--enable-unicode-properties \
|
||||
--enable-pcre16 \
|
||||
--enable-pcre32 \
|
||||
$(if $(CONFIG_PCRE_JIT_ENABLED),--enable-jit,--disable-jit) \
|
||||
--with-match-limit-recursion=16000 \
|
||||
$(if $(CONFIG_PACKAGE_libpcrecpp),--enable,--disable)-cpp
|
||||
|
||||
MAKE_FLAGS += \
|
||||
CFLAGS="$(TARGET_CFLAGS)"
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pcre-config $(1)/usr/bin/
|
||||
|
||||
$(INSTALL_DIR) $(2)/bin
|
||||
$(LN) $(STAGING_DIR)/usr/bin/pcre-config $(2)/bin
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/include
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/pcre*.h $(1)/usr/include/
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre*.{a,so*} $(1)/usr/lib/
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libpcre*.pc $(1)/usr/lib/pkgconfig/
|
||||
endef
|
||||
|
||||
define Package/libpcre/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre{,posix}.so.* $(1)/usr/lib/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre.so $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/libpcre16/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre16.so* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/libpcre32/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre32.so* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/libpcrecpp/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcrecpp.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,libpcre))
|
||||
$(eval $(call BuildPackage,libpcre16))
|
||||
$(eval $(call BuildPackage,libpcre32))
|
||||
$(eval $(call BuildPackage,libpcrecpp))
|
||||
@ -0,0 +1,11 @@
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -244,7 +244,7 @@ check_elf()
|
||||
check_selinux()
|
||||
# SELinux is a compile time option in the ss utility
|
||||
{
|
||||
- if ${PKG_CONFIG} libselinux --exists; then
|
||||
+ if [ "${HAVE_SELINUX}" = "y" ] && ${PKG_CONFIG} libselinux --exists; then
|
||||
echo "HAVE_SELINUX:=y" >>$CONFIG
|
||||
echo "yes"
|
||||
|
||||
@ -41,18 +41,34 @@ TARGET_LDFLAGS += $(if $(CONFIG_USE_GLIBC),-lrt)
|
||||
TARGET_CFLAGS += -flto
|
||||
TARGET_LDFLAGS += -flto
|
||||
|
||||
define Package/procd
|
||||
define Package/procd/Default
|
||||
SECTION:=base
|
||||
CATEGORY:=Base system
|
||||
DEPENDS:=+ubusd +ubus +libjson-script +ubox +USE_GLIBC:librt +libubox +libubus +libblobmsg-json +libjson-c +PACKAGE_libselinux:libselinux
|
||||
DEPENDS:=+ubusd +ubus +libjson-script +ubox +USE_GLIBC:librt +libubox \
|
||||
+libubus +libblobmsg-json +libjson-c
|
||||
TITLE:=OpenWrt system process manager
|
||||
USERID:=:dialout=20 :audio=29
|
||||
endef
|
||||
|
||||
define Package/procd
|
||||
$(call Package/procd/Default)
|
||||
VARIANT:=default
|
||||
CONFLICTS:=procd-selinux
|
||||
endef
|
||||
|
||||
define Package/procd-selinux
|
||||
$(call Package/procd/Default)
|
||||
DEPENDS += +libselinux
|
||||
TITLE += with SELinux support
|
||||
PROVIDES:=procd
|
||||
VARIANT:=selinux
|
||||
endef
|
||||
|
||||
define Package/procd-ujail
|
||||
SECTION:=base
|
||||
CATEGORY:=Base system
|
||||
DEPENDS:=@KERNEL_NAMESPACES +@KERNEL_UTS_NS +@KERNEL_IPC_NS +@KERNEL_PID_NS +libubox +libubus +libblobmsg-json
|
||||
DEPENDS:=@KERNEL_NAMESPACES +@KERNEL_UTS_NS +@KERNEL_IPC_NS +@KERNEL_PID_NS \
|
||||
+libubox +libubus +libblobmsg-json
|
||||
TITLE:=OpenWrt process jail helper
|
||||
endef
|
||||
|
||||
@ -66,7 +82,8 @@ endef
|
||||
define Package/procd-seccomp
|
||||
SECTION:=base
|
||||
CATEGORY:=Base system
|
||||
DEPENDS:=@(arm||armeb||mips||mipsel||i386||powerpc||x86_64) @!TARGET_uml @KERNEL_SECCOMP +libubox +libblobmsg-json
|
||||
DEPENDS:=@(arm||armeb||mips||mipsel||i386||powerpc||x86_64) @!TARGET_uml \
|
||||
@KERNEL_SECCOMP +libubox +libblobmsg-json
|
||||
TITLE:=OpenWrt process seccomp helper + utrace
|
||||
endef
|
||||
|
||||
@ -80,7 +97,7 @@ endef
|
||||
|
||||
define Package/procd/config
|
||||
menu "Configuration"
|
||||
depends on PACKAGE_procd
|
||||
depends on PACKAGE_procd || PACKAGE_procd-selinux
|
||||
|
||||
config PROCD_SHOW_BOOT
|
||||
bool
|
||||
@ -94,6 +111,9 @@ config PROCD_ZRAM_TMPFS
|
||||
endmenu
|
||||
endef
|
||||
|
||||
ifeq ($(BUILD_VARIANT),selinux)
|
||||
CMAKE_OPTIONS += -DSELINUX=1
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_PROCD_SHOW_BOOT),y)
|
||||
CMAKE_OPTIONS += -DSHOW_BOOT_ON_CONSOLE=1
|
||||
@ -108,8 +128,7 @@ ifdef CONFIG_PACKAGE_procd-ujail
|
||||
endif
|
||||
|
||||
SECCOMP=$(if $(CONFIG_PACKAGE_procd-seccomp),1,0)
|
||||
SELINUX=$(if $(CONFIG_PACKAGE_libselinux),1,0)
|
||||
CMAKE_OPTIONS += -DSECCOMP_SUPPORT=$(SECCOMP) -DUTRACE_SUPPORT=$(SECCOMP) -DSELINUX=$(SELINUX)
|
||||
CMAKE_OPTIONS += -DSECCOMP_SUPPORT=$(SECCOMP) -DUTRACE_SUPPORT=$(SECCOMP)
|
||||
|
||||
define Package/procd/install
|
||||
$(INSTALL_DIR) $(1)/sbin $(1)/etc $(1)/lib/functions
|
||||
@ -121,6 +140,8 @@ define Package/procd/install
|
||||
$(INSTALL_DATA) ./files/procd.sh $(1)/lib/functions/
|
||||
endef
|
||||
|
||||
Package/procd-selinux/install = $(Package/procd/install)
|
||||
|
||||
define Package/procd-ujail/install
|
||||
$(INSTALL_DIR) $(1)/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ujail $(1)/sbin/
|
||||
@ -151,6 +172,7 @@ define Package/uxc/install
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,procd))
|
||||
$(eval $(call BuildPackage,procd-selinux))
|
||||
$(eval $(call BuildPackage,procd-ujail))
|
||||
$(eval $(call BuildPackage,procd-ujail-console))
|
||||
$(eval $(call BuildPackage,procd-seccomp))
|
||||
|
||||
@ -4,6 +4,17 @@
|
||||
|
||||
. /lib/functions/caldata.sh
|
||||
|
||||
caldata_mikrotik_ath9k() {
|
||||
local offset=$(($1))
|
||||
local count=$(($2))
|
||||
local macaddr=$3
|
||||
|
||||
caldata_from_file $wlan_data $offset $count /tmp/$FIRMWARE
|
||||
ath9k_patch_mac "$macaddr" /tmp/$FIRMWARE
|
||||
caldata_sysfsload_from_file /tmp/$FIRMWARE 0x0 $count
|
||||
rm -f /tmp/$FIRMWARE
|
||||
}
|
||||
|
||||
wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data"
|
||||
mac_base="$(cat /sys/firmware/mikrotik/hard_config/mac_base)"
|
||||
|
||||
@ -14,16 +25,10 @@ case "$FIRMWARE" in
|
||||
case $board in
|
||||
mikrotik,routerboard-lhg-2nd|\
|
||||
mikrotik,routerboard-sxt-5nd-r2)
|
||||
caldata_from_file $wlan_data 0x1000 0x440 /tmp/$FIRMWARE
|
||||
ath9k_patch_mac $(macaddr_add "$mac_base" +1) /tmp/$FIRMWARE
|
||||
caldata_sysfsload_from_file /tmp/$FIRMWARE 0x0 0x440
|
||||
rm -f /tmp/$FIRMWARE
|
||||
caldata_mikrotik_ath9k 0x1000 0x440 $(macaddr_add "$mac_base" +1)
|
||||
;;
|
||||
mikrotik,routerboard-wap-g-5hact2hnd)
|
||||
caldata_from_file $wlan_data 0x1000 0x440 /tmp/$FIRMWARE
|
||||
ath9k_patch_mac $(macaddr_add "$mac_base" +2) /tmp/$FIRMWARE
|
||||
caldata_sysfsload_from_file /tmp/$FIRMWARE 0x0 0x440
|
||||
rm -f /tmp/$FIRMWARE
|
||||
caldata_mikrotik_ath9k 0x1000 0x440 $(macaddr_add "$mac_base" +2)
|
||||
;;
|
||||
*)
|
||||
caldata_die "board $board is not supported yet"
|
||||
|
||||
72
target/linux/ramips/dts/mt7621_mikrotik.dtsi
Normal file
72
target/linux/ramips/dts/mt7621_mikrotik.dtsi
Normal file
@ -0,0 +1,72 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "mt7621.dtsi"
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,115200";
|
||||
};
|
||||
|
||||
keys: keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <33000000>;
|
||||
|
||||
partitions: partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "RouterBoot";
|
||||
reg = <0x0 0x40000>;
|
||||
read-only;
|
||||
compatible = "mikrotik,routerboot-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "bootloader1";
|
||||
reg = <0x0 0x0>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
hard_config {
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@10000 {
|
||||
label = "bootloader2";
|
||||
reg = <0x10000 0xf000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
soft_config {
|
||||
};
|
||||
|
||||
partition@30000 {
|
||||
label = "bios";
|
||||
reg = <0x30000 0x1000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -1,10 +1,7 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/dts-v1/;
|
||||
|
||||
#include "mt7621.dtsi"
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include "mt7621_mikrotik_routerboard-7xx.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "mikrotik,routerboard-750gr3", "mediatek,mt7621-soc";
|
||||
@ -17,10 +14,6 @@
|
||||
led-upgrade = &led_usr;
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,115200";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
@ -35,135 +28,11 @@
|
||||
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
mode {
|
||||
label = "mode";
|
||||
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <BTN_0>;
|
||||
};
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio_export {
|
||||
compatible = "gpio-export";
|
||||
#size-cells = <0>;
|
||||
|
||||
buzzer {
|
||||
/* Beeper requires PWM for frequency selection */
|
||||
gpio-export,name = "buzzer";
|
||||
gpio-export,output = <0>;
|
||||
gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
usb_power {
|
||||
gpio-export,name = "usb_power";
|
||||
gpio-export,output = <1>;
|
||||
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <20000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "RouterBoot";
|
||||
reg = <0x0 0x40000>;
|
||||
read-only;
|
||||
compatible = "mikrotik,routerboot-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "bootloader1";
|
||||
reg = <0x0 0x0>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
hard_config: hard_config {
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@10000 {
|
||||
label = "bootloader2";
|
||||
reg = <0x10000 0xf000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
soft_config {
|
||||
};
|
||||
|
||||
partition@30000 {
|
||||
label = "bios";
|
||||
reg = <0x30000 0x1000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
|
||||
partition@40000 {
|
||||
compatible = "mikrotik,minor";
|
||||
label = "firmware";
|
||||
reg = <0x040000 0xfc0000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&switch0 {
|
||||
ports {
|
||||
port@0 {
|
||||
status = "okay";
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
port@1 {
|
||||
status = "okay";
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
port@2 {
|
||||
status = "okay";
|
||||
label = "lan3";
|
||||
};
|
||||
|
||||
port@3 {
|
||||
status = "okay";
|
||||
label = "lan4";
|
||||
};
|
||||
|
||||
port@4 {
|
||||
status = "okay";
|
||||
label = "lan5";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&state_default {
|
||||
gpio {
|
||||
/* via gpio7 (uart3 group) the PoE status can be read */
|
||||
groups = "uart2", "uart3", "jtag", "wdt";
|
||||
groups = "uart2", "jtag", "wdt";
|
||||
function = "gpio";
|
||||
};
|
||||
};
|
||||
|
||||
&sdhci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -0,0 +1,69 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/dts-v1/;
|
||||
|
||||
#include "mt7621_mikrotik_routerboard-7xx.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "mikrotik,routerboard-760igs", "mediatek,mt7621-soc";
|
||||
model = "MikroTik RouterBOARD 760iGS";
|
||||
|
||||
aliases {
|
||||
led-boot = &led_pwr;
|
||||
led-failsafe = &led_pwr;
|
||||
led-running = &led_pwr;
|
||||
led-upgrade = &led_pwr;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_pwr: pwr {
|
||||
label = "routerboard-760igs:blue:pwr";
|
||||
gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
sfp {
|
||||
label = "routerboard-760igs:blue:sfp";
|
||||
gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
sfp1: sfp1 {
|
||||
compatible = "sff,sfp";
|
||||
i2c-bus = <&i2c>;
|
||||
los-gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;
|
||||
mod-def0-gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
|
||||
tx-disable-gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
|
||||
maximum-power-milliwatt = <1000>;
|
||||
};
|
||||
};
|
||||
|
||||
&mdio {
|
||||
ephy7: ethernet-phy@7 {
|
||||
reg = <7>;
|
||||
sfp = <&sfp1>;
|
||||
};
|
||||
};
|
||||
|
||||
&gmac1 {
|
||||
status = "okay";
|
||||
|
||||
label = "sfp";
|
||||
phy-handle = <&ephy7>;
|
||||
};
|
||||
|
||||
&i2c {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&state_default {
|
||||
gpio {
|
||||
/* gpio7 (uart3 group) goes high when
|
||||
* port5 (PoE out) is cabled to a
|
||||
* Mikrotik PoE-in capable port,
|
||||
* such as port1 on another rb760iGS */
|
||||
groups = "uart2", "uart3", "jtag", "wdt";
|
||||
function = "gpio";
|
||||
};
|
||||
};
|
||||
72
target/linux/ramips/dts/mt7621_mikrotik_routerboard-7xx.dtsi
Normal file
72
target/linux/ramips/dts/mt7621_mikrotik_routerboard-7xx.dtsi
Normal file
@ -0,0 +1,72 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "mt7621_mikrotik.dtsi"
|
||||
|
||||
/ {
|
||||
gpio_export {
|
||||
compatible = "gpio-export";
|
||||
#size-cells = <0>;
|
||||
|
||||
buzzer {
|
||||
/* Beeper requires PWM for frequency selection */
|
||||
gpio-export,name = "buzzer";
|
||||
gpio-export,output = <0>;
|
||||
gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
usb_power {
|
||||
gpio-export,name = "usb_power";
|
||||
gpio-export,output = <1>;
|
||||
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&keys {
|
||||
mode {
|
||||
label = "mode";
|
||||
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <BTN_0>;
|
||||
};
|
||||
};
|
||||
|
||||
&partitions {
|
||||
partition@40000 {
|
||||
compatible = "mikrotik,minor";
|
||||
label = "firmware";
|
||||
reg = <0x040000 0xfc0000>;
|
||||
};
|
||||
};
|
||||
|
||||
&switch0 {
|
||||
ports {
|
||||
port@0 {
|
||||
status = "okay";
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
port@1 {
|
||||
status = "okay";
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
port@2 {
|
||||
status = "okay";
|
||||
label = "lan3";
|
||||
};
|
||||
|
||||
port@3 {
|
||||
status = "okay";
|
||||
label = "lan4";
|
||||
};
|
||||
|
||||
port@4 {
|
||||
status = "okay";
|
||||
label = "lan5";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&sdhci {
|
||||
status = "okay";
|
||||
};
|
||||
@ -1,9 +1,6 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "mt7621.dtsi"
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include "mt7621_mikrotik.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "mikrotik,routerboard-m11g", "mediatek,mt7621-soc";
|
||||
@ -16,10 +13,6 @@
|
||||
led-upgrade = &led_usr;
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,115200";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
@ -54,16 +47,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
res {
|
||||
label = "reset";
|
||||
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
pcie0_vcc_reg {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "pcie0_vcc";
|
||||
@ -77,59 +60,11 @@
|
||||
};
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <33000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "RouterBoot";
|
||||
reg = <0x0 0x40000>;
|
||||
read-only;
|
||||
compatible = "mikrotik,routerboot-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "bootloader1";
|
||||
reg = <0x0 0x0>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
hard_config: hard_config {
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@10000 {
|
||||
label = "bootloader2";
|
||||
reg = <0x10000 0xf000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
soft_config {
|
||||
};
|
||||
|
||||
partition@30000 {
|
||||
label = "bios";
|
||||
reg = <0x30000 0x1000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
|
||||
partition@40000 {
|
||||
compatible = "mikrotik,minor";
|
||||
label = "firmware";
|
||||
reg = <0x040000 0xFC0000>;
|
||||
};
|
||||
};
|
||||
&partitions {
|
||||
partition@40000 {
|
||||
compatible = "mikrotik,minor";
|
||||
label = "firmware";
|
||||
reg = <0x040000 0xfc0000>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "mt7621.dtsi"
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include "mt7621_mikrotik.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "mikrotik,routerboard-m33g", "mediatek,mt7621-soc";
|
||||
@ -16,10 +13,6 @@
|
||||
led-upgrade = &led_usr;
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,115200";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
@ -29,16 +22,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
res {
|
||||
label = "res";
|
||||
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
pcie0_vcc_reg {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "pcie0_vcc";
|
||||
@ -88,54 +71,6 @@
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <33000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "RouterBoot";
|
||||
reg = <0x0 0x40000>;
|
||||
read-only;
|
||||
compatible = "mikrotik,routerboot-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "bootloader1";
|
||||
reg = <0x0 0x0>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
hard_config: hard_config {
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@10000 {
|
||||
label = "bootloader2";
|
||||
reg = <0x10000 0xf000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
soft_config {
|
||||
};
|
||||
|
||||
partition@30000 {
|
||||
label = "bios";
|
||||
reg = <0x30000 0x1000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
flash@1 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <1>;
|
||||
@ -151,7 +86,7 @@
|
||||
partition@40000 {
|
||||
compatible = "mikrotik,minor";
|
||||
label = "firmware";
|
||||
reg = <0x040000 0xFC0000>;
|
||||
reg = <0x040000 0xfc0000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@ -708,6 +708,13 @@ define Device/mikrotik_routerboard-750gr3
|
||||
endef
|
||||
TARGET_DEVICES += mikrotik_routerboard-750gr3
|
||||
|
||||
define Device/mikrotik_routerboard-760igs
|
||||
$(Device/MikroTik)
|
||||
DEVICE_MODEL := RouterBOARD 760iGS
|
||||
DEVICE_PACKAGES += kmod-sfp -wpad-basic
|
||||
endef
|
||||
TARGET_DEVICES += mikrotik_routerboard-760igs
|
||||
|
||||
define Device/mikrotik_routerboard-m11g
|
||||
$(Device/MikroTik)
|
||||
DEVICE_MODEL := RouterBOARD M11G
|
||||
|
||||
@ -48,6 +48,9 @@ linksys,ea7500-v2)
|
||||
ucidef_set_led_netdev "lan4" "lan4 link" "$boardname:green:lan4" "lan4" "link"
|
||||
ucidef_set_led_netdev "wan" "wan link" "$boardname:green:wan" "wan" "link"
|
||||
;;
|
||||
mikrotik,routerboard-760igs)
|
||||
ucidef_set_led_netdev "sfp" "SFP" "$boardname:blue:sfp" "sfp"
|
||||
;;
|
||||
mikrotik,routerboard-m11g)
|
||||
ucidef_set_rssimon "wlan0" "200000" "1"
|
||||
ucidef_set_led_rssi "rssilow" "RSSILOW" "$boardname:green:rssi0" "wlan0" "1" "100"
|
||||
|
||||
@ -51,6 +51,9 @@ ramips_setup_interfaces()
|
||||
mikrotik,routerboard-750gr3)
|
||||
ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan"
|
||||
;;
|
||||
mikrotik,routerboard-750igs)
|
||||
ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan sfp"
|
||||
;;
|
||||
phicomm,k2p)
|
||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 ra0 rax0" "wan"
|
||||
;;
|
||||
@ -114,6 +117,7 @@ ramips_setup_macs()
|
||||
label_mac=$lan_mac
|
||||
;;
|
||||
mikrotik,routerboard-750gr3|\
|
||||
mikrotik,routerboard-760igs|\
|
||||
mikrotik,routerboard-m11g|\
|
||||
mikrotik,routerboard-m33g)
|
||||
label_mac=$(cat "/sys/firmware/mikrotik/hard_config/mac_base")
|
||||
|
||||
@ -7,6 +7,9 @@ board_config_update
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
mikrotik,routerboard-760igs)
|
||||
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "497"
|
||||
;;
|
||||
telco-electronics,x1)
|
||||
ucidef_add_gpio_switch "modem_reset" "Modem Reset" "16"
|
||||
;;
|
||||
|
||||
@ -28,6 +28,7 @@ platform_do_upgrade() {
|
||||
}
|
||||
;;
|
||||
mikrotik,routerboard-750gr3|\
|
||||
mikrotik,routerboard-760igs|\
|
||||
mikrotik,routerboard-m11g|\
|
||||
mikrotik,routerboard-m33g)
|
||||
[ -z "$(rootfs_type)" ] && mtd erase firmware
|
||||
|
||||
Loading…
Reference in New Issue
Block a user