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
python3 build/build_helper.py
- name: Build for Aarch64
- name: Build for AArch64
run: |
CC=aarch64-linux-gnu-gcc
CXX=aarch64-linux-gnu-g++
@@ -56,21 +56,21 @@ jobs:
cd ZeroTierOne
mv make-linux.mk.aarch64 make-linux.mk
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 ..
cp ZeroTierOne/zerotier-one magisk/zerotier
cd magisk
zip -q -r ../zerotier-magisk-aarch64-gcc.zip .
- name: Build for Aarch64 with SSO
- name: Build for AArch64 with SSO
run: |
CC=aarch64-linux-gnu-gcc
CXX=aarch64-linux-gnu-g++
cd ZeroTierOne
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 ..
cp ZeroTierOne/zerotier-one magisk/zerotier
@@ -86,7 +86,7 @@ jobs:
cd ZeroTierOne
mv make-linux.mk.arm make-linux.mk
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 ..
cp ZeroTierOne/zerotier-one magisk/zerotier/
+3 -3
View File
@@ -53,7 +53,7 @@ jobs:
pip3 install toml
python3 build/build_helper.py
- name: Build for Aarch64
- name: Build for AArch64
run: |
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
@@ -93,11 +93,11 @@ jobs:
cd ZeroTierOne
mv make-linux.mk.arm.ndk make-linux.mk
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 ..
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
zip -q -r ../zerotier-magisk-arm-ndk.zip .
+4 -4
View File
@@ -12,13 +12,13 @@
## 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
+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,本仓库应该会出相应版本,可能存在较大兼容性问题
(如经过测试,必须在 root 下运行,否则 Bad System Call,可能是 `/system/lib, /vendor/lib` 没有权限访问造成的,理论上还是能够完全支持,只是怕 Android 阉割内核)
AArch64 版本支持 ARMv8-A 及以上;Arm 版本均对 ARMv7-A 进行编译 (`-march=armv7-a`)
## 安装