[color=red][b]此文 并不算是菜鸟教程,可以配合提供的链接一起看,希望谅解.[/b][/color]
一直以来,都想自己编译一个系统。只是没有去实践,今天实践成功了,并不难,难的都被cm团队做完了。剩下的就是下载,编译就可以了。
编译这个系统,失败过一次,网上都没 人提到,编译所需要的环境。
首先是硬盘空间,装个linux,8g现在ubuntu少于这个值不让装。
home空间直接分配为单独的区,70g+
据官方文档说明,如果单个系统(我只编译i9000),缓存要25g,如果是多个,可以提高到50-70g。
目录大小65g,包含下载的源码,2014-8-2号是12g*2会耗去24g左右,编译会耗去35-40g
还需要安装jdk1.6/1.7,如果你安装了1.8,不好意思,不支持。
还需要安装sdk,弄个最新的apilevel20,耗去1g左右空间。
i9000安装包完成后是190m,目测gs5安装包1g,
总耗去home空间是接近65g了。所以准备个70g硬盘是必须的。第一次就是40g空间,结果编译不成功。然后源码下载 了两天。
下载,需要一个repo文件,这个需要过墙,附件会上传。
下载是分两步的,一部分是源码,完了以后,运行一些命令,如breakfast,最后brunch galaxysmtd运行后会下载驱动,我的是560m左右,如果是gs5,可能要很多。
完成之后还得连接手机,拉一些文件出来,我不知道没有root的手机是否可以获取这些文件。反正我的是可以。装过n个系统,刷了无数次的机了。
9300 系列建议不要刷了,容易爆。
官方文档:
http://wiki.cyanogenmod.org/w/Build_for_galaxysmtd
同时有一些参考:
http://blog.csdn.net/libelosophy/article/details/22997805
http://3w.angeeks.com/thread-2970803-1-1.html
下载:
repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
同步repo sync -j4,依网速,大概时间少不了吧。
没有在下载前研究下manifest文件,而我是在下载完成之后才按上面的文章修改的。果然快不少。
源码已经下载了,
然后我进行修改,自定义manifest文件,为cm11.xml,(这个可以在repo初始化后就可以修改了.像上面文章提到的下载优化什么的.)
然后repo init -m cm11.xml
repo sync -j4同时我把cm11.xml里面的一些包去除了,这些用不上,
同步最后会把去除的那些包删除的。(如果不删除,估计硬盘空间占用会多一些。)
日志:
Deleting obsolete path /home/angus/cm11/packages/apps/Browser
Deleting obsolete path /home/angus/cm11/packages/apps/CMAccount
Deleting obsolete path /home/angus/cm11/packages/apps/CMFileManager
Deleting obsolete path /home/angus/cm11/packages/apps/CMHome
Deleting obsolete path /home/angus/cm11/packages/apps/CMUpdater
........
最后:brunch galaxysmtd编译,
机器配置i5 3470, amd7470,8g内存,500g7200转硬盘,编译大概3小时,不算长。笔记本吃不消。
话说ubuntu的xorg-xf86-video-ati驱动只能用一个字来形容"差",也可能是其它原因吧.换成fglrx就明显好多了.否则编译起来,机器都动不了.像死机了一样.当然我的笔记本烂卡,什么驱动都启动不了x.只有切换到intel卡.
最后在imgdiff停下来了,我以为一会就行,没想到好久,发现目录不可写,于是在/tmp/中查看日志中的目录,修改了,权限,目录的属主chown,chmod两个命令。后面似乎也没有用到这目录,然后ctrl +c停止了,再重来。
几分钟就生成了zip文件,
有一点需要注意,在/out/..../system/app下面的apk如果编译后不手动删除,只是在前面的cm11.xml中删除了,编译后,会直接打包的,你可以把你需要的apk放到这个目录,暂没有去研究放在其它哪个目录,会在编译时复制过来。预装软件一般是放这里的
也没有研究private-app下哪个可以配置删除的。
附件上传了repo文件,就不用下载了。 里面包含前面的三个文章网页。
经过第一次编译后,写了个脚本,后来直接运行一个命令就可以了.脚本放到cm11目录中:名为:build_galaxysmtd.sh
因为本人装的jdk是1.8,但编译最高为1.7,所以重新定义了.
#!/bin/bash
export JAVA_HOME=/home/angus/jdk1.7.0_65
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin:$ANDROID_SDK_ROOT:$ANDROID_SDK_ROOT/platform-tools/:$ANDROID_SDK_ROOT/tools/:$ANDROID_NDK_ROOT:/home/angus/bin
echo "JAVA_HOME:"
echo "$JAVA_HOME"
echo "repo sync"
repo sync -j4
echo "source build/envsetup.sh"
source build/envsetup.sh
echo "breakfast galaxysmtd"
breakfast galaxysmtd
export USE_CCACHE=1
echo "prebuilts/misc/linux-x86/ccache/ccache -M 25G"
prebuilts/misc/linux-x86/ccache/ccache -M 25G
echo "croot"
croot
echo "brunch galaxysmtd"
brunch galaxysmtd
运行./build_galaxysmtd.sh,如果权限不对,修改下chmod u+x build_galaxysmtd.sh,只是修改为用户可执行的.(当前用户建立的默认是这个,不需要修改)
或者chmod 777 build_galaxysmtd.sh 打开所有权限
分享到:
相关推荐
本书以作者实现的一个基于Intelx86指令集的编译系统为例,结合程序代码的主要部分详细阐述了编译系统的实现原理和过程。本书对编译器、汇编器、链接器、编译优化器涉及的关键算法、数据结构和程序实现流程,以及ELF...
OpenHarmony编译子系统的培训文档,介绍OpenHarmony的编译子系统,build gn的使用编译原理等
编译系统透视 图解编译原理编译系统透视 图解编译原理编译系统透视 图解编译原理
MTK(MediaTek)系统编译架构是针对MediaTek芯片平台进行Android系统定制时的关键环节。这个复杂的流程涉及到了许多技术细节,包括源代码管理、编译工具链、构建脚本以及配置文件等。让我们深入探讨一下这个架构,...
从零开始编译一个操作系统,在本书中详细的介绍了从零开始编译一个操作系统的完整过程和所有的软件包。一起试试吧。
自己动手构造编译系统 编译 汇编与链接-高清版-2016年8月
《自己动手构造编译系统++编译、汇编与链接》这本书深入浅出地介绍了编译器的基础知识,包括编译、汇编和链接这三个关键步骤。编译系统是计算机科学中的重要组成部分,它将高级语言转换为机器可执行的代码,使程序...
编译系统透视++图解编译原理_552886编译系统透视++图解编译原理_552886
Android编译系统不仅仅处理目标系统二进制文件、Java应用程序的编译、链接、打包等工作,还包括生成各种依赖关系、确保模块变更后的重新编译链接、目标文件系统的生成、配置文件的生成等。它支持多架构(如linux-x86...
在本文中,我们将深入探讨如何在银河麒麟V10操作系统上,使用飞腾CPU进行Qt 5.15.2的交叉编译。这个过程涉及到多个步骤,包括环境准备、依赖库的安装以及编译与安装Qt框架。首先,我们从准备工作开始。 ### 一、...
网上找了很久没找到java在线编译系统的源码就自己动手写了个 jiaolongzhi 原创 采用spring mvc 其他MVC改改就行了 业务逻辑一样的 实现简单的java在线编译系统 接受 表单提交的 java 源代码 运行出结果在result.jsp...
AMI编译码系统设计
Android 编译系统分析 Android 编译系统是 Android 操作系统的核心组件之一,它负责将源代码编译成可执行文件。Android 编译系统的分析对于Android 开发者来说非常重要,因为它可以帮助开发者更好地理解 Android 的...
标题提到的是“国产arm架构操作系统下phantomjs编译后的运行文件”,这涉及到两个主要技术领域:国产麒麟操作系统和基于ARM架构的硬件平台,以及PhantomJS这个无头浏览器的编译与运行。 首先,让我们了解一下“国产...
6. **安装**:`sudo make install`将编译好的库安装到系统中。 对于交叉编译到ARM Linux设备,过程会稍微复杂些: 1. **安装交叉编译工具链**:比如`arm-linux-gnueabihf-gcc`,这取决于你的目标架构。 2. **配置...
里面包含杭电编译原理 操作系统 网络的考试资源 包含杭电历年的几套试卷 编译原理的名词解析全部包含 网络试题库 操作系统理念试卷
OpenCV3.4.1+vtk7.1.1+PCL-1.8.1自动安装编译(ubuntu系统),运行脚本,自动编译安装,方法适用于ARM、X86架构
国产系统 统信uos 20 飞腾CPU QT 5.15 源码编译 静态版本
该安装包内置驱动,是开源android 11 的系统,自己手动编译的,编译过程见:https://blog.csdn.net/qq_40340448/article/details/124502496?spm=1001.2014.3001.5502 。 用于测试以及,签发系统签名,安装系统级别...
### Android编译系统框架分析及main.mk解析 #### 一、引言 自从Android源代码公开以来,它在嵌入式行业中引发了巨大的关注与兴趣。众多开发者被Android的强大功能所吸引,纷纷尝试下载源代码进行编译和移植。尽管...