cm11for xt897(motorola pthoton q) 编译记录

reference:http://wv1124.iteye.com/blog/1944448http://wiki.cyanogenmod.org/w/Build_for_moto_msm8960

主机:Ubuntu14.04 64bit

首先是下载.

解压出来之后是个.repo 文件夹.

此时应该执行 repo sync 同步检验完成就可以了.

但是我在学校时试了好多次都没下载成.以为是网速问题,回到家有宽带还是不行.直到看到个网友做了个脚本:

#!/bin/bash# FIXME: 只允许同时一个repo运行kill_prog() {# 用ps找出所有的repo, 然后kill掉PID=`ps aux |grep python|grep [r]epo |awk '{print $2}'`[[ -n $PID ]] && kill $PID}start_sync() {repo sync &}restart_sync() {kill_progstart_sync}# 如果网络流量在retry_delay时间内小于min_speed, 则认为repo sync已经卡住了min_speed="50"retry_delay=600((counter=0))((n_retries=0))restart_syncwhile [[ 1 ]]; do# 用ifstat检测网速speed=`ifstat 1 1 | tail -n 1 | awk '{print $1}'`result=$(echo "$speed < $min_speed" | bc)if [[ $result == "1" ]]; then((counter++))else((counter=0))fiif ((counter > retry_delay)); then((counter=0))echo "netspeed low. restart!"((n_retries++))restart_syncfidoneecho "completed with $n_retries retries"

需要先apt-get install ifstat 软件

下载完成后先按官方教程build一遍.

首先先把自己平时用的交叉编译链从PATH删掉,避免冲突.

PATH变量里有sdk

如果遇到breakfast xt897 时找不到device xt897

把下面几个git clone 到 device/motorola/目录下

https://github.com/CyanogenMod/android_device_motorola_qcom-common

https://github.com/CyanogenMod/android_device_motorola_moto_msm8960

https://github.com/CyanogenMod/android_device_motorola_xt897

编译时提示缺少库.查看xt897 目录下extract-files.sh 文件,发现最终调用到了 device/motorola/qcom-common/extract-files.sh 脚本.

看注释可以知道这是moto msm8960 芯片系列产品通用的脚本,而且setup-makefiles.sh 没有调用成功.

补丁如下

diff extract-files.sh extract-files.sh.bak58c58< export COMMON_DEVICE=qcom-common—> #export COMMON_DEVICE=qcom-common

还有60行

COMMON_BASE=../../../vendor/$VENDOR/$COMMON_DEVICE/proprietary

———————————-

问题:external/iproute2/tc/q_prio.c:60:8: error: ‘struct tc_prio_qopt’ has no member named ‘enable_flow’external/iproute2/tc/q_prio.c:64:8: error: ‘struct tc_prio_qopt’ has no member named ‘enable_flow’答:cd vendor/cm./get-prebuilts…还遇到过空间不够,内存不够等问题.这些网上比较好找就不贴了

重新执行 extract-files.sh 脚本,很多库无法adb pull出来.

连本机都没有的库说明根本没有用到嘛. 于是在common-proprietary-files.txt 里注释掉就好了.

其实整个编译过程对不熟悉的人看着是非常头疼的.那些编译脚本跳来跳去 而且不像Makefile那样有 Enter … directory ; leving xx directory 等提示.

好在错误不多 .而且每个文件夹都有个 *.mk

夺冠那一刻,豪情万丈!登顶那一瞬,万众瞩目!那一刻的嫣然一笑,

cm11for xt897(motorola pthoton q) 编译记录

相关文章:

你感兴趣的文章:

标签云: