garypang13 4 ani în urmă
părinte
comite
989a57b095

+ 2 - 0
.github/workflows/Openwrt-AutoBuild.yml

@@ -101,6 +101,8 @@ jobs:
             wget -cO sdk.tar.xz https://downloads.openwrt.org/releases/21.02-SNAPSHOT/targets/x86/64/openwrt-sdk-21.02-SNAPSHOT-x86-64_gcc-8.4.0_musl.Linux-x86_64.tar.xz
         elif [[ ${{matrix.target}} =~ (nanopi-r2s|nanopi-r4s) ]]; then
             wget -cO sdk.tar.xz https://downloads.openwrt.org/releases/21.02-SNAPSHOT/targets/rockchip/armv8/openwrt-sdk-21.02-SNAPSHOT-rockchip-armv8_gcc-8.4.0_musl.Linux-x86_64.tar.xz
+        elif [[ ${{matrix.target}} =~ "Rpi-4B" ]]; then
+            wget -cO sdk.tar.xz https://downloads.openwrt.org/releases/21.02-SNAPSHOT/targets/bcm27xx/bcm2711/openwrt-sdk-bcm27xx-bcm2711_gcc-8.4.0_musl.Linux-x86_64.tar.xz
         fi
       
     - name: Free up disk space

+ 1 - 0
README.md

@@ -46,6 +46,7 @@
 | Phicomm-K2P (斐讯K2P)    | [📥](https://op.supes.top/firmware/phicomm-k2p/)    | 闪存布局请使用默认的公版     |
 | K2P-32M-USB (K2P 32M USB版)   | [📥](https://op.supes.top/firmware/k2p-32m-usb/)    | 闪存布局请使用默认的公版     |
 | NanoPi-R2S    | [📥](https://op.supes.top/firmware/nanopi-r2s/)     | 默认交换了网口,靠近电源口的是WAN口   |
+| Raspberry Pi 4B (树莓派4B)| [📥](https://op.supes.top/firmware/Rpi-4B/)         |                                      |
 | NanoPi-R4S    | [📥](https://op.supes.top/firmware/nanopi-r4s/)     |    |
 | Newifi-D2 (新路由3)      | [📥](https://op.supes.top/firmware/newifi-d2/)      |                                      |                                     |
 | Xiaomi-R3P (小米路由PRO)    | [📥](https://op.supes.top/firmware/xiaomi-r3p/)     |                                      |

+ 75 - 0
devices/Rpi-4B/.config

@@ -0,0 +1,75 @@
+# 设置固件大小:
+CONFIG_TARGET_ROOTFS_PARTSIZE=1516
+
+CONFIG_TARGET_bcm27xx=y
+CONFIG_TARGET_bcm27xx_bcm2711=y
+CONFIG_TARGET_bcm27xx_bcm2711_DEVICE_rpi-4=y
+
+# Applications
+CONFIG_PACKAGE_luci-app-cpufreq=y
+CONFIG_PACKAGE_luci-app-zerotier=n
+
+# docker
+CONFIG_PACKAGE_docker-ce=m
+CONFIG_PACKAGE_kmod-fs-btrfs=y
+CONFIG_PACKAGE_kmod-dm=y
+CONFIG_PACKAGE_kmod-br-netfilter=y
+CONFIG_PACKAGE_kmod-ikconfig=y
+CONFIG_PACKAGE_kmod-nf-conntrack-netlink=y
+CONFIG_PACKAGE_kmod-nf-ipvs=y
+CONFIG_PACKAGE_kmod-veth=y
+CONFIG_PACKAGE_kmod-dummy=y
+
+CONFIG_PACKAGE_luci-app-turboacc=y
+CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_flow-offload=y
+CONFIG_PACKAGE_luci-app-turboacc_INCLUDE_shortcut-fe=n
+
+# 其他需要安装的软件包:
+CONFIG_PACKAGE_autocore=n
+CONFIG_PACKAGE_autocore-arm=y
+
+# Wireless
+CONFIG_PACKAGE_wpad-basic-wolfssl=y
+
+# USB3.0支持:
+CONFIG_PACKAGE_kmod-usb2=y
+CONFIG_PACKAGE_kmod-usb2-pci=y
+CONFIG_PACKAGE_kmod-usb3=y
+CONFIG_PACKAGE_kmod-usb-audio=y
+CONFIG_PACKAGE_kmod-usb-printer=y
+CONFIG_PACKAGE_automount=y
+CONFIG_PACKAGE_autosamba=y
+CONFIG_PACKAGE_autosamba-ksmbd=y
+#ksmbd
+CONFIG_PACKAGE_kmod-fs-ksmbd=y
+#nfs
+CONFIG_PACKAGE_kmod-fs-nfsd=y
+CONFIG_PACKAGE_kmod-fs-nfs=y
+CONFIG_PACKAGE_kmod-fs-nfs-v4=y
+#3G/4G Support
+CONFIG_PACKAGE_kmod-usb-serial=y
+CONFIG_PACKAGE_kmod-usb-serial-option=y
+CONFIG_PACKAGE_kmod-usb-serial-wwan=y
+CONFIG_PACKAGE_kmod-mii=y
+CONFIG_PACKAGE_kmod-usb-acm=y
+#Sound Support
+CONFIG_PACKAGE_kmod-sound-core=y
+CONFIG_PACKAGE_kmod-sound-hda-codec-realtek=y
+CONFIG_PACKAGE_kmod-sound-hda-intel=y
+CONFIG_PACKAGE_kmod-sound-hda-codec-hdmi=y
+
+#USB net driver
+CONFIG_PACKAGE_kmod-rtlwifi=y
+CONFIG_PACKAGE_kmod-rtlwifi-btcoexist=y
+CONFIG_PACKAGE_kmod-rtlwifi-usb=y
+CONFIG_PACKAGE_kmod-rtl8812au-ac=y
+CONFIG_PACKAGE_usb-modeswitch=y
+CONFIG_PACKAGE_kmod-rtl8192cu=y
+CONFIG_PACKAGE_kmod-rtl8821cu=y
+CONFIG_PACKAGE_kmod-mt76=y
+CONFIG_PACKAGE_kmod-mt76x2u=y
+CONFIG_PACKAGE_kmod-usb-net-asix=y
+CONFIG_PACKAGE_kmod-usb-net-asix-ax88179=y
+CONFIG_PACKAGE_kmod-usb-net-rtl8152-vendor=y
+CONFIG_PACKAGE_kmod-usb-net-rndis=y
+CONFIG_PACKAGE_kmod-usb-net-cdc-ether=y

+ 16 - 0
devices/Rpi-4B/default-settings

@@ -0,0 +1,16 @@
+test $version -lt 2 && {
+	uci set system.@system[0].zram_size_mb='100'
+	uci set system.@system[0].zram_comp_algo='lz4'
+	uci commit system
+	
+	#HW-RNG
+	uci set system.@rngd[0].enabled="1"
+	uci set system.@rngd[0].device="/dev/hwrng"
+}
+
+uci set base_config.@status[0].version=$version
+uci commit base_config
+
+sed -i '1i src/gz openwrt_custom https://op.supes.top/packages/aarch64_cortex-a53' /etc/opkg/distfeeds.conf
+
+exit 0

+ 27 - 0
devices/Rpi-4B/diy.sh

@@ -0,0 +1,27 @@
+#!/bin/bash
+
+sed -i 's,ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305,ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256,g' package/feeds/custom/luci-app-bypass/root/usr/share/ssrplus/gentrojanconfig
+sed -i 's,TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256,TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256,g' package/feeds/custom/luci-app-bypass/root/usr/share/ssrplus/gentrojanconfig
+
+echo '
+CONFIG_ARM64_CRYPTO=y
+CONFIG_CRYPTO_AES_ARM64=y
+CONFIG_CRYPTO_AES_ARM64_BS=y
+CONFIG_CRYPTO_AES_ARM64_CE=y
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
+CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
+CONFIG_CRYPTO_CRYPTD=y
+CONFIG_CRYPTO_GF128MUL=y
+CONFIG_CRYPTO_GHASH_ARM64_CE=y
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA1_ARM64_CE=y
+CONFIG_CRYPTO_SHA256_ARM64=y
+CONFIG_CRYPTO_SHA2_ARM64_CE=y
+CONFIG_CRYPTO_SHA512_ARM64=y
+CONFIG_CRYPTO_SIMD=y
+CONFIG_REALTEK_PHY=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+' >> ./target/linux/bcm27xx/bcm2711/config-5.4

+ 14 - 0
devices/Rpi-4B/patches/rpi.patch

@@ -0,0 +1,14 @@
+--- /dev/null
++++ b/target/linux/bcm27xx/base-files/lib/preinit/82_set_rpi4_info
+@@ -0,0 +1,11 @@
++#!/bin/sh
++
++set_rpi_info() {
++	case "$(board_name)" in
++	raspberrypi,4-model-b)
++		sed -i 's/VHT80/VHT40/g' /lib/wifi/mac80211.sh
++		;;
++	esac
++}
++
++boot_hook_add preinit_main set_rpi_info

+ 8 - 0
devices/Rpi-4B/patches/status.patch

@@ -0,0 +1,8 @@
+--- a/package/feeds/luci/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js
++++ b/package/feeds/luci/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js
+@@ -61,5 +61,4 @@
+ 			_('Hostname'),         boardinfo.hostname,
+ 			_('Model'),            boardinfo.model + ' ' + cpuinfo.cpumark,
+-			_('Architecture'),     boardinfo.system,
+ 			_('Firmware Version'), (L.isObject(boardinfo.release) ? boardinfo.release.description + ' / ' : '') + (luciversion || ''),
+ 			_('Kernel Version'),   boardinfo.kernel,