mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-03-09 15:40:20 +00:00
update system
This commit is contained in:
parent
c51fe766c1
commit
b63604a138
1200 changed files with 1897 additions and 16371 deletions
114
root/package/Makefile
Normal file
114
root/package/Makefile
Normal file
|
@ -0,0 +1,114 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2006-2010 OpenWrt.org
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
curdir:=package
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/feeds.mk
|
||||||
|
include $(INCLUDE_DIR)/rootfs.mk
|
||||||
|
|
||||||
|
-include $(TMP_DIR)/.packagedeps
|
||||||
|
package-y += kernel/linux
|
||||||
|
$(curdir)/autoremove:=1
|
||||||
|
$(curdir)/builddirs:=$(sort $(package-) $(package-y) $(package-m))
|
||||||
|
$(curdir)/builddirs-default:=. $(sort $(package-y) $(package-m))
|
||||||
|
$(curdir)/builddirs-prereq:=. $(sort $(prereq-y) $(prereq-m))
|
||||||
|
ifdef CHECK_ALL
|
||||||
|
$(curdir)/builddirs-check:=$($(curdir)/builddirs)
|
||||||
|
$(curdir)/builddirs-download:=$($(curdir)/builddirs)
|
||||||
|
endif
|
||||||
|
ifneq ($(IGNORE_ERRORS),)
|
||||||
|
package-y-filter := $(package-y)
|
||||||
|
package-m-filter := $(filter-out $(package-y),$(package-m))
|
||||||
|
package-n-filter := $(filter-out $(package-y) $(package-m),$(package-))
|
||||||
|
package-ignore-errors := $(filter n m y,$(IGNORE_ERRORS))
|
||||||
|
package-ignore-errors := $(if $(package-ignore-errors),$(package-ignore-errors),n m)
|
||||||
|
package-ignore-subdirs := $(sort $(foreach m,$(package-ignore-errors),$(package-$(m)-filter)))
|
||||||
|
$(curdir)/builddirs-ignore-download := $(package-ignore-subdirs)
|
||||||
|
$(curdir)/builddirs-ignore-compile := $(package-ignore-subdirs)
|
||||||
|
$(curdir)/builddirs-ignore-host-download := $(package-ignore-subdirs)
|
||||||
|
$(curdir)/builddirs-ignore-host-compile := $(package-ignore-subdirs)
|
||||||
|
endif
|
||||||
|
|
||||||
|
PACKAGE_INSTALL_FILES:= \
|
||||||
|
$(foreach pkg,$(sort $(package-y)), \
|
||||||
|
$(foreach variant, \
|
||||||
|
$(if $(strip $(package/$(pkg)/variants)), \
|
||||||
|
$(package/$(pkg)/variants), \
|
||||||
|
$(if $(package/$(pkg)/default-variant), \
|
||||||
|
$(package/$(pkg)/default-variant), \
|
||||||
|
default \
|
||||||
|
) \
|
||||||
|
), \
|
||||||
|
$(PKG_INFO_DIR)/$(lastword $(subst /,$(space),$(pkg))).$(variant).install \
|
||||||
|
) \
|
||||||
|
)
|
||||||
|
|
||||||
|
$(curdir)/cleanup: $(TMP_DIR)/.build
|
||||||
|
rm -rf $(STAGING_DIR_ROOT)
|
||||||
|
|
||||||
|
$(curdir)/merge:
|
||||||
|
rm -rf $(PACKAGE_DIR_ALL)
|
||||||
|
mkdir -p $(PACKAGE_DIR_ALL)
|
||||||
|
-$(foreach pdir,$(PACKAGE_SUBDIRS),$(if $(wildcard $(pdir)/*.ipk),ln -s $(pdir)/*.ipk $(PACKAGE_DIR_ALL);))
|
||||||
|
|
||||||
|
$(curdir)/merge-index: $(curdir)/merge
|
||||||
|
(cd $(PACKAGE_DIR_ALL) && $(SCRIPT_DIR)/ipkg-make-index.sh . 2>&1 > Packages; )
|
||||||
|
|
||||||
|
ifndef SDK
|
||||||
|
$(curdir)/compile: $(curdir)/system/opkg/host/compile
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(curdir)/install: $(TMP_DIR)/.build $(curdir)/merge $(if $(CONFIG_TARGET_PER_DEVICE_ROOTFS),$(curdir)/merge-index)
|
||||||
|
- find $(STAGING_DIR_ROOT) -type d | $(XARGS) chmod 0755
|
||||||
|
rm -rf $(TARGET_DIR) $(TARGET_DIR_ORIG)
|
||||||
|
mkdir -p $(TARGET_DIR)/tmp
|
||||||
|
$(file >$(TMP_DIR)/opkg_install_list,\
|
||||||
|
$(call opkg_package_files,\
|
||||||
|
$(foreach pkg,$(shell cat $(PACKAGE_INSTALL_FILES) 2>/dev/null),$(pkg)$(call GetABISuffix,$(pkg)))))
|
||||||
|
$(call opkg,$(TARGET_DIR)) install $$(cat $(TMP_DIR)/opkg_install_list)
|
||||||
|
@for file in $(PACKAGE_INSTALL_FILES); do \
|
||||||
|
[ -s $$file.flags ] || continue; \
|
||||||
|
for flag in `cat $$file.flags`; do \
|
||||||
|
$(call opkg,$(TARGET_DIR)) flag $$flag `cat $$file`; \
|
||||||
|
done; \
|
||||||
|
done || true
|
||||||
|
|
||||||
|
$(CP) $(TARGET_DIR) $(TARGET_DIR_ORIG)
|
||||||
|
|
||||||
|
$(call prepare_rootfs,$(TARGET_DIR),$(TOPDIR)/files)
|
||||||
|
|
||||||
|
$(curdir)/index: FORCE
|
||||||
|
@echo Generating package index...
|
||||||
|
@for d in $(PACKAGE_SUBDIRS); do ( \
|
||||||
|
mkdir -p $$d; \
|
||||||
|
cd $$d || continue; \
|
||||||
|
$(SCRIPT_DIR)/ipkg-make-index.sh . 2>&1 > Packages.manifest; \
|
||||||
|
grep -vE '^(Maintainer|LicenseFiles|Source|SourceName|Require|SourceDateEpoch)' Packages.manifest > Packages; \
|
||||||
|
case "$$(((64 + $$(stat -L -c%s Packages)) % 128))" in 110|111) \
|
||||||
|
$(call ERROR_MESSAGE,WARNING: Applying padding in $$d/Packages to workaround usign SHA-512 bug!); \
|
||||||
|
{ echo ""; echo ""; } >> Packages;; \
|
||||||
|
esac; \
|
||||||
|
gzip -9nc Packages > Packages.gz; \
|
||||||
|
); done
|
||||||
|
ifdef CONFIG_SIGNED_PACKAGES
|
||||||
|
@echo Signing package index...
|
||||||
|
@for d in $(PACKAGE_SUBDIRS); do ( \
|
||||||
|
[ -d $$d ] && \
|
||||||
|
cd $$d || continue; \
|
||||||
|
$(STAGING_DIR_HOST)/bin/usign -S -m Packages -s $(BUILD_KEY); \
|
||||||
|
); done
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(curdir)/flags-install:= -j1
|
||||||
|
|
||||||
|
$(eval $(call stampfile,$(curdir),package,prereq,.config))
|
||||||
|
$(eval $(call stampfile,$(curdir),package,cleanup,$(TMP_DIR)/.build))
|
||||||
|
$(eval $(call stampfile,$(curdir),package,compile,$(TMP_DIR)/.build))
|
||||||
|
$(eval $(call stampfile,$(curdir),package,install,$(TMP_DIR)/.build))
|
||||||
|
$(eval $(call stampfile,$(curdir),package,check,$(TMP_DIR)/.build))
|
||||||
|
|
||||||
|
$(eval $(call subdir,$(curdir)))
|
|
@ -7,58 +7,25 @@ CFG=/etc/board.json
|
||||||
[ -s $CFG ] || /bin/board_detect || exit 1
|
[ -s $CFG ] || /bin/board_detect || exit 1
|
||||||
[ -s /etc/config/network -a -s /etc/config/system ] && exit 0
|
[ -s /etc/config/network -a -s /etc/config/system ] && exit 0
|
||||||
|
|
||||||
generate_bridge() {
|
|
||||||
local name=$1
|
|
||||||
local macaddr=$2
|
|
||||||
uci -q batch <<-EOF
|
|
||||||
set network.$name=device
|
|
||||||
set network.$name.name=$name
|
|
||||||
set network.$name.type=bridge
|
|
||||||
EOF
|
|
||||||
if [ -n "$macaddr" ]; then
|
|
||||||
uci -q batch <<-EOF
|
|
||||||
set network.$name.macaddr=$macaddr
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
bridge_vlan_id=0
|
|
||||||
generate_bridge_vlan() {
|
|
||||||
local name=$1_vlan
|
|
||||||
local device=$2
|
|
||||||
local ports="$3"
|
|
||||||
local vlan="$4"
|
|
||||||
uci -q batch <<-EOF
|
|
||||||
set network.$name=bridge-vlan
|
|
||||||
set network.$name.device='$device'
|
|
||||||
set network.$name.vlan='$vlan'
|
|
||||||
set network.$name.ports='$ports'
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
generate_static_network() {
|
generate_static_network() {
|
||||||
uci -q batch <<-EOF
|
uci -q batch <<-EOF
|
||||||
delete network.loopback
|
delete network.loopback
|
||||||
set network.loopback='interface'
|
set network.loopback='interface'
|
||||||
set network.loopback.device='lo'
|
set network.loopback.ifname='lo'
|
||||||
set network.loopback.proto='static'
|
set network.loopback.proto='static'
|
||||||
set network.loopback.ipaddr='127.0.0.1'
|
set network.loopback.ipaddr='127.0.0.1'
|
||||||
set network.loopback.netmask='255.0.0.0'
|
set network.loopback.netmask='255.0.0.0'
|
||||||
EOF
|
|
||||||
[ -e /proc/sys/net/ipv6 ] && {
|
|
||||||
uci -q batch <<-EOF
|
|
||||||
delete network.globals
|
delete network.globals
|
||||||
set network.globals='globals'
|
set network.globals='globals'
|
||||||
set network.globals.ula_prefix='auto'
|
set network.globals.ula_prefix='auto'
|
||||||
EOF
|
EOF
|
||||||
}
|
|
||||||
|
|
||||||
if json_is_a dsl object; then
|
if json_is_a dsl object; then
|
||||||
json_select dsl
|
json_select dsl
|
||||||
if json_is_a atmbridge object; then
|
if json_is_a atmbridge object; then
|
||||||
json_select atmbridge
|
json_select atmbridge
|
||||||
local vpi vci encaps payload nameprefix
|
local vpi vci encaps payload
|
||||||
json_get_vars vpi vci encaps payload nameprefix
|
json_get_vars vpi vci encaps payload
|
||||||
uci -q batch <<-EOF
|
uci -q batch <<-EOF
|
||||||
delete network.atm
|
delete network.atm
|
||||||
set network.atm='atm-bridge'
|
set network.atm='atm-bridge'
|
||||||
|
@ -66,7 +33,6 @@ generate_static_network() {
|
||||||
set network.atm.vci='$vci'
|
set network.atm.vci='$vci'
|
||||||
set network.atm.encaps='$encaps'
|
set network.atm.encaps='$encaps'
|
||||||
set network.atm.payload='$payload'
|
set network.atm.payload='$payload'
|
||||||
set network.atm.nameprefix='$nameprefix'
|
|
||||||
EOF
|
EOF
|
||||||
json_select ..
|
json_select ..
|
||||||
fi
|
fi
|
||||||
|
@ -91,69 +57,41 @@ generate_static_network() {
|
||||||
|
|
||||||
addr_offset=2
|
addr_offset=2
|
||||||
generate_network() {
|
generate_network() {
|
||||||
local ports device macaddr protocol type ipaddr netmask vlan
|
local ifname macaddr protocol type ipaddr netmask
|
||||||
local bridge=$2
|
|
||||||
|
|
||||||
json_select network
|
json_select network
|
||||||
json_select "$1"
|
json_select "$1"
|
||||||
json_get_vars device macaddr protocol ipaddr netmask vlan
|
json_get_vars ifname macaddr protocol ipaddr netmask
|
||||||
json_get_values ports ports
|
|
||||||
json_select ..
|
json_select ..
|
||||||
json_select ..
|
json_select ..
|
||||||
|
|
||||||
[ -n "$device" -o -n "$ports" ] || return
|
[ -n "$ifname" ] || return
|
||||||
|
|
||||||
# Force bridge for "lan" as it may have other devices (e.g. wireless)
|
case "$1" in
|
||||||
# bridged
|
# hack (see /etc/board.d/02_network)
|
||||||
[ "$1" = "lan" -a -z "$ports" ] && {
|
none) return ;;
|
||||||
ports="$device"
|
lan*) proto=${proto:-static} ;;
|
||||||
}
|
wan*) proto=${proto:-dhcp} ;;
|
||||||
|
esac
|
||||||
[ -n "$ports" -a -z "$bridge" ] && {
|
|
||||||
uci -q batch <<-EOF
|
|
||||||
add network device
|
|
||||||
set network.@device[-1].name='br-$1'
|
|
||||||
set network.@device[-1].type='bridge'
|
|
||||||
EOF
|
|
||||||
for port in $ports; do uci add_list network.@device[-1].ports="$port"; done
|
|
||||||
[ -n "$macaddr" ] && {
|
|
||||||
for port in $ports; do
|
|
||||||
uci -q batch <<-EOF
|
|
||||||
add network device
|
|
||||||
set network.@device[-1].name='$port'
|
|
||||||
set network.@device[-1].macaddr='$macaddr'
|
|
||||||
EOF
|
|
||||||
done
|
|
||||||
}
|
|
||||||
device=br-$1
|
|
||||||
type=
|
|
||||||
macaddr=""
|
|
||||||
}
|
|
||||||
|
|
||||||
[ -n "$bridge" ] && {
|
|
||||||
[ -z "$ports" ] && ports="$device"
|
|
||||||
if [ -z "$vlan" ]; then
|
|
||||||
bridge_vlan_id=$((bridge_vlan_id + 1))
|
|
||||||
vlan=$bridge_vlan_id
|
|
||||||
fi
|
|
||||||
generate_bridge_vlan $1 $bridge "$ports" $vlan
|
|
||||||
device=$bridge.$vlan
|
|
||||||
type=""
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ -n "$macaddr" ]; then
|
if [ -n "$macaddr" ]; then
|
||||||
|
type=macvlan # useless, only for legacy
|
||||||
uci -q batch <<-EOF
|
uci -q batch <<-EOF
|
||||||
add network device
|
delete network.${1}_dev
|
||||||
set network.@device[-1].name='$device'
|
set network.${1}_dev='device'
|
||||||
set network.@device[-1].macaddr='$macaddr'
|
set network.${1}_dev.name='$1'
|
||||||
|
set network.${1}_dev.type='$type'
|
||||||
|
set network.${1}_dev.ifname='$ifname'
|
||||||
|
set network.${1}_dev.macaddr='$macaddr'
|
||||||
EOF
|
EOF
|
||||||
|
ifname=$1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
uci -q batch <<-EOF
|
uci -q batch <<-EOF
|
||||||
delete network.$1
|
delete network.$1
|
||||||
set network.$1='interface'
|
set network.$1='interface'
|
||||||
set network.$1.type='$type'
|
set network.$1.type='$type'
|
||||||
set network.$1.device='$device'
|
set network.$1.ifname='$ifname'
|
||||||
set network.$1.proto='none'
|
set network.$1.proto='none'
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
@ -171,23 +109,17 @@ generate_network() {
|
||||||
set network.$1.proto='static'
|
set network.$1.proto='static'
|
||||||
set network.$1.ipaddr='$ipad'
|
set network.$1.ipaddr='$ipad'
|
||||||
set network.$1.netmask='$netm'
|
set network.$1.netmask='$netm'
|
||||||
|
set network.$1.ip6assign='60'
|
||||||
EOF
|
EOF
|
||||||
[ -e /proc/sys/net/ipv6 ] && uci set network.$1.ip6assign='60'
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
dhcp)
|
dhcp)
|
||||||
# fixup IPv6 slave interface if parent is a bridge
|
# fixup IPv6 slave interface if parent is a bridge
|
||||||
[ "$type" = "bridge" ] && device="br-$1"
|
[ "$type" = "bridge" ] && ifname="br-$1"
|
||||||
|
|
||||||
uci set network.$1.proto='dhcp'
|
|
||||||
[ -e /proc/sys/net/ipv6 ] && {
|
|
||||||
uci -q batch <<-EOF
|
uci -q batch <<-EOF
|
||||||
delete network.${1}6
|
set network.$1.proto='dhcp'
|
||||||
set network.${1}6='interface'
|
|
||||||
set network.${1}6.device='$device'
|
|
||||||
set network.${1}6.proto='dhcpv6'
|
|
||||||
EOF
|
EOF
|
||||||
}
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
pppoe)
|
pppoe)
|
||||||
|
@ -195,16 +127,12 @@ generate_network() {
|
||||||
set network.$1.proto='pppoe'
|
set network.$1.proto='pppoe'
|
||||||
set network.$1.username='username'
|
set network.$1.username='username'
|
||||||
set network.$1.password='password'
|
set network.$1.password='password'
|
||||||
EOF
|
|
||||||
[ -e /proc/sys/net/ipv6 ] && {
|
|
||||||
uci -q batch <<-EOF
|
|
||||||
set network.$1.ipv6='1'
|
set network.$1.ipv6='1'
|
||||||
delete network.${1}6
|
delete network.${1}6
|
||||||
set network.${1}6='interface'
|
set network.${1}6='interface'
|
||||||
set network.${1}6.device='@${1}'
|
set network.${1}6.ifname='@${1}'
|
||||||
set network.${1}6.proto='dhcpv6'
|
set network.${1}6.proto='dhcpv6'
|
||||||
EOF
|
EOF
|
||||||
}
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
@ -278,8 +206,7 @@ generate_switch() {
|
||||||
|
|
||||||
json_select switch
|
json_select switch
|
||||||
json_select "$key"
|
json_select "$key"
|
||||||
json_get_vars enable reset blinkrate cpu_port \
|
json_get_vars enable reset blinkrate cpu_port
|
||||||
ar8xxx_mib_type ar8xxx_mib_poll_interval
|
|
||||||
|
|
||||||
uci -q batch <<-EOF
|
uci -q batch <<-EOF
|
||||||
add network switch
|
add network switch
|
||||||
|
@ -287,8 +214,6 @@ generate_switch() {
|
||||||
set network.@switch[-1].reset='$reset'
|
set network.@switch[-1].reset='$reset'
|
||||||
set network.@switch[-1].enable_vlan='$enable'
|
set network.@switch[-1].enable_vlan='$enable'
|
||||||
set network.@switch[-1].blinkrate='$blinkrate'
|
set network.@switch[-1].blinkrate='$blinkrate'
|
||||||
set network.@switch[-1].ar8xxx_mib_type='$ar8xxx_mib_type'
|
|
||||||
set network.@switch[-1].ar8xxx_mib_poll_interval='$ar8xxx_mib_poll_interval'
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
generate_switch_vlans_ports "$1"
|
generate_switch_vlans_ports "$1"
|
||||||
|
@ -297,11 +222,12 @@ generate_switch() {
|
||||||
json_select ..
|
json_select ..
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
generate_static_system() {
|
generate_static_system() {
|
||||||
uci -q batch <<-EOF
|
uci -q batch <<-EOF
|
||||||
delete system.@system[0]
|
delete system.@system[0]
|
||||||
add system system
|
add system system
|
||||||
set system.@system[-1].hostname='antrouter'
|
set system.@system[-1].hostname='OpenMPTCProuter'
|
||||||
set system.@system[-1].timezone='UTC'
|
set system.@system[-1].timezone='UTC'
|
||||||
set system.@system[-1].ttylogin='0'
|
set system.@system[-1].ttylogin='0'
|
||||||
set system.@system[-1].log_size='64'
|
set system.@system[-1].log_size='64'
|
||||||
|
@ -324,13 +250,6 @@ generate_static_system() {
|
||||||
uci -q set "system.@system[-1].hostname=$hostname"
|
uci -q set "system.@system[-1].hostname=$hostname"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local compat_version
|
|
||||||
if json_get_var compat_version compat_version; then
|
|
||||||
uci -q set "system.@system[-1].compat_version=$compat_version"
|
|
||||||
else
|
|
||||||
uci -q set "system.@system[-1].compat_version=1.0"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if json_is_a ntpserver array; then
|
if json_is_a ntpserver array; then
|
||||||
local keys key
|
local keys key
|
||||||
json_get_keys keys ntpserver
|
json_get_keys keys ntpserver
|
||||||
|
@ -440,12 +359,11 @@ generate_led() {
|
||||||
;;
|
;;
|
||||||
|
|
||||||
switch)
|
switch)
|
||||||
local port_mask speed_mask mode
|
local port_mask speed_mask
|
||||||
json_get_vars port_mask speed_mask mode
|
json_get_vars port_mask speed_mask
|
||||||
uci -q batch <<-EOF
|
uci -q batch <<-EOF
|
||||||
set system.$cfg.port_mask='$port_mask'
|
set system.$cfg.port_mask='$port_mask'
|
||||||
set system.$cfg.speed_mask='$speed_mask'
|
set system.$cfg.speed_mask='$speed_mask'
|
||||||
set system.$cfg.mode='$mode'
|
|
||||||
EOF
|
EOF
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
@ -493,24 +411,12 @@ generate_gpioswitch() {
|
||||||
json_init
|
json_init
|
||||||
json_load "$(cat ${CFG})"
|
json_load "$(cat ${CFG})"
|
||||||
|
|
||||||
umask 077
|
|
||||||
|
|
||||||
if [ ! -s /etc/config/network ]; then
|
if [ ! -s /etc/config/network ]; then
|
||||||
bridge_name=""
|
|
||||||
touch /etc/config/network
|
touch /etc/config/network
|
||||||
generate_static_network
|
generate_static_network
|
||||||
|
|
||||||
json_get_vars bridge
|
|
||||||
[ -n "$bridge" ] && {
|
|
||||||
json_select bridge
|
|
||||||
json_get_vars name macaddr
|
|
||||||
generate_bridge "$name" "$macaddr"
|
|
||||||
json_select ..
|
|
||||||
bridge_name=$name
|
|
||||||
}
|
|
||||||
|
|
||||||
json_get_keys keys network
|
json_get_keys keys network
|
||||||
for key in $keys; do generate_network $key $bridge_name; done
|
for key in $keys; do generate_network $key; done
|
||||||
|
|
||||||
json_get_keys keys switch
|
json_get_keys keys switch
|
||||||
for key in $keys; do generate_switch $key; done
|
for key in $keys; do generate_switch $key; done
|
||||||
|
|
16
root/package/base-files/files/etc/board.d/99-default_network
Executable file
16
root/package/base-files/files/etc/board.d/99-default_network
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (C) 2013-2015 OpenWrt.org
|
||||||
|
#
|
||||||
|
|
||||||
|
. /lib/functions/uci-defaults.sh
|
||||||
|
|
||||||
|
board_config_update
|
||||||
|
|
||||||
|
json_is_a network object && exit 0
|
||||||
|
|
||||||
|
ucidef_set_interface_lan 'eth0'
|
||||||
|
|
||||||
|
board_config_flush
|
||||||
|
|
||||||
|
exit 0
|
397
root/package/base-files/files/sbin/sysupgrade
Executable file
397
root/package/base-files/files/sbin/sysupgrade
Executable file
|
@ -0,0 +1,397 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. /lib/functions.sh
|
||||||
|
. /lib/functions/system.sh
|
||||||
|
. /usr/share/libubox/jshn.sh
|
||||||
|
|
||||||
|
# initialize defaults
|
||||||
|
export MTD_ARGS=""
|
||||||
|
export MTD_CONFIG_ARGS=""
|
||||||
|
export INTERACTIVE=0
|
||||||
|
export VERBOSE=1
|
||||||
|
export SAVE_CONFIG=1
|
||||||
|
export SAVE_OVERLAY=0
|
||||||
|
export SAVE_OVERLAY_PATH=
|
||||||
|
export SAVE_PARTITIONS=1
|
||||||
|
export SAVE_INSTALLED_PKGS=1
|
||||||
|
export SKIP_UNCHANGED=0
|
||||||
|
export CONF_IMAGE=
|
||||||
|
export CONF_BACKUP_LIST=0
|
||||||
|
export CONF_BACKUP=
|
||||||
|
export CONF_RESTORE=
|
||||||
|
export NEED_IMAGE=
|
||||||
|
export HELP=0
|
||||||
|
export FORCE=0
|
||||||
|
export TEST=0
|
||||||
|
export UMOUNT_ETCBACKUP_DIR=0
|
||||||
|
|
||||||
|
# parse options
|
||||||
|
while [ -n "$1" ]; do
|
||||||
|
case "$1" in
|
||||||
|
-i) export INTERACTIVE=1;;
|
||||||
|
-v) export VERBOSE="$(($VERBOSE + 1))";;
|
||||||
|
-q) export VERBOSE="$(($VERBOSE - 1))";;
|
||||||
|
-n) export SAVE_CONFIG=0;;
|
||||||
|
-c) export SAVE_OVERLAY=1 SAVE_OVERLAY_PATH=/etc;;
|
||||||
|
-o) export SAVE_OVERLAY=1 SAVE_OVERLAY_PATH=/;;
|
||||||
|
-p) export SAVE_PARTITIONS=0;;
|
||||||
|
-k) export SAVE_INSTALLED_PKGS=1;;
|
||||||
|
-u) export SKIP_UNCHANGED=1;;
|
||||||
|
-b|--create-backup) export CONF_BACKUP="$2" NEED_IMAGE=1; shift;;
|
||||||
|
-r|--restore-backup) export CONF_RESTORE="$2" NEED_IMAGE=1; shift;;
|
||||||
|
-l|--list-backup) export CONF_BACKUP_LIST=1;;
|
||||||
|
-f) export CONF_IMAGE="$2"; shift;;
|
||||||
|
-F|--force) export FORCE=1;;
|
||||||
|
-T|--test) export TEST=1;;
|
||||||
|
-h|--help) export HELP=1; break;;
|
||||||
|
-*)
|
||||||
|
echo "Invalid option: $1" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
*) break;;
|
||||||
|
esac
|
||||||
|
shift;
|
||||||
|
done
|
||||||
|
|
||||||
|
export CONFFILES=/tmp/sysupgrade.conffiles
|
||||||
|
export CONF_TAR=/tmp/sysupgrade.tgz
|
||||||
|
export ETCBACKUP_DIR=/etc/backup
|
||||||
|
export INSTALLED_PACKAGES=${ETCBACKUP_DIR}/installed_packages.txt
|
||||||
|
|
||||||
|
IMAGE="$1"
|
||||||
|
|
||||||
|
[ -z "$IMAGE" -a -z "$NEED_IMAGE" -a $CONF_BACKUP_LIST -eq 0 -o $HELP -gt 0 ] && {
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $0 [<upgrade-option>...] <image file or URL>
|
||||||
|
$0 [-q] [-i] [-c] [-u] [-o] [-k] <backup-command> <file>
|
||||||
|
|
||||||
|
upgrade-option:
|
||||||
|
-f <config> restore configuration from .tar.gz (file or url)
|
||||||
|
-i interactive mode
|
||||||
|
-c attempt to preserve all changed files in /etc/
|
||||||
|
-o attempt to preserve all changed files in /, except those
|
||||||
|
from packages but including changed confs.
|
||||||
|
-u skip from backup files that are equal to those in /rom
|
||||||
|
-n do not save configuration over reflash
|
||||||
|
-p do not attempt to restore the partition table after flash.
|
||||||
|
-k include in backup a list of current installed packages at
|
||||||
|
$INSTALLED_PACKAGES
|
||||||
|
-T | --test
|
||||||
|
Verify image and config .tar.gz but do not actually flash.
|
||||||
|
-F | --force
|
||||||
|
Flash image even if image checks fail, this is dangerous!
|
||||||
|
-q less verbose
|
||||||
|
-v more verbose
|
||||||
|
-h | --help display this help
|
||||||
|
|
||||||
|
backup-command:
|
||||||
|
-b | --create-backup <file>
|
||||||
|
create .tar.gz of files specified in sysupgrade.conf
|
||||||
|
then exit. Does not flash an image. If file is '-',
|
||||||
|
i.e. stdout, verbosity is set to 0 (i.e. quiet).
|
||||||
|
-r | --restore-backup <file>
|
||||||
|
restore a .tar.gz created with sysupgrade -b
|
||||||
|
then exit. Does not flash an image. If file is '-',
|
||||||
|
the archive is read from stdin.
|
||||||
|
-l | --list-backup
|
||||||
|
list the files that would be backed up when calling
|
||||||
|
sysupgrade -b. Does not create a backup file.
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -n "$IMAGE" -a -n "$NEED_IMAGE" ] && {
|
||||||
|
cat <<-EOF
|
||||||
|
-b|--create-backup and -r|--restore-backup do not perform a firmware upgrade.
|
||||||
|
Do not specify both -b|-r and a firmware image.
|
||||||
|
EOF
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# prevent messages from clobbering the tarball when using stdout
|
||||||
|
[ "$CONF_BACKUP" = "-" ] && export VERBOSE=0
|
||||||
|
|
||||||
|
missing_lines() {
|
||||||
|
local file1 file2 line
|
||||||
|
file1="$1"
|
||||||
|
file2="$2"
|
||||||
|
oIFS="$IFS"
|
||||||
|
IFS=":"
|
||||||
|
while read line; do
|
||||||
|
set -- $line
|
||||||
|
grep -q "^$1:" "$file2" || echo "$*"
|
||||||
|
done < "$file1"
|
||||||
|
IFS="$oIFS"
|
||||||
|
}
|
||||||
|
|
||||||
|
list_conffiles() {
|
||||||
|
awk '
|
||||||
|
BEGIN { conffiles = 0 }
|
||||||
|
/^Conffiles:/ { conffiles = 1; next }
|
||||||
|
!/^ / { conffiles = 0; next }
|
||||||
|
conffiles == 1 { print }
|
||||||
|
' /usr/lib/opkg/status
|
||||||
|
}
|
||||||
|
|
||||||
|
list_changed_conffiles() {
|
||||||
|
# Cannot handle spaces in filenames - but opkg cannot either...
|
||||||
|
list_conffiles | while read file csum; do
|
||||||
|
[ -r "$file" ] || continue
|
||||||
|
|
||||||
|
echo "${csum} ${file}" | busybox sha256sum -sc - || echo "$file"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
list_static_conffiles() {
|
||||||
|
local filter=$1
|
||||||
|
|
||||||
|
find $(sed -ne '/^[[:space:]]*$/d; /^#/d; p' \
|
||||||
|
/etc/sysupgrade.conf /lib/upgrade/keep.d/* 2>/dev/null) \
|
||||||
|
\( -type f -o -type l \) $filter 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
add_conffiles() {
|
||||||
|
local file="$1"
|
||||||
|
|
||||||
|
( list_static_conffiles "$find_filter"; list_changed_conffiles ) |
|
||||||
|
sort -u > "$file"
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
add_overlayfiles() {
|
||||||
|
local file="$1"
|
||||||
|
|
||||||
|
local packagesfiles=$1.packagesfiles
|
||||||
|
touch "$packagesfiles"
|
||||||
|
|
||||||
|
if [ "$SAVE_OVERLAY_PATH" = / ]; then
|
||||||
|
local conffiles=$1.conffiles
|
||||||
|
local keepfiles=$1.keepfiles
|
||||||
|
|
||||||
|
list_conffiles | cut -f2 -d ' ' | sort -u > "$conffiles"
|
||||||
|
|
||||||
|
# backup files from /etc/sysupgrade.conf and /lib/upgrade/keep.d, but
|
||||||
|
# ignore those aready controlled by opkg conffiles
|
||||||
|
list_static_conffiles | sort -u |
|
||||||
|
grep -h -v -x -F -f $conffiles > "$keepfiles"
|
||||||
|
|
||||||
|
# backup conffiles, but only those changed if '-u'
|
||||||
|
[ $SKIP_UNCHANGED = 1 ] &&
|
||||||
|
list_changed_conffiles | sort -u > "$conffiles"
|
||||||
|
|
||||||
|
# do not backup files from packages, except those listed
|
||||||
|
# in conffiles and keep.d
|
||||||
|
{
|
||||||
|
find /usr/lib/opkg/info -type f -name "*.list" -exec cat {} \;
|
||||||
|
find /usr/lib/opkg/info -type f -name "*.control" -exec sed \
|
||||||
|
-ne '/^Alternatives/{s/^Alternatives: //;s/, /\n/g;p}' {} \; |
|
||||||
|
cut -f2 -d:
|
||||||
|
} | grep -v -x -F -f $conffiles |
|
||||||
|
grep -v -x -F -f $keepfiles | sort -u > "$packagesfiles"
|
||||||
|
rm -f "$keepfiles" "$conffiles"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# busybox grep bug when file is empty
|
||||||
|
[ -s "$packagesfiles" ] || echo > $packagesfiles
|
||||||
|
|
||||||
|
( cd /overlay/upper/; find .$SAVE_OVERLAY_PATH \( -type f -o -type l \) $find_filter | sed \
|
||||||
|
-e 's,^\.,,' \
|
||||||
|
-e '\,^/etc/board.json$,d' \
|
||||||
|
-e '\,/[^/]*-opkg$,d' \
|
||||||
|
-e '\,^/etc/urandom.seed$,d' \
|
||||||
|
-e "\,^$INSTALLED_PACKAGES$,d" \
|
||||||
|
-e '\,^/usr/lib/opkg/.*,d' \
|
||||||
|
) | grep -v -x -F -f $packagesfiles > "$file"
|
||||||
|
|
||||||
|
rm -f "$packagesfiles"
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $SAVE_OVERLAY = 1 ]; then
|
||||||
|
[ ! -d /overlay/upper/etc ] && {
|
||||||
|
echo "Cannot find '/overlay/upper/etc', required for '-c'" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
sysupgrade_init_conffiles="add_overlayfiles"
|
||||||
|
else
|
||||||
|
sysupgrade_init_conffiles="add_conffiles"
|
||||||
|
fi
|
||||||
|
|
||||||
|
find_filter=""
|
||||||
|
if [ $SKIP_UNCHANGED = 1 ]; then
|
||||||
|
[ ! -d /rom/ ] && {
|
||||||
|
echo "'/rom/' is required by '-u'"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
find_filter='( ( -exec test -e /rom/{} ; -exec cmp -s /{} /rom/{} ; ) -o -print )'
|
||||||
|
fi
|
||||||
|
|
||||||
|
include /lib/upgrade
|
||||||
|
|
||||||
|
do_save_conffiles() {
|
||||||
|
local conf_tar="$1"
|
||||||
|
|
||||||
|
[ "$(rootfs_type)" = "tmpfs" ] && {
|
||||||
|
echo "Cannot save config while running from ramdisk." >&2
|
||||||
|
ask_bool 0 "Abort" && exit
|
||||||
|
rm -f "$conf_tar"
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
run_hooks "$CONFFILES" $sysupgrade_init_conffiles
|
||||||
|
ask_bool 0 "Edit config file list" && vi "$CONFFILES"
|
||||||
|
|
||||||
|
if [ "$SAVE_INSTALLED_PKGS" -eq 1 ]; then
|
||||||
|
echo "${INSTALLED_PACKAGES}" >> "$CONFFILES"
|
||||||
|
mkdir -p "$ETCBACKUP_DIR"
|
||||||
|
# Avoid touching filesystem on each backup
|
||||||
|
RAMFS="$(mktemp -d -t sysupgrade.XXXXXX)"
|
||||||
|
mkdir -p "$RAMFS/upper" "$RAMFS/work"
|
||||||
|
mount -t overlay overlay -o lowerdir=$ETCBACKUP_DIR,upperdir=$RAMFS/upper,workdir=$RAMFS/work $ETCBACKUP_DIR &&
|
||||||
|
UMOUNT_ETCBACKUP_DIR=1 || {
|
||||||
|
echo "Cannot mount '$ETCBACKUP_DIR' as tmpfs to avoid touching disk while saving the list of installed packages." >&2
|
||||||
|
ask_bool 0 "Abort" && exit
|
||||||
|
}
|
||||||
|
|
||||||
|
# Format: pkg-name<TAB>{rom,overlay,unkown}
|
||||||
|
# rom is used for pkgs in /rom, even if updated later
|
||||||
|
find /usr/lib/opkg/info -name "*.control" \( \
|
||||||
|
\( -exec test -f /rom/{} \; -exec echo {} rom \; \) -o \
|
||||||
|
\( -exec test -f /overlay/upper/{} \; -exec echo {} overlay \; \) -o \
|
||||||
|
\( -exec echo {} unknown \; \) \
|
||||||
|
\) | sed -e 's,.*/,,;s/\.control /\t/' > ${INSTALLED_PACKAGES}
|
||||||
|
fi
|
||||||
|
|
||||||
|
v "Saving config files..."
|
||||||
|
[ "$VERBOSE" -gt 1 ] && TAR_V="v" || TAR_V=""
|
||||||
|
tar c${TAR_V}zf "$conf_tar" -T "$CONFFILES" 2>/dev/null
|
||||||
|
if [ "$?" -ne 0 ]; then
|
||||||
|
echo "Failed to create the configuration backup."
|
||||||
|
rm -f "$conf_tar"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ "$UMOUNT_ETCBACKUP_DIR" -eq 1 ] && {
|
||||||
|
umount "$ETCBACKUP_DIR"
|
||||||
|
rm -rf "$RAMFS"
|
||||||
|
}
|
||||||
|
rm -f "$CONFFILES"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $CONF_BACKUP_LIST -eq 1 ]; then
|
||||||
|
run_hooks "$CONFFILES" $sysupgrade_init_conffiles
|
||||||
|
[ "$SAVE_INSTALLED_PKGS" -eq 1 ] && echo ${INSTALLED_PACKAGES} >> "$CONFFILES"
|
||||||
|
cat "$CONFFILES"
|
||||||
|
rm -f "$CONFFILES"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$CONF_BACKUP" ]; then
|
||||||
|
do_save_conffiles "$CONF_BACKUP"
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$CONF_RESTORE" ]; then
|
||||||
|
if [ "$CONF_RESTORE" != "-" ] && [ ! -f "$CONF_RESTORE" ]; then
|
||||||
|
echo "Backup archive '$CONF_RESTORE' not found." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ "$VERBOSE" -gt 1 ] && TAR_V="v" || TAR_V=""
|
||||||
|
cp /etc/passwd /etc/group /etc/shadow /tmp
|
||||||
|
tar -C / -x${TAR_V}zf "$CONF_RESTORE"
|
||||||
|
missing_lines /tmp/passwd /etc/passwd >> /etc/passwd
|
||||||
|
missing_lines /tmp/group /etc/group >> /etc/group
|
||||||
|
missing_lines /tmp/shadow /etc/shadow >> /etc/shadow
|
||||||
|
rm /tmp/passwd /tmp/group /tmp/shadow
|
||||||
|
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
|
||||||
|
type platform_check_image >/dev/null 2>/dev/null || {
|
||||||
|
echo "Firmware upgrade is not implemented for this platform." >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$IMAGE" in
|
||||||
|
http://*|\
|
||||||
|
https://*)
|
||||||
|
wget -O/tmp/sysupgrade.img "$IMAGE" || exit 1
|
||||||
|
IMAGE=/tmp/sysupgrade.img
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
IMAGE="$(readlink -f "$IMAGE")"
|
||||||
|
|
||||||
|
case "$IMAGE" in
|
||||||
|
'')
|
||||||
|
echo "Image file not found." >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
/tmp/*) ;;
|
||||||
|
*)
|
||||||
|
v "Image not in /tmp, copying..."
|
||||||
|
cp -f "$IMAGE" /tmp/sysupgrade.img
|
||||||
|
IMAGE=/tmp/sysupgrade.img
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
json_load "$(/usr/libexec/validate_firmware_image "$IMAGE")" || {
|
||||||
|
echo "Failed to check image"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
json_get_var valid "valid"
|
||||||
|
[ "$valid" -eq 0 ] && {
|
||||||
|
if [ $FORCE -eq 1 ]; then
|
||||||
|
echo "Image check failed but --force given - will update anyway!" >&2
|
||||||
|
else
|
||||||
|
echo "Image check failed." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -n "$CONF_IMAGE" ]; then
|
||||||
|
case "$(get_magic_word $CONF_IMAGE cat)" in
|
||||||
|
# .gz files
|
||||||
|
1f8b) ;;
|
||||||
|
*)
|
||||||
|
echo "Invalid config file. Please use only .tar.gz files" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
get_image "$CONF_IMAGE" "cat" > "$CONF_TAR"
|
||||||
|
export SAVE_CONFIG=1
|
||||||
|
elif ask_bool $SAVE_CONFIG "Keep config files over reflash"; then
|
||||||
|
[ $TEST -eq 1 ] || do_save_conffiles "$CONF_TAR"
|
||||||
|
export SAVE_CONFIG=1
|
||||||
|
else
|
||||||
|
[ $TEST -eq 1 ] || rm -f "$CONF_TAR"
|
||||||
|
export SAVE_CONFIG=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $TEST -eq 1 ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
install_bin /sbin/upgraded
|
||||||
|
v "Commencing upgrade. Closing all shell sessions."
|
||||||
|
|
||||||
|
COMMAND='/lib/upgrade/do_stage2'
|
||||||
|
|
||||||
|
if [ -n "$FAILSAFE" ]; then
|
||||||
|
printf '%s\x00%s\x00%s' "$RAM_ROOT" "$IMAGE" "$COMMAND" >/tmp/sysupgrade
|
||||||
|
lock -u /tmp/.failsafe
|
||||||
|
else
|
||||||
|
json_init
|
||||||
|
json_add_string prefix "$RAM_ROOT"
|
||||||
|
json_add_string path "$IMAGE"
|
||||||
|
[ $FORCE -eq 1 ] && json_add_boolean force 1
|
||||||
|
[ $SAVE_CONFIG -eq 1 ] && json_add_string backup "$CONF_TAR"
|
||||||
|
json_add_string command "$COMMAND"
|
||||||
|
json_add_object options
|
||||||
|
json_add_int save_partitions "$SAVE_PARTITIONS"
|
||||||
|
json_close_object
|
||||||
|
|
||||||
|
ubus call system sysupgrade "$(json_dump)"
|
||||||
|
fi
|
0
root/package/boot/uboot-envtools/Makefile
Executable file → Normal file
0
root/package/boot/uboot-envtools/Makefile
Executable file → Normal file
0
root/package/boot/uboot-rockchip/Makefile
Executable file → Normal file
0
root/package/boot/uboot-rockchip/Makefile
Executable file → Normal file
0
root/package/boot/uboot-rockchip/patches/002-spl-remove-dtoc-of-pdata-generation.patch
Executable file → Normal file
0
root/package/boot/uboot-rockchip/patches/002-spl-remove-dtoc-of-pdata-generation.patch
Executable file → Normal file
0
root/package/boot/uboot-rockchip/patches/102-arm64-rk3399-Add-support-NanoPi-R4s.patch
Executable file → Normal file
0
root/package/boot/uboot-rockchip/patches/102-arm64-rk3399-Add-support-NanoPi-R4s.patch
Executable file → Normal file
0
root/package/boot/uboot-rockchip/src/of-platdata/nanopi-r2s-rk3328/dt-plat.c
Executable file → Normal file
0
root/package/boot/uboot-rockchip/src/of-platdata/nanopi-r2s-rk3328/dt-plat.c
Executable file → Normal file
0
root/package/boot/uboot-rockchip/src/of-platdata/nanopi-r2s-rk3328/dt-structs-gen.h
Executable file → Normal file
0
root/package/boot/uboot-rockchip/src/of-platdata/nanopi-r2s-rk3328/dt-structs-gen.h
Executable file → Normal file
0
root/package/kernel/linux/modules/crypto.mk
Executable file → Normal file
0
root/package/kernel/linux/modules/crypto.mk
Executable file → Normal file
0
root/package/kernel/linux/modules/fs.mk
Executable file → Normal file
0
root/package/kernel/linux/modules/fs.mk
Executable file → Normal file
0
root/package/kernel/linux/modules/input.mk
Executable file → Normal file
0
root/package/kernel/linux/modules/input.mk
Executable file → Normal file
0
root/package/kernel/linux/modules/netfilter.mk
Executable file → Normal file
0
root/package/kernel/linux/modules/netfilter.mk
Executable file → Normal file
0
root/package/kernel/linux/modules/other.mk
Executable file → Normal file
0
root/package/kernel/linux/modules/other.mk
Executable file → Normal file
0
root/package/kernel/linux/modules/sound.mk
Executable file → Normal file
0
root/package/kernel/linux/modules/sound.mk
Executable file → Normal file
0
root/package/kernel/mwlwifi/patches/002-remove-fallthrough.patch
Executable file → Normal file
0
root/package/kernel/mwlwifi/patches/002-remove-fallthrough.patch
Executable file → Normal file
0
root/package/kernel/mwlwifi/patches/003-remove-pcie_dev_name.patch
Executable file → Normal file
0
root/package/kernel/mwlwifi/patches/003-remove-pcie_dev_name.patch
Executable file → Normal file
0
root/package/kernel/rtl8812au-ct/Makefile
Executable file → Normal file
0
root/package/kernel/rtl8812au-ct/Makefile
Executable file → Normal file
0
root/package/network/config/firewall/patches/fullconenat.patch
Executable file → Normal file
0
root/package/network/config/firewall/patches/fullconenat.patch
Executable file → Normal file
45
root/package/network/ipv6/6in4/Makefile
Normal file
45
root/package/network/ipv6/6in4/Makefile
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2010-2015 OpenWrt.org
|
||||||
|
# Copyright (C) 2018-2019 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
|
||||||
|
# - Added gateway setting
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=6in4
|
||||||
|
PKG_VERSION:=270
|
||||||
|
PKG_RELEASE:=2
|
||||||
|
PKG_LICENSE:=GPL-2.0
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/6in4
|
||||||
|
SECTION:=net
|
||||||
|
CATEGORY:=Network
|
||||||
|
DEPENDS:=@IPV6 +kmod-sit +uclient-fetch
|
||||||
|
TITLE:=IPv6-in-IPv4 configuration support
|
||||||
|
MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||||
|
PKGARCH:=all
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/6in4/description
|
||||||
|
Provides support for 6in4 tunnels in /etc/config/network.
|
||||||
|
Refer to http://wiki.openwrt.org/doc/uci/network for
|
||||||
|
configuration details.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Configure
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/6in4/install
|
||||||
|
$(INSTALL_DIR) $(1)/lib/netifd/proto
|
||||||
|
$(INSTALL_BIN) ./files/6in4.sh $(1)/lib/netifd/proto/6in4.sh
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,6in4))
|
149
root/package/network/ipv6/6in4/files/6in4.sh
Executable file
149
root/package/network/ipv6/6in4/files/6in4.sh
Executable file
|
@ -0,0 +1,149 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# 6in4.sh - IPv6-in-IPv4 tunnel backend
|
||||||
|
# Copyright (c) 2010-2015 OpenWrt.org
|
||||||
|
|
||||||
|
[ -n "$INCLUDE_ONLY" ] || {
|
||||||
|
. /lib/functions.sh
|
||||||
|
. /lib/functions/network.sh
|
||||||
|
. ../netifd-proto.sh
|
||||||
|
init_proto "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_6in4_update() {
|
||||||
|
sh -c '
|
||||||
|
timeout=5
|
||||||
|
|
||||||
|
(while [ $((timeout--)) -gt 0 ]; do
|
||||||
|
sleep 1
|
||||||
|
kill -0 $$ || exit 0
|
||||||
|
done; kill -9 $$) 2>/dev/null &
|
||||||
|
|
||||||
|
exec "$@"
|
||||||
|
' "$1" "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_6in4_add_prefix() {
|
||||||
|
append "$3" "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_6in4_setup() {
|
||||||
|
local cfg="$1"
|
||||||
|
local iface="$2"
|
||||||
|
local link="6in4-$cfg"
|
||||||
|
|
||||||
|
local mtu ttl tos ipaddr peeraddr ip6addr ip6prefix ip6prefixes tunlink tunnelid username password updatekey gateway
|
||||||
|
json_get_vars mtu ttl tos ipaddr peeraddr ip6addr tunlink tunnelid username password updatekey gateway
|
||||||
|
json_for_each_item proto_6in4_add_prefix ip6prefix ip6prefixes
|
||||||
|
|
||||||
|
[ -z "$peeraddr" ] && {
|
||||||
|
proto_notify_error "$cfg" "MISSING_ADDRESS"
|
||||||
|
proto_block_restart "$cfg"
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -n "$tunlink" ] && ( proto_add_host_dependency "$cfg" "$peeraddr" "$tunlink" )
|
||||||
|
|
||||||
|
[ -z "$ipaddr" ] && {
|
||||||
|
local wanif="$tunlink"
|
||||||
|
if [ -z "$wanif" ] && ! network_find_wan wanif; then
|
||||||
|
proto_notify_error "$cfg" "NO_WAN_LINK"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! network_get_ipaddr ipaddr "$wanif"; then
|
||||||
|
proto_notify_error "$cfg" "NO_WAN_LINK"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_init_update "$link" 1
|
||||||
|
|
||||||
|
[ -n "$ip6addr" ] && {
|
||||||
|
local local6="${ip6addr%%/*}"
|
||||||
|
local mask6="${ip6addr##*/}"
|
||||||
|
[[ "$local6" = "$mask6" ]] && mask6=
|
||||||
|
proto_add_ipv6_address "$local6" "$mask6"
|
||||||
|
proto_add_ipv6_route "::" 0 "" "" "" "$local6/$mask6"
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -n "$gateway" ] && {
|
||||||
|
proto_add_ipv6_route "::" 0 "$gateway"
|
||||||
|
}
|
||||||
|
|
||||||
|
for ip6prefix in $ip6prefixes; do
|
||||||
|
proto_add_ipv6_prefix "$ip6prefix"
|
||||||
|
proto_add_ipv6_route "::" 0 "" "" "" "$ip6prefix"
|
||||||
|
done
|
||||||
|
|
||||||
|
proto_add_tunnel
|
||||||
|
json_add_string mode sit
|
||||||
|
json_add_int mtu "${mtu:-1280}"
|
||||||
|
json_add_int ttl "${ttl:-64}"
|
||||||
|
[ -n "$tos" ] && json_add_string tos "$tos"
|
||||||
|
json_add_string local "$ipaddr"
|
||||||
|
json_add_string remote "$peeraddr"
|
||||||
|
[ -n "$tunlink" ] && json_add_string link "$tunlink"
|
||||||
|
proto_close_tunnel
|
||||||
|
|
||||||
|
proto_send_update "$cfg"
|
||||||
|
|
||||||
|
[ -n "$tunnelid" -a -n "$username" -a \( -n "$password" -o -n "$updatekey" \) ] && {
|
||||||
|
[ -n "$updatekey" ] && password="$updatekey"
|
||||||
|
|
||||||
|
local http="http"
|
||||||
|
local urlget="uclient-fetch"
|
||||||
|
local urlget_opts="-qO-"
|
||||||
|
local ca_path="${SSL_CERT_DIR:-/etc/ssl/certs}"
|
||||||
|
|
||||||
|
[ -f /lib/libustream-ssl.so ] && http=https
|
||||||
|
[ "$http" = "https" -a -z "$(find $ca_path -name "*.0" 2>/dev/null)" ] && {
|
||||||
|
urlget_opts="$urlget_opts --no-check-certificate"
|
||||||
|
}
|
||||||
|
|
||||||
|
local url="$http://ipv4.tunnelbroker.net/nic/update?hostname=$tunnelid"
|
||||||
|
local try=0
|
||||||
|
local max=3
|
||||||
|
|
||||||
|
(
|
||||||
|
set -o pipefail
|
||||||
|
while [ $((++try)) -le $max ]; do
|
||||||
|
if proto_6in4_update $urlget $urlget_opts --user="$username" --password="$password" "$url" 2>&1 | \
|
||||||
|
sed -e 's,^Killed$,timeout,' -e "s,^,update $try/$max: ," | \
|
||||||
|
logger -t "$link";
|
||||||
|
then
|
||||||
|
logger -t "$link" "updated"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
sleep 5
|
||||||
|
done
|
||||||
|
logger -t "$link" "update failed"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_6in4_teardown() {
|
||||||
|
local cfg="$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_6in4_init_config() {
|
||||||
|
no_device=1
|
||||||
|
available=1
|
||||||
|
|
||||||
|
proto_config_add_string "ipaddr"
|
||||||
|
proto_config_add_string "ip6addr"
|
||||||
|
proto_config_add_array "ip6prefix"
|
||||||
|
proto_config_add_string "peeraddr"
|
||||||
|
proto_config_add_string "tunlink"
|
||||||
|
proto_config_add_string "tunnelid"
|
||||||
|
proto_config_add_string "username"
|
||||||
|
proto_config_add_string "password"
|
||||||
|
proto_config_add_string "updatekey"
|
||||||
|
proto_config_add_string "gateway"
|
||||||
|
proto_config_add_int "mtu"
|
||||||
|
proto_config_add_int "ttl"
|
||||||
|
proto_config_add_string "tos"
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -n "$INCLUDE_ONLY" ] || {
|
||||||
|
add_protocol 6in4
|
||||||
|
}
|
1134
root/package/network/services/dnsmasq/files/dnsmasq.init
Normal file
1134
root/package/network/services/dnsmasq/files/dnsmasq.init
Normal file
File diff suppressed because it is too large
Load diff
0
root/package/utils/wmt/Makefile
Executable file → Normal file
0
root/package/utils/wmt/Makefile
Executable file → Normal file
0
root/package/utils/wmt/files/wmt.defaults
Executable file → Normal file
0
root/package/utils/wmt/files/wmt.defaults
Executable file → Normal file
0
root/package/utils/wmt/files/wmt.init
Executable file → Normal file
0
root/package/utils/wmt/files/wmt.init
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2708/config-4.14
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2708/config-4.14
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2708/config-5.14
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2708/config-5.14
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2709/config-4.14
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2709/config-4.14
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2709/config-4.19
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2709/config-4.19
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2709/config-5.14
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2709/config-5.14
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2710/config-4.14
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2710/config-4.14
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2710/config-4.19
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2710/config-4.19
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2710/config-5.14
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2710/config-5.14
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2711/config-4.19
Executable file → Normal file
0
root/target/linux/bcm27xx/bcm2711/config-4.19
Executable file → Normal file
1
root/target/linux/bcm27xx/image/cmdline.txt
Normal file
1
root/target/linux/bcm27xx/image/cmdline.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
console=serial0,115200 console=tty1 coherent_pool=8M root=/dev/mmcblk0p2 rootfstype=squashfs,ext4 rw rootwait
|
0
root/target/linux/bcm27xx/patches-5.14/0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0002-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0002-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0003-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0003-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0004-Revert-spi-spidev-Fix-CS-polarity-if-GPIO-descriptor.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0004-Revert-spi-spidev-Fix-CS-polarity-if-GPIO-descriptor.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0005-Revert-mailbox-avoid-timer-start-from-callback.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0005-Revert-mailbox-avoid-timer-start-from-callback.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0006-Revert-Bluetooth-Always-request-for-user-confirmatio.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0006-Revert-Bluetooth-Always-request-for-user-confirmatio.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0007-Revert-Bluetooth-Always-request-for-user-confirmatio.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0007-Revert-Bluetooth-Always-request-for-user-confirmatio.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0008-smsx95xx-fix-crimes-against-truesize.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0008-smsx95xx-fix-crimes-against-truesize.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0009-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0009-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0010-Allow-mac-address-to-be-set-in-smsc95xx.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0010-Allow-mac-address-to-be-set-in-smsc95xx.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0011-cgroup-Disable-cgroup-memory-by-default.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0011-cgroup-Disable-cgroup-memory-by-default.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0012-Protect-__release_resource-against-resources-without.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0012-Protect-__release_resource-against-resources-without.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0013-irq-bcm2836-Avoid-Invalid-trigger-warning.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0013-irq-bcm2836-Avoid-Invalid-trigger-warning.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0014-irqchip-bcm2835-Add-FIQ-support.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0014-irqchip-bcm2835-Add-FIQ-support.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0015-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0015-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0016-spi-spidev-Completely-disable-the-spidev-warning.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0016-spi-spidev-Completely-disable-the-spidev-warning.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0017-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0017-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0018-rtc-Add-SPI-alias-for-pcf2123-driver.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0018-rtc-Add-SPI-alias-for-pcf2123-driver.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0019-watchdog-bcm2835-Support-setting-reboot-partition.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0019-watchdog-bcm2835-Support-setting-reboot-partition.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0020-reboot-Use-power-off-rather-than-busy-spinning-when-.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0020-reboot-Use-power-off-rather-than-busy-spinning-when-.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0021-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0021-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0022-Register-the-clocks-early-during-the-boot-process-so.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0022-Register-the-clocks-early-during-the-boot-process-so.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0023-bcm2835-rng-Avoid-initialising-if-already-enabled.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0023-bcm2835-rng-Avoid-initialising-if-already-enabled.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0024-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0024-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0025-clk-bcm2835-Add-claim-clocks-property.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0025-clk-bcm2835-Add-claim-clocks-property.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0026-clk-bcm2835-Read-max-core-clock-from-firmware.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0026-clk-bcm2835-Read-max-core-clock-from-firmware.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0027-sound-Demote-deferral-errors-to-INFO-level.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0027-sound-Demote-deferral-errors-to-INFO-level.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0028-Update-vfpmodule.c.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0028-Update-vfpmodule.c.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0029-i2c-bcm2835-Add-debug-support.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0029-i2c-bcm2835-Add-debug-support.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0030-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0030-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0031-lan78xx-Enable-LEDs-and-auto-negotiation.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0031-lan78xx-Enable-LEDs-and-auto-negotiation.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0032-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0032-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0033-amba_pl011-Round-input-clock-up.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0033-amba_pl011-Round-input-clock-up.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0034-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0034-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0035-amba_pl011-Add-cts-event-workaround-DT-property.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0035-amba_pl011-Add-cts-event-workaround-DT-property.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0036-tty-amba-pl011-Add-un-throttle-support.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0036-tty-amba-pl011-Add-un-throttle-support.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0037-tty-amba-pl011-Avoid-rare-write-when-full-error.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0037-tty-amba-pl011-Avoid-rare-write-when-full-error.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0039-Main-bcm2708-bcm2709-linux-port.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0039-Main-bcm2708-bcm2709-linux-port.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0040-Add-dwc_otg-driver.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0040-Add-dwc_otg-driver.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0041-bcm2708-framebuffer-driver.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0041-bcm2708-framebuffer-driver.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0042-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0042-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0043-fbdev-add-FBIOCOPYAREA-ioctl.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0043-fbdev-add-FBIOCOPYAREA-ioctl.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0044-Speed-up-console-framebuffer-imageblit-function.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0044-Speed-up-console-framebuffer-imageblit-function.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0045-dmaengine-Add-support-for-BCM2708.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0045-dmaengine-Add-support-for-BCM2708.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0046-MMC-added-alternative-MMC-driver.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0046-MMC-added-alternative-MMC-driver.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0047-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0047-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0048-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0048-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0049-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0049-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0050-Add-SMI-driver.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0050-Add-SMI-driver.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0051-Add-Chris-Boot-s-i2c-driver.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0051-Add-Chris-Boot-s-i2c-driver.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0052-char-broadcom-Add-vcio-module.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0052-char-broadcom-Add-vcio-module.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0053-firmware-bcm2835-Support-ARCH_BCM270x.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0053-firmware-bcm2835-Support-ARCH_BCM270x.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0054-BCM2708-Add-core-Device-Tree-support.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0054-BCM2708-Add-core-Device-Tree-support.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0055-leds-Add-the-input-trigger-for-pwr_led.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0055-leds-Add-the-input-trigger-for-pwr_led.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0056-Added-Device-IDs-for-August-DVB-T-205.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0056-Added-Device-IDs-for-August-DVB-T-205.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0057-Improve-__copy_to_user-and-__copy_from_user-performa.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0057-Improve-__copy_to_user-and-__copy_from_user-performa.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0058-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0058-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0059-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0059-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0060-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0060-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0061-rpi_display-add-backlight-driver-and-overlay.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0061-rpi_display-add-backlight-driver-and-overlay.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0062-bcm2835-virtgpio-Virtual-GPIO-driver.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0062-bcm2835-virtgpio-Virtual-GPIO-driver.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0063-OF-DT-Overlay-configfs-interface.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0063-OF-DT-Overlay-configfs-interface.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0064-brcm-adds-support-for-BCM43341-wifi.patch
Executable file → Normal file
0
root/target/linux/bcm27xx/patches-5.14/0064-brcm-adds-support-for-BCM43341-wifi.patch
Executable file → Normal file
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue