profiles 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. #!/usr/bin/env bash
  2. # shellcheck disable=SC2034
  3. # This file contains a set of device profiles for openwrtbuilder
  4. # bash doesn't like nested arrays so we use strings instead
  5. # Packages to install for all profiles
  6. default_packages="\
  7. luci \
  8. luci-ssl \
  9. nano \
  10. htop \
  11. diffutils \
  12. tar \
  13. iperf3 \
  14. bash \
  15. rsync \
  16. luci-app-statistics \
  17. luci-app-attendedsysupgrade \
  18. collectd-mod-sensors \
  19. collectd-mod-thermal \
  20. collectd-mod-conntrack \
  21. collectd-mod-cpu"
  22. #################
  23. # Current devices
  24. #################
  25. # Main router
  26. declare -Ag r4s
  27. r4s['device']="friendlyarm_nanopi-r4s"
  28. r4s['target']="rockchip/armv8"
  29. r4s['filesystem']="ext4"
  30. r4s['packages']="\
  31. $default_packages \
  32. luci-app-wireguard \
  33. luci-proto-wireguard \
  34. luci-app-ddns \
  35. irqbalance \
  36. collectd-mod-df \
  37. usbutils \
  38. kmod-usb-storage \
  39. kmod-usb-storage-uas \
  40. kmod-fs-btrfs \
  41. btrfs-progs \
  42. block-mount \
  43. smcroute \
  44. avahi-daemon \
  45. curl \
  46. ethtool \
  47. ca-bundle \
  48. -libustream-wolfssl"
  49. # The following are source mode only
  50. r4s['kopts']="\
  51. CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y \
  52. CONFIG_BTRFS_PROGS_ZSTD=y \
  53. CONFIG_TARGET_ROOTFS_PARTSIZE=512 \
  54. CONFIG_TARGET_KERNEL_PARTSIZE=32 \
  55. CONFIG_TESTING_KERNEL=y"
  56. r4s['files']="\
  57. /mnt/backup"
  58. # WDS mesh nodes
  59. declare -Ag ax6000
  60. ax6000['device']="xiaomi_redmi-router-ax6000-stock"
  61. ax6000['target']="mediatek/filogic"
  62. ax6000['release']="snapshot"
  63. ax6000['filesystem']="squashfs"
  64. ax6000['packages']="\
  65. $default_packages \
  66. -dnsmasq \
  67. -odhcpd-ipv6only \
  68. -nftables \
  69. -firewall4"
  70. # for 802.11s
  71. # mesh11sd \
  72. # -wpad-basic-mbedtls \
  73. # wpad-mesh-mbedtls"
  74. # WDS mesh nodes
  75. declare -Ag ax6000_ap
  76. ax6000_ap['device']="xiaomi_redmi-router-ax6000-stock"
  77. ax6000_ap['target']="mediatek/filogic"
  78. ax6000_ap['release']="snapshot"
  79. ax6000_ap['filesystem']="squashfs"
  80. ax6000_ap['packages']="\
  81. $default_packages \
  82. avahi-daemon \
  83. smcroute \
  84. ca-bundle"
  85. # For converted uboots
  86. # declare -Ag ax6000_uboot
  87. # ax6000_uboot['device']="xiaomi_redmi-router-ax6000-ubootmod"
  88. # ax6000_uboot['target']="mediatek/filogic"
  89. # ax6000_uboot['release']="snapshot"
  90. # ax6000_uboot['filesystem']="squashfs"
  91. # ax6000_uboot['packages']="\
  92. # $default_packages \
  93. # -dnsmasq \
  94. # -odhcpd-ipv6only \
  95. # -nftables \
  96. # -firewall4 \
  97. # -kmod-nft-offload \
  98. # collectd-mod-iwinfo"
  99. # Remote NAS
  100. declare -Ag n5100
  101. n5100['device']="generic"
  102. n5100['target']="x86/64"
  103. n5100['filesystem']="squashfs"
  104. n5100['packages']="\
  105. $default_packages \
  106. luci-app-wireguard \
  107. luci-proto-wireguard \
  108. luci-app-ddns \
  109. irqbalance \
  110. collectd-mod-df \
  111. usbutils \
  112. kmod-usb-storage \
  113. kmod-usb-storage-uas \
  114. kmod-fs-btrfs \
  115. btrfs-progs \
  116. block-mount \
  117. cryptsetup \
  118. kmod-crypto-xts \
  119. smcroute \
  120. avahi-daemon \
  121. curl \
  122. ethtool \
  123. ca-bundle \
  124. smartmontools \
  125. intel-microcode \
  126. lm-sensors \
  127. samba4-server \
  128. luci-app-samba4 \
  129. tailscale \
  130. shadow-useradd"
  131. # The following are source mode only
  132. n5100['kopts']="\
  133. CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y \
  134. CONFIG_BTRFS_PROGS_ZSTD=y \
  135. CONFIG_TARGET_ROOTFS_PARTSIZE=512 \
  136. CONFIG_TARGET_KERNEL_PARTSIZE=32"
  137. n5100['files']="\
  138. /mnt/backup"
  139. # Dusty drawer
  140. declare -Ag rpi4
  141. rpi4['device']="rpi-4"
  142. rpi4['target']="bcm27xx/bcm2711"
  143. rpi4['filesystem']="ext4"
  144. rpi4['packages']="\
  145. $default_packages \
  146. kmod-usb-net-asix-ax88179 \
  147. kmod-usb-net-rtl8152 \
  148. luci-app-upnp \
  149. luci-app-wireguard \
  150. luci-app-pbr \
  151. -dnsmasq \
  152. dnsmasq-full \
  153. luci-app-ddns \
  154. luci-app-sqm"
  155. #################
  156. # Stock builds
  157. #################
  158. declare -Ag r4s_stock
  159. r4s_stock['device']="friendlyarm_nanopi-r4s"
  160. r4s_stock['target']="rockchip/armv8"
  161. r4s_stock['filesystem']="ext4"
  162. r4s_stock['release']="snapshot"
  163. #################
  164. # Old devices
  165. #################
  166. declare -Ag totolink
  167. totolink['device']="totolink_x5000r"
  168. totolink['target']="ramips/mt7621"
  169. totolink['filesystem']="squashfs"
  170. totolink['packages']="\
  171. $default_packages \
  172. -dnsmasq \
  173. -odhcpd-ipv6only \
  174. -nftables \
  175. -firewall4 \
  176. -kmod-nft-offload \
  177. collectd-mod-iwinfo"
  178. declare -Ag archer
  179. archer['device']="tplink_archer-c7-v2"
  180. archer['target']="ath79/generic"
  181. archer['filesystem']="squashfs"
  182. archer['packages']="\
  183. $default_packages \
  184. -dnsmasq \
  185. -odhcpd \
  186. -iptables \
  187. -ath10k-firmware-qca988x-ct \
  188. ath10k-firmware-qca988x-ct-full-htt"
  189. declare -Ag linksys
  190. linksys['device']="linksys_ea8300"
  191. linksys['target']="ipq40xx/generic"
  192. linksys['filesystem']="squashfs"
  193. linksys['packages']="\
  194. $default_packages \
  195. -dnsmasq \
  196. -odhcpd \
  197. -iptables"
  198. declare -Ag r2s
  199. r2s['device']="friendlyarm_nanopi-r2s"
  200. r2s['target']="rockchip/armv8"
  201. r2s['filesystem']="ext4"
  202. r2s['packages']="\
  203. $default_packages \
  204. luci-app-upnp \
  205. luci-app-wireguard \
  206. luci-app-pbr \
  207. -dnsmasq \
  208. dnsmasq-full \
  209. luci-app-ddns \
  210. luci-app-sqm \
  211. luci-app-statistics \
  212. collectd-mod-sensors \
  213. collectd-mod-thermal \
  214. collectd-mod-conntrack \
  215. smcroute \
  216. curl \
  217. ethtool"
  218. declare -Ag r2s_tr
  219. r2s_tr['device']="friendlyarm_nanopi-r2s"
  220. r2s_tr['target']="rockchip/armv8"
  221. r2s_tr['filesystem']="ext4"
  222. r2s_tr['packages']="\
  223. $default_packages \
  224. luci-app-upnp \
  225. luci-app-wireguard \
  226. luci-app-pbr \
  227. luci-app-ddns \
  228. luci-app-statistics \
  229. collectd-mod-sensors \
  230. collectd-mod-thermal \
  231. collectd-mod-conntrack \
  232. curl \
  233. ethtool \
  234. travelmate"