Releases: tomxi1997/build-aosp-clang-for-arm64
v10
最新版本可一键编译KernelSU & LXC[受虐滑稽]
(一)对于LXC,Docker用户
适用设备支持以下特性其一即可
LXC,docker,kvm的arm64设备
都到这一步了,什么问题应该都会解决了。不说了,注意了文件较大,请确保10G以上剩余空间
#拉镜像,基于ubuntu 20.04
docker pull registry.cn-hangzhou.aliyuncs.com/kernel_builder-arm64/kernel-builder:20.04
#运行容器,就当是个ubuntu 20.04容器
docker run -ti --net host --name kernel-builder-v2 -v /mnt:/mnt 173a6a630b84
编译内核只需3步
#解压工具链
cd && ./6.sh
#获取内核源码并在内核源码根目录执行《或者按实际需要自行复制》
cp /root/Toolchain/*.sh .
#按实际需要修改脚本中的KERNEL_DEFCONFIG,
NAME等变量,然后运行脚本即可,最终内核会在 /mnt下生成
一般的对于需要KernelSU,只需修改builder_ksu2.sh,可重复执行,获得最新KernelSU
对于需要LXC,修改lxc_build.sh
同时需要KernelSU-LXC,修改lxc-ksu_build.sh
一般内核编译 修改 1.sh 2.sh
按自己实际需要去改吧
需要其他版本的工具链可翻我动态下载
v9
适用设备支持以下特性其一即可
LXC,docker,kvm的arm64设备
使用方法
#拉镜像,基于ubuntu 18.04
docker pull registry.cn-hangzhou.aliyuncs.com/kernel_builder-arm64/kernel-builder:18.04
#运行容器,就当是个ubuntu 18.04容器
docker run -ti --net host --name kernel-builder -v /mnt:/mnt 94907287dc6b
编译内核只需3步
#解压工具链
cd && ./6.sh
#获取内核源码并在内核源码根目录执行《或者按实际需要自行复制》
cp /root/Toolchain/*.sh .
#按实际需要修改脚本中的KERNEL_DEFCONFIG,
NAME等变量,然后运行脚本即可,最终内核会在 /mnt下生成
一般的对于需要KernelSU,只需修改builder_ksu2.sh,可重复执行,获得最新KernelSU
对于需要LXC,修改lxc_build.sh
同时需要KernelSU-LXC,修改lxc-ksu_build.sh
一般内核编译 修改 1.sh 2.sh
按自己实际需要去改吧
需要其他版本的工具链可翻我动态下载
builder_ksu2.sh的事例
#Linux# #KernelSU# #内核比rom还重要#
v8
在ubuntu18.04上使用。
先下载Linux.Deploy.Pro_3.1.0.apk,ubuntu-18.04_linux-deploy_rootfs.tar.zst,JuiceSSH_v3.2.2_Premium.apk这三样,组成基本choot Ubuntu 18.04环境,见下面内容,或酷安链接,然后下载Toolchain.tar.xz,解压到 /root下,然后按需要下载到/root/Toolchain目录下,运行 6.sh解压即可。此次所做的是全部模块化,全部组件分开,按需选择。注意此存储库包含官方llvm8-12的clang可搭配binntils目录下各版本的binntils使用包含了binutils2.31~binutils2.37使用。
若要一体包可看以下内容
以前的动态,自行查询。
https://www.coolapk.com/feed/47142899?shareKey=YjBhNTI2ZTU0NjcxNjUyOTg3NzU~&shareFrom=com.coolapk.market_11.2.5
总下载链接
复制这段内容后打开天翼云盘手机App,操作更方便哦!链接:https://cloud.189.cn/t/BneYFfmqEnE3(访问码:w2vk)
本备份包特色 一句话总结专为在手机chroot环境中编译安卓内核 4.19以下内核编译而生
1。包含编译安卓内核的所有环境,开箱即用。
2。工具链包含llvm官方的 clang 10.0.1,clang11.1.0,clang12.0.1,其他工具链均为自编译部分。官方llvm可搭配binntils目录下各版本的binntils使用包含了binutils2.31~binutils2.37[受虐滑稽],当然可以自行下载llvm官方的 clang来,可自由搭配。
3。基于谷歌的clang-r365631,clang-r383902b,谷歌gcc4.9以及linaro_gcc-7.5
4。使用proton-clang-build项目编译的的 clang12.0.1
使用方法
手机已经root,安装termux,linux deploy,下载备份包
假设你下载的ubuntu1804-arm64-v1-rootfs.zip,有亿点大 4.9G左右[受虐滑稽],放在天翼网盘了下载也快。已经在sdcard 的根目录
(一)打开termux 键入以下命令,
1.#换源,更新,安软件
sed -i 's@^(deb.*stable main)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main stable main@' $PREFIX/etc/apt/sources.list
apt update && apt upgrade -y
apt install zstd openssh tsu -y
2.#正式操作部分
tsu
cd /sdcard
unzip ubuntu1804-arm64-v1-rootfs.zip
(按需选择是否删除备份包)
rm ubuntu1804-arm64-v1-rootfs.zip
mkdir -p /data/linux/ubuntu1804
mv ubuntu1804-arm64-v1-rootfs.tar.zst /data/linux/ubuntu1804
cd /data/linux/ubuntu1804
tar -xvf *.tar.zst && rm *.tar.zst
(二)linux deploy 设置部分
直接放图,核心点
发行版 gnu/linux 选择 rootfs.tar
安装类型 选择 目录
安装路径 填入 /data/linux/ubuntu1804
用户名,用户密码均为 root
启用初始化,初始化系统sysv
挂载 /sdcard 到 ubuntu1804的 /mnt/sdcard 下
最重要的 启用ssh
以上搞完后,点启动就完了。
然后ssh链接,可选juice ssh 和 termux
ssh root@localhost
用户名 root
密码 root
完事。
如果无法连接ubuntu或启动失败,清空linux deploy 的数据缓存,重新按上面的来配置即可。
编译内核这个简单的了,登录到ubuntu 18.04
tar -xvf 3.tar.xz && tar -xvf Toolchain.tar.xz && rm *.xz
获取到内核源,可到xda,github找到,将Toolchain 目录下的.sh文件(按实际情况选择)复制到内核源码根目录,并修改脚本内容中的xxxx_defconfig为你机型的内配置文件,xxxx_defconfig文件一般在内核源码根目录 arch/arm64/configs下或arch/arm64/configs/vendor下,按照实际情况修改,然后就运行就可以了,做好散热,内核将在out/arch/arm64/boot下生成,一般为Image.gz.dtb ,或Image.gz 或Image,用anykernel3或AIK工具打包即可,在twrp或ex内核管理器中刷入内核验证。
你可以用它为内核添加KernelSU 支持,Docker支持,Nethunter支持.........各种内核diy,怎么用,完全取决于你。
PS:AIK工具为magisk 模块,刷入后即可使用,建议搭配mt管理器使用。
v7
gcc for arm64
在 Ubuntu 18.04以上使用,安卓内核编译
v6
Android-NDK 工具链
clang版本均为11
ndk 22,ndk-23在ubuntu 18.04 arm64以上使用
ndk 24,ndk-25在ubuntu 20.04 arm64以上使用
建议配合Google gcc 4.9使用在v3 Releases中下载
souce code
ndk 24-25
https://android.googlesource.com/toolchain/llvm-project/+/refs/heads/ndk-r25-release
https://android.googlesource.com/toolchain/llvm-project/+/refs/heads/ndk-r24-release
ndk 22-23
https://android.googlesource.com/toolchain/llvm-project/+/refs/heads/ndk-release-r22
https://android.googlesource.com/toolchain/llvm-project/+/refs/heads/ndk-release-r23
使用例子
export PATH="/root/Toolchain/ndk-23/bin:/root/Toolchain/google_gcc-4.9/bin:$PATH"
v5
在termux 的proot-distro 环境中可用于一键编译内核 kernelsu,lxc的备份
基于proot-distro,ubuntu 22.04,加入了一些自己制作的工具链,内核编译脚本可用于一键编译支持lxc kernelsu的内核。支持内核版本3.18~5.10或更高。使用方法安装termux app,
请提前下载好proot-distro-u22.tar.gz ,install.sh到/sdcard/Download目录下
注意校验proot-distro-u22.tar.gz 的sha256:4a4f129508829395ab311b529c3e7565e52a3b36aa6a8a53e977718c2e029fd4
在termux 中执行以下
cp /sdcard/Download/install.sh .
chmod +x install.sh
./install.sh
等待恢复完成,登录容器执行 u22 ,即可,享受。
v4
基于kali nethunter的安卓内核构建器,依赖于nethunter-2023.3b-generic-arm64-kalifs-nano模块,加入了一些自己制作的工具链,内核编译脚本。支持内核版本3.18~5.10或更高。使用方法,在Magisk 管理器中
先刷Magisk-part1_nethunter-2023.3b-generic-arm64-kalifs-nano.zip,完成后不重启手机,接着刷Magisk-part2_android-kernel-builder.zip,完成后重启手机,享受。内核构建请参考往期动态。就复制Toolchain 下脚本到内核源码根目录,改脚本内核配置,运行就完事了。so easy 。
视频演示的内核源码为小米5系列。
https://github.com/JonasCardoso/android_kernel_xiaomi_msm8996
v3
v2
arm64的 binutils-2.28~binutils-2.40
all-binutils包含所有版本,其他为单一版本binutils
请配合pdx-clang或llvm官方的clang使用
一个例子,配合pdx-clang 使用
export PATH="/root/Toolchain/pdx-clang16/bin:/root/Toolchain/binutils/binutils-2.38/bin:$PATH"
配合llvm使用例子
export PATH="/root/Toolchain/clang+llvm-13.0.0-aarch64-linux-gnu/bin:/root/Toolchain/binutils/binutils-2.36/bin:$PATH"
v1
适合在arm64 设备上(proot/chroot/lxc环境中)ubuntu 22.04以上使用用于安卓内核编译的工具链。
使用方法,此工具链适合安卓gki内核编译
binutils 有2.27-2.40,按实际需要选择对应版本
先创建一个文件夹如下
mkdir -p /root/Toolchain
然后下载pdx-clang16.tar.xz,binutils.tar.xz到 /root/Toolchain 下并解压
一个例子
export PATH="/root/Toolchain/pdx-clang16/bin:/root/Toolchain/binutils/binutils-2.38/bin:$PATH"