update readme

This commit is contained in:
eventlOwOp
2024-05-13 15:56:21 +08:00
parent 257b62a484
commit 26fee1b1fa
4 changed files with 16 additions and 17 deletions
+5 -5
View File
@@ -48,7 +48,7 @@ jobs:
pip3 install toml pip3 install toml
python3 build/build_helper.py python3 build/build_helper.py
- name: Build for Aarch64 - name: Build for AArch64
run: | run: |
CC=aarch64-linux-gnu-gcc CC=aarch64-linux-gnu-gcc
CXX=aarch64-linux-gnu-g++ CXX=aarch64-linux-gnu-g++
@@ -56,21 +56,21 @@ jobs:
cd ZeroTierOne cd ZeroTierOne
mv make-linux.mk.aarch64 make-linux.mk mv make-linux.mk.aarch64 make-linux.mk
make clean make clean
make --silent -j $(nproc) ZT_SSO_SUPPORTED=0 ZT_STATIC=1 ZT_DEBUG=0 CC="$CC -w" CXX="$CXX -w" LDFLAGS="-s" make --silent -j $(nproc) ZT_SSO_SUPPORTED=0 ZT_STATIC=1 ZT_DEBUG=0 CC=$CC CXX=$CXX LDFLAGS="-s"
cd .. cd ..
cp ZeroTierOne/zerotier-one magisk/zerotier cp ZeroTierOne/zerotier-one magisk/zerotier
cd magisk cd magisk
zip -q -r ../zerotier-magisk-aarch64-gcc.zip . zip -q -r ../zerotier-magisk-aarch64-gcc.zip .
- name: Build for Aarch64 with SSO - name: Build for AArch64 with SSO
run: | run: |
CC=aarch64-linux-gnu-gcc CC=aarch64-linux-gnu-gcc
CXX=aarch64-linux-gnu-g++ CXX=aarch64-linux-gnu-g++
cd ZeroTierOne cd ZeroTierOne
make clean make clean
make --silent -j $(nproc) ZT_STATIC=1 ZT_DEBUG=0 CC="$CC -w" CXX="$CXX -w" LDFLAGS="-s" make --silent -j $(nproc) ZT_STATIC=1 ZT_DEBUG=0 CC=$CC CXX=$CXX LDFLAGS="-s"
cd .. cd ..
cp ZeroTierOne/zerotier-one magisk/zerotier cp ZeroTierOne/zerotier-one magisk/zerotier
@@ -86,7 +86,7 @@ jobs:
cd ZeroTierOne cd ZeroTierOne
mv make-linux.mk.arm make-linux.mk mv make-linux.mk.arm make-linux.mk
make clean make clean
make --silent -j $(nproc) ZT_SSO_SUPPORTED=0 ZT_STATIC=1 ZT_DEBUG=0 CC="$CC $FLAGS" CXX="$CXX $FLAGS" LDFLAGS="-s" make --silent -j $(nproc) ZT_SSO_SUPPORTED=0 ZT_STATIC=1 ZT_DEBUG=0 CC=$CC CXX=$CXX LDFLAGS="-s"
cd .. cd ..
cp ZeroTierOne/zerotier-one magisk/zerotier/ cp ZeroTierOne/zerotier-one magisk/zerotier/
+3 -3
View File
@@ -53,7 +53,7 @@ jobs:
pip3 install toml pip3 install toml
python3 build/build_helper.py python3 build/build_helper.py
- name: Build for Aarch64 - name: Build for AArch64
run: | run: |
PATH=`pwd`/android-ndk-$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH PATH=`pwd`/android-ndk-$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
NDK_ROOT=`pwd`/android-ndk-$ndk/toolchains/llvm/prebuilt/linux-x86_64 NDK_ROOT=`pwd`/android-ndk-$ndk/toolchains/llvm/prebuilt/linux-x86_64
@@ -93,11 +93,11 @@ jobs:
cd ZeroTierOne cd ZeroTierOne
mv make-linux.mk.arm.ndk make-linux.mk mv make-linux.mk.arm.ndk make-linux.mk
make clean make clean
make -j $(nproc) ZT_DEBUG=0 ZT_SSO_SUPPORTED=0 CC=$CC CXX=$CXX LDFLAGS="-L../libnatpmp" DEFS="-I../libnatpmp -D__GLIBC__=0" make --silent -j $(nproc) ZT_DEBUG=0 ZT_SSO_SUPPORTED=0 CC=$CC CXX=$CXX LDFLAGS="-L../libnatpmp" DEFS="-I../libnatpmp -D__GLIBC__=0"
cd .. cd ..
cp ZeroTierOne/zerotier-one magisk/zerotier/ cp ZeroTierOne/zerotier-one magisk/zerotier/
cp $NDK_ROOT/sysroot/usr/lib/arm-linux-android/libc++_shared.so magisk/zerotier/lib cp $NDK_ROOT/sysroot/usr/lib/arm-linux-androideabi/libc++_shared.so magisk/zerotier/lib
cd magisk cd magisk
zip -q -r ../zerotier-magisk-arm-ndk.zip . zip -q -r ../zerotier-magisk-arm-ndk.zip .
+4 -4
View File
@@ -12,13 +12,13 @@
## Requirements ## Requirements
Built with Android NDK Toolchain, support api 28 (Android 9.0) and above. 1. a version is built with Android NDK Toolchain, supporting api 28 (Android 9.0) and above.
`make-linux.mk` in ZeroTierOne does not support armv7 (see `-mtune=`), so it only supports aarch64 here 2. another version is build with GCC toolchain, linking to Linux Syscalls statically
Unofficial planet is not supported because I don't know hot to compile rust with NDK 😭 Unofficial planet supported; SSO (zeroidc) supported in the version built with GCC for AArch64
Maybe we can compile with gcc cross-compiling toolchain statically, without linking system calls, but there could be potential compatibility problems. AArch64 suppots ARMv8-A and above; Arm version supports ARMv7-A (compiling with `-march=armv7-a`)
## Installation ## Installation
+4 -5
View File
@@ -10,14 +10,13 @@
## 运行要求 ## 运行要求
使用 NDK 编译,支持 api 28 (Android 9.0) 及以上的设备 1. 使用 NDK 编译的版本,支持 api 28 (Android 9.0) 及以上的设备
由于 ZeroTierOne 的 make-linux.mk 尚不支持 armv7 的设备(看似支持,但是 `-mtune=` 说明了一切),所以此处也不支持 2. 使用 GCC 编译的版本,静态链接到 Linux Syscall,兼容性未知
暂时不支持 SSO 即自建 planet,因为 NDK 编译 rust 还没玩明白 😭 均支持自建 planetGCC AArch64 有支持 SSO (zeroidc) 的版本
有其他项目使用 gcc 交叉编译工具链静态编译,支持了自建 planet,本仓库应该会出相应版本,可能存在较大兼容性问题 AArch64 版本支持 ARMv8-A 及以上;Arm 版本均对 ARMv7-A 进行编译 (`-march=armv7-a`)
(如经过测试,必须在 root 下运行,否则 Bad System Call,可能是 `/system/lib, /vendor/lib` 没有权限访问造成的,理论上还是能够完全支持,只是怕 Android 阉割内核)
## 安装 ## 安装