CentOS 7 安装ROM编译环境(记录)

编译环境

安装EPEL软件源

yum install -y epel-release

安装基础依赖

yum install -y java gperf squashfs-tools lzip lzop ccache maven tmux screen lzop pngcrush squashfs-tools openssl-devel bc libxslt libxml2-devel ncftp pngquant w3m ImageMagick cmake python3 patchelf rsync

安装开发套件

yum groupinstall "Development tools" -y

安装 32bit 运行库

yum install -y libstdc++.i686

安装 schedtool

yum install -y http://mirror.sbwml.net/schedtool/schedtool-1.3.0-12.el7.psychotic.x86_64.rpm

如果连接失效,请到 pkgs.org 进行下载安装。

更新 glibc-2.24(可选、危险)

目前最新Android源码使用clang作为编译链,CentOS 7 系统默认 Glibc 库版本过低导致clang无法工作,故编译更新。但这是一个危险操作,如果操作失败,会导致整个系统崩溃无法启动,对于Linux 不熟悉的朋友,可使用 yum update 安全更新到 glibc-2.17。(glibc-2.17 现已支持 google clang 全部版本)

curl -O https://mirrors.tuna.tsinghua.edu.cn/gnu/glibc/glibc-2.24.tar.gz
tar zxf glibc-2.24.tar.gz 
cd glibc-2.24/
mkdir out && cd out
../configure --prefix=/usr
make -j$(nproc --all)
make install

设置最大进程数量 & 文件打开数量(需要重启生效)

该操作避免编译过程中线程受限导致编译任务被停止

sed -i '/^#DefaultLimitNOFILE=/aDefaultLimitNOFILE=8192' /etc/systemd/system.conf 
sed -i '/^#DefaultLimitNPROC=/aDefaultLimitNPROC=655350' /etc/systemd/system.conf

到此,编译环境安装完成。

最后修改:2021 年 04 月 03 日 07 : 19 AM
如果觉得我的文章对你有用,请随意赞赏