profiles 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  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. luci-proto-wireguard \
  10. luci-app-statistics \
  11. collectd-mod-sensors \
  12. collectd-mod-thermal \
  13. collectd-mod-conntrack \
  14. collectd-mod-cpu \
  15. nano \
  16. htop \
  17. diffutils \
  18. tar \
  19. iperf3 \
  20. zsh \
  21. rsync \
  22. openssh-sftp-server \
  23. "
  24. # Current devices
  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-ddns \
  33. luci-app-sqm \
  34. irqbalance \
  35. collectd-mod-df \
  36. usbutils \
  37. kmod-usb-storage \
  38. kmod-usb-storage-uas \
  39. kmod-fs-btrfs \
  40. btrfs-progs \
  41. block-mount \
  42. smcroute \
  43. avahi-daemon \
  44. curl \
  45. ethtool \
  46. ca-bundle"
  47. # The following are source mode only
  48. r4s['config']="\
  49. CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y \
  50. CONFIG_BTRFS_PROGS_ZSTD=y \
  51. CONFIG_TARGET_ROOTFS_PARTSIZE=512 \
  52. CONFIG_TARGET_KERNEL_PARTSIZE=32"
  53. r4s['files']="\
  54. /mnt/backup"
  55. # Access point
  56. declare -Ag ax6000
  57. ax6000['device']="xiaomi_redmi-router-ax6000-stock"
  58. ax6000['target']="mediatek/filogic"
  59. ax6000['release']="snapshot"
  60. ax6000['filesystem']="squashfs"
  61. ax6000['packages']="\
  62. $default_packages \
  63. -dnsmasq \
  64. -odhcpd-ipv6only \
  65. -nftables \
  66. -firewall4"
  67. # For converted uboots
  68. # declare -Ag ax6000_uboot
  69. # ax6000_uboot['device']="xiaomi_redmi-router-ax6000-ubootmod"
  70. # ax6000_uboot['target']="mediatek/filogic"
  71. # ax6000_uboot['release']="snapshot"
  72. # ax6000_uboot['filesystem']="squashfs"
  73. # ax6000_uboot['packages']="\
  74. # $default_packages \
  75. # -dnsmasq \
  76. # -odhcpd-ipv6only \
  77. # -nftables \
  78. # -firewall4 \
  79. # -kmod-nft-offload \
  80. # collectd-mod-iwinfo"
  81. # Remote NAS
  82. declare -Ag n5100
  83. n5100['device']="generic"
  84. n5100['target']="x86/64"
  85. n5100['filesystem']="squashfs"
  86. n5100['packages']="\
  87. $default_packages \
  88. luci-app-ddns \
  89. irqbalance \
  90. collectd-mod-df \
  91. usbutils \
  92. kmod-usb-storage \
  93. kmod-usb-storage-uas \
  94. kmod-fs-btrfs \
  95. btrfs-progs \
  96. block-mount \
  97. cryptsetup \
  98. kmod-crypto-xts \
  99. smcroute \
  100. avahi-daemon \
  101. curl \
  102. ethtool \
  103. ca-bundle \
  104. smartmontools \
  105. intel-microcode \
  106. lm-sensors \
  107. samba4-server \
  108. luci-app-samba4 \
  109. tailscale \
  110. shadow-useradd"
  111. # The following are source mode only
  112. n5100['config']="\
  113. CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y \
  114. CONFIG_BTRFS_PROGS_ZSTD=y \
  115. CONFIG_TARGET_ROOTFS_PARTSIZE=512 \
  116. CONFIG_TARGET_KERNEL_PARTSIZE=32"
  117. n5100['files']="\
  118. /mnt/backup"
  119. # Dusty drawer
  120. declare -Ag rpi4
  121. rpi4['device']="rpi-4"
  122. rpi4['target']="bcm27xx/bcm2711"
  123. rpi4['filesystem']="ext4"
  124. rpi4['packages']="\
  125. $default_packages \
  126. kmod-usb-net-asix-ax88179 \
  127. kmod-usb-net-rtl8152 \
  128. luci-app-upnp \
  129. luci-app-pbr \
  130. -dnsmasq \
  131. dnsmasq-full \
  132. luci-app-ddns \
  133. luci-app-sqm"
  134. # Stock builds
  135. declare -Ag r4s_stock
  136. r4s_stock['device']="friendlyarm_nanopi-r4s"
  137. r4s_stock['target']="rockchip/armv8"
  138. r4s_stock['filesystem']="ext4"
  139. r4s_stock['release']="snapshot"
  140. # Old devices
  141. declare -Ag totolink
  142. totolink['device']="totolink_x5000r"
  143. totolink['target']="ramips/mt7621"
  144. totolink['filesystem']="squashfs"
  145. totolink['packages']="\
  146. $default_packages \
  147. -dnsmasq \
  148. -odhcpd-ipv6only \
  149. -nftables \
  150. -firewall4 \
  151. -kmod-nft-offload \
  152. collectd-mod-iwinfo"
  153. declare -Ag archer
  154. archer['device']="tplink_archer-c7-v2"
  155. archer['target']="ath79/generic"
  156. archer['filesystem']="squashfs"
  157. archer['packages']="\
  158. $default_packages \
  159. -dnsmasq \
  160. -odhcpd \
  161. -iptables \
  162. -ath10k-firmware-qca988x-ct \
  163. ath10k-firmware-qca988x-ct-full-htt"
  164. declare -Ag linksys
  165. linksys['device']="linksys_ea8300"
  166. linksys['target']="ipq40xx/generic"
  167. linksys['filesystem']="squashfs"
  168. linksys['packages']="\
  169. $default_packages \
  170. -dnsmasq \
  171. -odhcpd \
  172. -iptables"
  173. declare -Ag r2s
  174. r2s['device']="friendlyarm_nanopi-r2s"
  175. r2s['target']="rockchip/armv8"
  176. r2s['filesystem']="ext4"
  177. r2s['packages']="\
  178. $default_packages \
  179. luci-app-upnp \
  180. luci-app-pbr \
  181. -dnsmasq \
  182. dnsmasq-full \
  183. luci-app-ddns \
  184. luci-app-sqm \
  185. luci-app-statistics \
  186. collectd-mod-sensors \
  187. collectd-mod-thermal \
  188. collectd-mod-conntrack \
  189. smcroute \
  190. curl \
  191. ethtool"
  192. declare -Ag r2s_tr
  193. r2s_tr['device']="friendlyarm_nanopi-r2s"
  194. r2s_tr['target']="rockchip/armv8"
  195. r2s_tr['filesystem']="ext4"
  196. r2s_tr['packages']="\
  197. $default_packages \
  198. luci-app-upnp \
  199. luci-app-pbr \
  200. luci-app-ddns \
  201. luci-app-statistics \
  202. collectd-mod-sensors \
  203. collectd-mod-thermal \
  204. collectd-mod-conntrack \
  205. curl \
  206. ethtool \
  207. travelmate"