0x00 准备依赖&拉取源码
先换掉并添加需要的软件源sudo sed -i 's|security.debian.org/debian-security|mirrors.ustc.edu.cn/debian-security|g'/etc/apt/sources.listsudo sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.listsudo echo "deb http://mirrors.ustc.edu.cn/debian/ stretch main" >> /etc/apt/sources.listsudo echo "deb-src http://mirrors.ustc.edu.cn/debian/ stretch main" >> /etc/apt/sources.listsudo apt-get update
sudo apt-get install aptitude -ysudo aptitude install bc bison build-essential ccache curl flex g++-multilib gcc-multilib gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-devsudo aptitude install -y openjdk-8-jdk
编译使用OpenSSL的git,改善pull的问题sudo apt-get install fakeroot dpkg-devsudo apt-get build-dep gitsudo apt-get install libcurl4-openssl-devmkdir ~/git-opensslcd ~/git-opensslapt-get source git #git源码cd git-2.17.1/ #根据你的git源码版本切换sed -i 's/libcurl4-gnutls-dev/libcurl4-openssl-dev/g' debian/control #将debian/control文件中libcurl4-gnutls-dev全部替换为libcurl4-openssl-devsed -i 's/TEST =test//g' debian/rules #删除debian/rules文件中TEST =testsudo dpkg-buildpackage -rfakeroot -b #生成安装包cd ..sudo dpkg -i git_2.17.1-1ubuntu0.3_amd64.deb #安装对应版本的git
mkdir lineage&&cd lineagewget https://dl.google.com/android/repository/platform-tools-latest-linux.zipunzip platform-tools-latest-linux.zip -d ~&&rm platform-tools-latest-linux.zipvi ~/.profile
加入:
# add Android SDK platform tools to path
if [ -d "$HOME/lineage/platform-tools" ] ; then
PATH="$HOME/lineage/platform-tools:$PATH"
fisource ~/.profile
mkdir -p ./binmkdir -p ./android/lineage
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ./bin/repochmod +x ./bin/repovi ~/.profile
加入:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/lineage/bin" ] ; then
PATH="$HOME/lineage/bin:$PATH"
fisource ~/.profile
cd ~/android/lineageexport REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'repo init -u https://github.com/LineageOS/android.git -b lineage-17.1
设置git用户名和邮箱git config --global user.name ryank231231git config --global user.email [email protected]
优化网络链接git config --global http.postBuffer 100000000git config --global ssh.postBuffer 100000000sudo echo "net.core.default_qdisc=fq" >> /etc/sysctl.confsudo echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.confsudo sysctl -p
nano ./.repo/manifests/default.xml
将
<remote name="github"
fetch=".."
review="review.lineageos.org" />
改成
<remote name="github"
fetch="https://github.com/" />
<remote name="lineage"
fetch="https://mirrors.tuna.tsinghua.edu.cn/git/lineageOS/"
review="review.lineageos.org" />
将
<remote name="aosp"
fetch="https://android.googlesource.com"
改成
<remote name="aosp"
fetch="https://aosp.tuna.tsinghua.edu.cn"
将
<default revision="..."
remote="github"
改成
<default revision="..."
remote="lineage"
repo sync
P.S: find -name tmp_pack_* -delete 清理repo产生的垃圾文件