关闭

第十七期 CyanogenMod 编译小米3W《手机就是开发板》

标签: 手机开发板android驱动移植
1298人阅读 评论(0) 收藏 举报
分类:
上一期我们使用直接下载的第三方固件在手机上刷机通过,相对于源码级别的改装还只是皮毛,这一期我们来实践下载并编译CyanogenMod源码,编译出固件并刷机试验。
这里假设您已经搭建了AOSP的源码编译环境,如果没有请转到第二期。
1.下载和编译前安装下面这些软件:
sudo apt-get install bc bison build-essential curl flex git gnupg gperf libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop maven openjdk-7-jdk pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev
如果有安装错误,请执行 sudo apt-get install update 然后执行 sudo apt-get install upgrade
2.下载CM源码的方法和AOSP大体相同,建议一个存放将要下载的源码的目录,然后在目录下执行:
repo init -u https://github.com/CyanogenMod/android.git -b cm-13.0
当repo仓库建立完成后先别急着同步,作为大中华区用户,您还得改点东西,把指向googlesource的下载地址修改成国内的镜像,将 .repo/manifest.xml 把其中的 aosp 这个 remote 的 fetch 从 https://android.googlesource.com 改为https://aosp.tuna.tsinghua.edu.cn/

3.使用 repo sync 命令开始下载源码 一共 528个 projects ,大约有 13GB 大小。
4.下载完成后 执行 source build/envsetup.sh 命令 加载编译所需的环境变量;
5.执行 breakfast cancro ,创建 LocalManifest 配置文件,这一步可能会报错,但只要devices/xiaomi/cancro/目录存在,就可以继续下一步;
6.提取设备专有文件(Extract Propertietary Blobs),这一步是比较关键的,因为版权问题,一些非开源的程序不会出现在CM的源码当中,所以必须从你现有的手机中提取,我们刚才刷好的手机这回必须要用上了。将手机通过USB连接到PC,先执行adb root , 如果成功后,进入到cancro目录:
cd ~/android/system/device/xiaomi/cancro
然后运行提取专有文件的命令 ./extract-files.sh
如果按照下载的原始文件去执行提取命令是100%会出错的,因为有些文件无论是在MIUI还是在CM中都是找不到的,经过我的摸索,去掉了一些文件的提取,修改了proprietary-files.txt文件,下面是这个文件的链接,下载后替换一下再提取文件就不会出错了。
7. 执行croot 命令, 回到CM源码的根目录,然后执行 brunch cancro 开始编译,编译的过程不会一帆风顺,需要点耐心。

参考文章:



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:114299次
    • 积分:1875
    • 等级:
    • 排名:千里之外
    • 原创:67篇
    • 转载:0篇
    • 译文:0篇
    • 评论:46条
    最新评论