diff --git a/.github/workflows/build-gluon.yml b/.github/workflows/build-gluon.yml
index 904612b60e75ad6f70e286a58d385eac2367b30a..944870aa17120a324504fe503af2ab9e9d76cf28 100644
--- a/.github/workflows/build-gluon.yml
+++ b/.github/workflows/build-gluon.yml
@@ -32,7 +32,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        target: [ath79-generic, ath79-nand, bcm27xx-bcm2708, bcm27xx-bcm2709, ipq40xx-generic, ipq806x-generic, lantiq-xrx200, lantiq-xway, mediatek-mt7622, mpc85xx-p1010, mpc85xx-p1020, ramips-mt7620, ramips-mt7621, ramips-mt76x8, ramips-rt305x, rockchip-armv8, sunxi-cortexa7, x86-generic, x86-geode, x86-legacy, x86-64, bcm27xx-bcm2710, mvebu-cortexa9]
+        target: [ath79-generic, ath79-nand, bcm27xx-bcm2708, bcm27xx-bcm2709, ipq40xx-generic, ipq806x-generic, lantiq-xrx200, lantiq-xway, mediatek-mt7622, mpc85xx-p1010, mpc85xx-p1020, ramips-mt7620, ramips-mt7621, ramips-mt76x8, rockchip-armv8, sunxi-cortexa7, x86-generic, x86-geode, x86-legacy, x86-64, bcm27xx-bcm2710, mvebu-cortexa9]
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v1
diff --git a/docs/user/supported_devices.rst b/docs/user/supported_devices.rst
index b26fc4e383aa0c2f03f3a65ad8ee020242c0a9b3..0020c532351694a396e10a7e6d6f6e6f99e205ea 100644
--- a/docs/user/supported_devices.rst
+++ b/docs/user/supported_devices.rst
@@ -250,13 +250,6 @@ ramips-mt76x8
   - Xiaomi Mi Router 4A (100M Edition)
   - Xiaomi Mi Router 4C
 
-ramips-rt305x [#deprecated]_  [#device-class-tiny]_
----------------------------------------------------
-
-* VoCore
-
-  - VoCore (8M, 16M)
-
 rockchip-armv8
 --------------
 
@@ -299,10 +292,6 @@ See also: :doc:`x86`
 Footnotes
 ---------
 
-.. [#deprecated]
-  The device or target is reaching its end of life soon. This means that support
-  in the next major release of Gluon is doubtful.
-
 .. [#device-class-tiny]
   These devices only support a subset of Gluons capabilities due to flash or memory
   size constraints. Devices are classified as tiny in they provide less than 7M of usable
diff --git a/package/gluon-client-bridge/Makefile b/package/gluon-client-bridge/Makefile
index a2daf34b458a78ba35d042f539754965834f8bb5..e65e4eeff92768f231fbf9d2509e28a59246fb66 100644
--- a/package/gluon-client-bridge/Makefile
+++ b/package/gluon-client-bridge/Makefile
@@ -7,7 +7,7 @@ include ../gluon.mk
 
 define Package/gluon-client-bridge
   TITLE:=Provides a bridge and a wireless interface for clients to connect to
-  DEPENDS:=+gluon-core +kmod-veth +@GLUON_SPECIALIZE_KERNEL:KERNEL_VETH
+  DEPENDS:=+gluon-core +kmod-veth
 endef
 
 $(eval $(call BuildPackageGluon,gluon-client-bridge))
diff --git a/package/gluon-core/Config.in b/package/gluon-core/Config.in
deleted file mode 100644
index 6550ec7eca3b8e0d3a55e89a27d87c8a0e6eb20f..0000000000000000000000000000000000000000
--- a/package/gluon-core/Config.in
+++ /dev/null
@@ -1,360 +0,0 @@
-config KERNEL_NET_IP_TUNNEL
-	bool
-
-config KERNEL_NET_UDP_TUNNEL
-	bool
-
-config KERNEL_VXLAN
-	bool
-	select KERNEL_NET_IP_TUNNEL
-	select KERNEL_NET_UDP_TUNNEL
-
-config KERNEL_VETH
-	bool
-
-
-# for fastd
-
-config KERNEL_TUN
-	bool
-
-
-# for tunneldigger
-
-config KERNEL_L2TP_V3
-	bool
-
-config KERNEL_L2TP_ETH
-	bool
-
-config KERNEL_L2TP
-	bool
-	select KERNEL_L2TP_V3
-	select KERNEL_L2TP_ETH
-
-
-# for simple-tc
-
-config KERNEL_NET_SCHED
-	bool
-
-config KERNEL_NET_CLS
-	bool
-	select KERNEL_NET_SCHED
-
-config KERNEL_NET_CLS_ACT
-	bool
-	select KERNEL_NET_CLS
-
-config KERNEL_NET_ACT_POLICE
-	bool
-	select KERNEL_NET_CLS_ACT
-
-config KERNEL_NET_CLS_BASIC
-	bool
-	select KERNEL_NET_CLS
-
-config KERNEL_NET_SCH_TBF
-	bool
-	select KERNEL_NET_SCHED
-
-config KERNEL_NET_SCH_INGRESS
-	bool
-	select KERNEL_NET_CLS_ACT
-
-
-# for batman-adv
-
-config KERNEL_DUMMY
-	bool
-
-config KERNEL_CRC16
-	bool
-
-config KERNEL_LIBCRC32C
-	bool
-
-
-# Netfilter modules used by ebtables and fw3
-
-config KERNEL_NETFILTER
-	bool
-
-config KERNEL_NETFILTER_ADVANCED
-	bool
-	select KERNEL_NETFILTER
-
-config KERNEL_NETFILTER_XTABLES
-	bool
-	select KERNEL_NETFILTER_ADVANCED
-
-config KERNEL_BRIDGE_NF_EBTABLES
-	bool
-	select KERNEL_NETFILTER_XTABLES
-
-config KERNEL_BRIDGE_EBT_T_FILTER
-	bool
-	select KERNEL_BRIDGE_NF_EBTABLES
-
-config KERNEL_BRIDGE_EBT_T_NAT
-	bool
-	select KERNEL_BRIDGE_NF_EBTABLES
-
-config KERNEL_BRIDGE_EBT_ARP
-	bool
-	select KERNEL_BRIDGE_NF_EBTABLES
-
-config KERNEL_BRIDGE_EBT_DNAT
-	bool
-	select KERNEL_BRIDGE_NF_EBTABLES
-
-config KERNEL_BRIDGE_EBT_IP
-	bool
-	select KERNEL_BRIDGE_NF_EBTABLES
-
-config KERNEL_BRIDGE_EBT_IP6
-	bool
-	select KERNEL_BRIDGE_NF_EBTABLES
-
-config KERNEL_BRIDGE_EBT_LIMIT
-	bool
-	select KERNEL_BRIDGE_NF_EBTABLES
-
-config KERNEL_BRIDGE_EBT_MARK
-	bool
-	select KERNEL_BRIDGE_NF_EBTABLES
-
-config KERNEL_BRIDGE_EBT_MARK_T
-	bool
-	select KERNEL_BRIDGE_NF_EBTABLES
-
-config KERNEL_BRIDGE_EBT_REDIRECT
-	bool
-	select KERNEL_BRIDGE_NF_EBTABLES
-
-# Not all of the following modules are really required for Gluon, but fw3 pulls
-# them in, so we add them to the kernel config to reduce the number of loaded
-# modules
-
-# kmod-nf-conntrack
-
-config KERNEL_NF_CONNTRACK
-	bool
-	select KERNEL_NETFILTER_ADVANCED
-
-config KERNEL_NF_CONNTRACK_RTCACHE
-	bool
-	select KERNEL_NF_CONNTRACK
-
-config KERNEL_NF_CONNTRACK_IPV4
-	bool
-	select KERNEL_NF_CONNTRACK
-
-
-# kmod-nf-conntrack6
-
-config KERNEL_NF_CONNTRACK_IPV6
-	bool
-	select KERNEL_NF_CONNTRACK
-
-
-# kmod-nf-ipt
-
-config KERNEL_NF_REJECT_IPV4
-	bool
-	select KERNEL_NETFILTER_ADVANCED
-
-config KERNEL_IP_NF_IPTABLES
-	bool
-	select KERNEL_NETFILTER_XTABLES
-	select KERNEL_NF_REJECT_IPV4
-
-
-# kmod-nf-ipt6
-
-config KERNEL_NF_REJECT_IPV6
-	bool
-	select KERNEL_NETFILTER_ADVANCED
-
-config KERNEL_IP6_NF_IPTABLES
-	bool
-	select KERNEL_NETFILTER_XTABLES
-	select KERNEL_NF_REJECT_IPV6
-
-
-# kmod-nf-nat
-
-config KERNEL_NF_NAT
-	bool
-	select KERNEL_NF_CONNTRACK
-
-config KERNEL_NF_NAT_REDIRECT
-	bool
-	select KERNEL_NF_NAT
-
-config KERNEL_NF_NAT_IPV4
-	bool
-	select KERNEL_NETFILTER_ADVANCED
-	select KERNEL_NF_NAT
-
-config KERNEL_NF_NAT_MASQUERADE_IPV4
-	bool
-	select KERNEL_NF_NAT_IPV4
-
-
-# kmod-ipt-core
-
-config KERNEL_IP_NF_FILTER
-	bool
-	select KERNEL_IP_NF_IPTABLES
-
-config KERNEL_IP_NF_MANGLE
-	bool
-	select KERNEL_IP_NF_IPTABLES
-
-config KERNEL_IP_NF_TARGET_REJECT
-	bool
-	select KERNEL_IP_NF_FILTER
-
-config KERNEL_NETFILTER_XT_MATCH_LIMIT
-	bool
-	select KERNEL_NETFILTER_XTABLES
-
-config KERNEL_NETFILTER_XT_MATCH_MAC
-	bool
-	select KERNEL_NETFILTER_XTABLES
-
-config KERNEL_NETFILTER_XT_MATCH_MULTIPORT
-	bool
-	select KERNEL_NETFILTER_XTABLES
-
-config KERNEL_NETFILTER_XT_MATCH_COMMENT
-	bool
-	select KERNEL_NETFILTER_XTABLES
-
-config KERNEL_NETFILTER_XT_MATCH_TIME
-	bool
-	select KERNEL_NETFILTER_XTABLES
-
-config KERNEL_NETFILTER_XT_MARK
-	bool
-	select KERNEL_NETFILTER_XTABLES
-
-config KERNEL_NETFILTER_XT_TARGET_LOG
-	bool
-	select KERNEL_NETFILTER_XTABLES
-
-config KERNEL_NETFILTER_XT_TARGET_TCPMSS
-	bool
-	select KERNEL_NETFILTER_XTABLES
-
-# kmod-ip6tables
-
-config KERNEL_IP6_NF_FILTER
-	bool
-	select KERNEL_IP6_NF_IPTABLES
-
-config KERNEL_IP6_NF_MANGLE
-	bool
-	select KERNEL_IP6_NF_IPTABLES
-
-config KERNEL_IP6_NF_TARGET_REJECT
-	bool
-	select KERNEL_IP6_NF_IPTABLES
-
-
-# kmod-ipt-conntrack
-
-config KERNEL_NETFILTER_XT_MATCH_STATE
-	bool
-	select KERNEL_NETFILTER_XTABLES
-	select KERNEL_NF_CONNTRACK
-
-config KERNEL_NETFILTER_XT_MATCH_CONNTRACK
-	bool
-	select KERNEL_NETFILTER_XTABLES
-	select KERNEL_NF_CONNTRACK
-
-config KERNEL_IP_NF_RAW
-	bool
-	select KERNEL_IP_NF_IPTABLES
-
-config KERNEL_NETFILTER_XT_TARGET_CT
-	bool
-	select KERNEL_NETFILTER_XTABLES
-	select KERNEL_NF_CONNTRACK
-	select KERNEL_IP_NF_RAW
-
-
-# kmod-ipt-nat
-
-config KERNEL_IP_NF_NAT
-	bool
-	select KERNEL_NF_NAT
-	select KERNEL_IP_NF_IPTABLES
-
-config KERNEL_IP_NF_TARGET_MASQUERADE
-	bool
-	select KERNEL_NF_NAT_MASQUERADE_IPV4
-	select KERNEL_IP_NF_NAT
-
-config KERNEL_IP_NF_TARGET_REDIRECT
-	bool
-	select KERNEL_NF_NAT
-	select KERNEL_IP_NF_NAT
-
-
-# kmod-ipt-extra
-
-config KERNEL_NETFILTER_XT_MATCH_ADDRTYPE
-	bool
-	select KERNEL_NETFILTER_XTABLES
-
-config KERNEL_NETFILTER_XT_MATCH_OWNER
-	bool
-	select KERNEL_NETFILTER_XTABLES
-
-config KERNEL_NETFILTER_XT_MATCH_PKTTYPE
-	bool
-	select KERNEL_NETFILTER_XTABLES
-
-config KERNEL_NETFILTER_XT_MATCH_QUOTA
-	bool
-	select KERNEL_NETFILTER_XTABLES
-
-
-config GLUON_SPECIALIZE_KERNEL
-	bool "Specialize kernel for Gluon"
-	select KERNEL_VXLAN
-	select KERNEL_NF_CONNTRACK_RTCACHE
-	select KERNEL_NF_CONNTRACK_IPV4
-	select KERNEL_NF_CONNTRACK_IPV6
-	select KERNEL_IP_NF_IPTABLES
-	select KERNEL_IP6_NF_IPTABLES
-	select KERNEL_NF_NAT_REDIRECT
-	select KERNEL_NF_NAT_IPV4
-	select KERNEL_NF_NAT_MASQUERADE_IPV4
-	select KERNEL_IP_NF_FILTER
-	select KERNEL_IP_NF_MANGLE
-	select KERNEL_IP_NF_TARGET_REJECT
-	select KERNEL_IP6_NF_FILTER
-	select KERNEL_IP6_NF_MANGLE
-	select KERNEL_IP6_NF_TARGET_REJECT
-	select KERNEL_NETFILTER_XT_MATCH_LIMIT
-	select KERNEL_NETFILTER_XT_MATCH_MAC
-	select KERNEL_NETFILTER_XT_MATCH_MULTIPORT
-	select KERNEL_NETFILTER_XT_MATCH_COMMENT
-	select KERNEL_NETFILTER_XT_MATCH_TIME
-	select KERNEL_NETFILTER_XT_MARK
-	select KERNEL_NETFILTER_XT_TARGET_LOG
-	select KERNEL_NETFILTER_XT_TARGET_TCPMSS
-	select KERNEL_NETFILTER_XT_MATCH_STATE
-	select KERNEL_NETFILTER_XT_MATCH_CONNTRACK
-	select KERNEL_NETFILTER_XT_TARGET_CT
-	select KERNEL_IP_NF_NAT
-	select KERNEL_IP_NF_TARGET_MASQUERADE
-	select KERNEL_IP_NF_TARGET_REDIRECT
-
-config GLUON_MINIFY
-	bool "Minify Gluon scripts"
-	default y
diff --git a/package/gluon-core/Makefile b/package/gluon-core/Makefile
index 37aaa3f2c1d8ae175d5dcfc9509898e822e0f626..e8f695353906f1a3d1acd0148703860c699982fb 100644
--- a/package/gluon-core/Makefile
+++ b/package/gluon-core/Makefile
@@ -22,7 +22,9 @@ define Package/gluon-core/description
 endef
 
 define Package/gluon-core/config
-        source "$(SOURCE)/Config.in"
+config GLUON_MINIFY
+	bool "Minify Gluon scripts"
+	default y
 endef
 
 define Package/gluon-core/install
diff --git a/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
index 5bfe534ee1f4532ae5d885c65f378dc3ea1eebf6..24bb9cd6ce335ed45e66c773a8efdc630762a3a1 100644
--- a/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
+++ b/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
@@ -44,11 +44,6 @@ function M.is_outdoor_device()
 end
 
 function M.device_supports_wpa3()
-	-- rt2x00 crashes when enabling WPA3 personal / OWE VAP
-	if M.match('ramips', 'rt305x') then
-		return false
-	end
-
 	return unistd.access('/lib/gluon/features/wpa3')
 end
 
diff --git a/package/gluon-ebtables-limit-arp/Makefile b/package/gluon-ebtables-limit-arp/Makefile
index f7bdc48d0969b404a97d3f733e8fe95f26a433d2..852900ef1e1365f409628f4a7f4e25c76b5f7162 100644
--- a/package/gluon-ebtables-limit-arp/Makefile
+++ b/package/gluon-ebtables-limit-arp/Makefile
@@ -8,10 +8,7 @@ include ../gluon.mk
 
 define Package/gluon-ebtables-limit-arp
   TITLE:=Ebtables limiter for ARP packets
-  DEPENDS:=+gluon-core +gluon-ebtables gluon-mesh-batman-adv \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_BRIDGE_EBT_LIMIT \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_BRIDGE_EBT_MARK \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_BRIDGE_EBT_MARK_T
+  DEPENDS:=+gluon-core +gluon-ebtables gluon-mesh-batman-adv
 endef
 
 define Package/gluon-ebtables-limit-arp/description
diff --git a/package/gluon-ebtables/Makefile b/package/gluon-ebtables/Makefile
index ca83fcf484159df906aef74abd8421d2c8413dd8..e15cfe596d274e9c8fb4bbae4d67a57b098d6e6b 100644
--- a/package/gluon-ebtables/Makefile
+++ b/package/gluon-ebtables/Makefile
@@ -4,21 +4,12 @@ PKG_NAME:=gluon-ebtables
 PKG_VERSION:=1
 PKG_RELEASE:=1
 
-PKG_CONFIG_DEPENDS := CONFIG_GLUON_SPECIALIZE_KERNEL
-
 include ../gluon.mk
 
 define Package/gluon-ebtables
   TITLE:=Ebtables support
   DEPENDS:=+gluon-core +ebtables-tiny \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_BRIDGE_EBT_T_FILTER \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_BRIDGE_EBT_T_NAT \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_BRIDGE_EBT_ARP \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_BRIDGE_EBT_IP \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_BRIDGE_EBT_IP6 \
-	+!GLUON_SPECIALIZE_KERNEL:kmod-ebtables \
-	+!GLUON_SPECIALIZE_KERNEL:kmod-ebtables-ipv4 \
-	+!GLUON_SPECIALIZE_KERNEL:kmod-ebtables-ipv6
+	+kmod-ebtables +kmod-ebtables-ipv4 +kmod-ebtables-ipv6
 endef
 
 define Package/gluon-ebtables/description
diff --git a/package/gluon-mesh-batman-adv/Makefile b/package/gluon-mesh-batman-adv/Makefile
index eac84ac5f3c2cc1557c8e96031b805e46d878572..1d124584c4481214455a0293ff5f56175738abb4 100644
--- a/package/gluon-mesh-batman-adv/Makefile
+++ b/package/gluon-mesh-batman-adv/Makefile
@@ -19,10 +19,7 @@ define Package/gluon-mesh-batman-adv-15
 	+kmod-dummy \
 	+libnl-tiny \
 	+libbatadv \
-	+batctl \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_DUMMY \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_CRC16 \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_LIBCRC32C
+	+batctl
 endef
 
 $(eval $(call BuildPackageGluon,gluon-mesh-batman-adv-15))
diff --git a/package/gluon-mesh-vpn-core/Makefile b/package/gluon-mesh-vpn-core/Makefile
index 1acf17ca378bd45cd6e074ea95b101566b088811..4e4c23c4ebcad36aec3da6e206f5903fd1d50fe3 100644
--- a/package/gluon-mesh-vpn-core/Makefile
+++ b/package/gluon-mesh-vpn-core/Makefile
@@ -7,15 +7,7 @@ include ../gluon.mk
 
 define Package/gluon-mesh-vpn-core
   TITLE:=Basic support for connecting meshes via VPN tunnels
-  DEPENDS:=+gluon-core +gluon-wan-dnsmasq +iptables +iptables-mod-extra +simple-tc \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_NETFILTER_XT_MATCH_ADDRTYPE \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_NETFILTER_XT_MATCH_OWNER \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_NETFILTER_XT_MATCH_PKTTYPE \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_NETFILTER_XT_MATCH_QUOTA \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_NET_CLS_BASIC \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_NET_ACT_POLICE \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_NET_SCH_TBF \
-	+@GLUON_SPECIALIZE_KERNEL:KERNEL_NET_SCH_INGRESS
+  DEPENDS:=+gluon-core +gluon-wan-dnsmasq +iptables +iptables-mod-extra +simple-tc
   USERID:=:gluon-mesh-vpn=800
 endef
 
diff --git a/package/gluon-mesh-vpn-fastd/Makefile b/package/gluon-mesh-vpn-fastd/Makefile
index 087aff5f83c114bc84078a8df24bedce5e6a0447..de5111ca5fb6c2a59140e3f1fae5749e793b9a52 100644
--- a/package/gluon-mesh-vpn-fastd/Makefile
+++ b/package/gluon-mesh-vpn-fastd/Makefile
@@ -7,7 +7,7 @@ include ../gluon.mk
 
 define Package/gluon-mesh-vpn-fastd
   TITLE:=Support for connecting meshes via fastd
-  DEPENDS:=+gluon-core +libgluonutil +gluon-mesh-vpn-core +fastd +@GLUON_SPECIALIZE_KERNEL:KERNEL_TUN
+  DEPENDS:=+gluon-core +libgluonutil +gluon-mesh-vpn-core +fastd
 endef
 
 $(eval $(call BuildPackageGluon,gluon-mesh-vpn-fastd))
diff --git a/package/gluon-mesh-vpn-tunneldigger/Makefile b/package/gluon-mesh-vpn-tunneldigger/Makefile
index b7a5f18d4cb235ad69b261b2fd1644c21f4a115b..376cec098f24b31ffa6b499f22e8a6ea81cc86cd 100644
--- a/package/gluon-mesh-vpn-tunneldigger/Makefile
+++ b/package/gluon-mesh-vpn-tunneldigger/Makefile
@@ -7,7 +7,7 @@ include ../gluon.mk
 
 define Package/gluon-mesh-vpn-tunneldigger
   TITLE:=Support for connecting meshes via tunneldigger/L2TPv3 pseudowire
-  DEPENDS:=+gluon-core +gluon-mesh-vpn-core +tunneldigger +@GLUON_SPECIALIZE_KERNEL:KERNEL_L2TP
+  DEPENDS:=+gluon-core +gluon-mesh-vpn-core +tunneldigger
 endef
 
 $(eval $(call BuildPackageGluon,gluon-mesh-vpn-tunneldigger))
diff --git a/scripts/copy_output.lua b/scripts/copy_output.lua
index 9f14fba5049628cb2a87928b0a2e321f5a30f4fa..b5c6f1b243c5238f21fca6763b26c50f3a3c0b18 100755
--- a/scripts/copy_output.lua
+++ b/scripts/copy_output.lua
@@ -83,7 +83,7 @@ lib.exec {'cp', kernel_debug_source, kernel_debug_dest}
 
 
 -- Copy opkg repo
-if lib.opkg and (env.GLUON_DEVICES or '') == '' then
+if (env.GLUON_DEVICES or '') == '' then
 	local package_prefix = string.format('gluon-%s-%s', lib.site_code, env.GLUON_RELEASE)
 	local function dest_dir(prefix)
 		return env.GLUON_PACKAGEDIR..'/'..prefix..'/'..bindir
diff --git a/scripts/target_config_lib.lua b/scripts/target_config_lib.lua
index 4b107e2bd0c982ed785021dd9134685ec90d2329..c2237f72e7734d88f65dd64a1b1f4a735a4c5d58 100644
--- a/scripts/target_config_lib.lua
+++ b/scripts/target_config_lib.lua
@@ -151,13 +151,6 @@ lib.include(target)
 
 lib.check_devices()
 
-if not lib.opkg then
-	lib.config('SIGNED_PACKAGES', false)
-	lib.config('CLEAN_IPKG', true)
-	lib.config('ALL_NONSHARED', false)
-	lib.packages {'-opkg'}
-end
-
 if #lib.devices > 0 then
 	handle_target_pkgs(lib.target_packages)
 
diff --git a/scripts/target_lib.lua b/scripts/target_lib.lua
index babec324b499785e75eaa4b3764e1f8db64bfd44..36a6ee91f63b24f9a544874977f75325ca8dc227 100644
--- a/scripts/target_lib.lua
+++ b/scripts/target_lib.lua
@@ -28,7 +28,6 @@ M.target_packages = {}
 M.configs = {}
 M.devices = {}
 M.images = {}
-M.opkg = true
 
 
 local default_options = {
@@ -309,10 +308,6 @@ function F.sysupgrade_image(image, name, ext, options)
 	}
 end
 
-function F.no_opkg()
-	M.opkg = false
-end
-
 function F.defaults(options)
 	default_options = merge(default_options, options)
 end
diff --git a/targets/ramips-rt305x b/targets/ramips-rt305x
deleted file mode 100644
index f8be18c772df2fb8c9557a7d182fd3fbb3a288a7..0000000000000000000000000000000000000000
--- a/targets/ramips-rt305x
+++ /dev/null
@@ -1,18 +0,0 @@
-config('KERNEL_KALLSYMS', false)
-config('GLUON_SPECIALIZE_KERNEL', true)
-
-no_opkg()
-
-defaults {
-	class = 'tiny',  -- 32M RAM
-}
-
--- VoCore
-
-device('vocore-8M', 'vocore_vocore-8m', {
-	factory = false,
-})
-
-device('vocore-16M', 'vocore_vocore-16m', {
-	factory = false,
-})
diff --git a/targets/targets.mk b/targets/targets.mk
index 67e87fa26511bba18766f366ded3186a4d5d53b4..92b58ab8899f4a78e5088f07136b64b59a293da2 100644
--- a/targets/targets.mk
+++ b/targets/targets.mk
@@ -12,7 +12,6 @@ $(eval $(call GluonTarget,mpc85xx,p1020))
 $(eval $(call GluonTarget,ramips,mt7620))
 $(eval $(call GluonTarget,ramips,mt7621))
 $(eval $(call GluonTarget,ramips,mt76x8))
-$(eval $(call GluonTarget,ramips,rt305x))
 $(eval $(call GluonTarget,rockchip,armv8))
 $(eval $(call GluonTarget,sunxi,cortexa7))
 $(eval $(call GluonTarget,x86,generic))