参考内容:http://wiki.cyanogenmod.com/index.php?title=Building_Kernel_from_source
1、下载内核源码
mkdir -p ~/android/kernel
cd ~/android/kernel
git clone git://github.com/CyanogenMod/cm-kernel.git
cd cm-kernel
--当然,也可以直接到https://github.com/CyanogenMod/cm-kernel 上下载tar包,然后解压,这样速度快多了 。--
2、获取内核配置文件
从手机总取得:
adb pull /proc/config.gz
cat config.gz | gunzip > .config
#将gz包里面的内容写到.config中
#.config 应该位于内核源码根目录
3、设置变量
export CCOMPILER=/home/lql/android/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
即指定编译内核使用的命令等工具
4、编译内核
make ARCH=arm CROSS_COMPILE=$CCOMPILER -j5
-j5 表示采用并行编译 后面的5 = cpu核心数目 + 1
这样编译速度会快很多
编译生成的内核位于:
~/android/kernel/cm-kernel/arch/arm/boot/zImage
无线驱动模块:
~/android/kernel/cm-kernel/drivers/net/wireless/bcm4329/bcm4329.ko
5、重新编译rom,将上面编译生成的内核和驱动打包进去
在rom 源码根目录下(~/android/system/)目录下新建文件buildspec.mk文件,内容如下:
TARGET_PREBUILT_KERNEL:=kernel/arch/arm/boot/zImage
--- 下面是我的设置-----
TARGET_PREBUILT_KERNEL:=/home/lql/android/kernel/cm-kernel/arch/arm/boot/zImage
#指定编译rom所使用的内核
#编译rom使用的内核一般都是预先编译好的
注意,因为无线驱动模块是和内核一起编译生成的,所以在编译rom 的时候,也必须使用上面编译生成的无线驱动模块,否则,刷机之后,wifi会报错,
具体的报错原因主要是驱动的vermagic不正确。
具体的解决办法:
可以在编译好zip包之后,将自己编译的bcm4329.ko文件替换zip包里面的
system/lib/modules/bcm4329.ko
目前还没找到如何在buildspec.mk文件中指定编译rom使用新 无线驱动模块。
6、编译rom
回到rom源码根目录
$. build/envsetup.sh
$brunch bravo
根据机器的配置,编译大概需要半个小时左右。
补充:
1、修改默认语言为中文
修改build\target\product\full_base.mk内容:
PRODUCT_LOCALES := zh_CN
2、修改需要编译的语言
修改build\target\product\languages_full.mk内容:
PRODUCT_LOCALES := en_US \
zh_CN
即只编译英文和简体中文。
3、repo撤销本地修改
repo forall -c git reset --hard HEAD
有的时候修改本地代码了,再次同步的时候会报错,需要清理代码的时候,可以执行这个命令。
4、编译相关配置文件:
verdor\cyanogen\products\cyanogen_bravo.mk
该文件定义了编译的内核以及编译最终生成的文件名
分享到:
相关推荐
CyanogenMod编译环境的搭建和可刷机文件的编译及打包
本资源提供的"CM FF MIUI Oxy"是指四个不同定制版本的Android内核:CyanogenMod(CM)、Firefox OS(FF)、MIUI和OxygenOS(Oxy)。每个内核都是对原生Android内核进行修改和优化后的产物,以适应特定设备或提供独特...
CyanogenMod android平台 android 4.0 launcher 2 源码 eclipse可以编译. 经过大量修改: 它支持android 4.0 系统, 它支持android 4.1 系统. 均通过真机测试. 联系我获得技术支持.
标题 "编译 i9000的cm系统" 指的是为Samsung i9000手机编译CyanogenMod(CM)系统的过程。CyanogenMod是一种基于Android开源项目(AOSP)的第三方操作系统,它提供了更多的自定义选项和优化。在本主题中,我们将深入...
标题中的“Samsung Galaxy S: Compile CyanogenMod (Linux)”指的是在Linux操作系统上为Samsung Galaxy S手机编译CyanogenMod的过程。CyanogenMod是一种基于Android开源项目的第三方操作系统,它提供更多的自定义...
其中,`recovery.fstab`和`kernel`文件需要特别关注,它们分别负责设备的文件系统配置和内核部分。 在适当修改`recovery.fstab`以适应你的设备后,可以开始编译Recovery。运行`make -j4 recoveryimage`命令来编译...
5. **CM10.1**:CM(CyanogenMod)是一个知名的第三方Android ROM,基于AOSP(Android Open Source Project)。CM10.1对应的是Android 4.2 Jelly Bean的一个分支,它提供了许多原生系统不具备的功能和自定义选项。...
from the CyanogenMod repo. These tools can be used for unpacking and repacking the android boot and recovery images. Note: mk compiler has been tested on ubuntu linux should work on most debian ...
CyanogenMod 是一个基于 Android 开源项目的第三方操作系统,它提供了更多的自定义选项和优化,深受许多高级 Android 用户的喜爱。这个压缩包文件看起来包含了 CyanogenMod 驱动程序和包装器的 C++ 代码,这通常是...
本代码使 Android 系统能够自动挂载 NTFS 与 exFAT...使用的是 CyanogenMod 10.1 的源代码,并在 Samsung GT-I9100 上测试通过。 具体编译说明请参考 http://http://blog.csdn.net/hackpascal/article/details/8850688
总的来说,CM10.1编译是一项涉及Android系统内核、设备驱动、应用程序和用户体验的综合工程,它体现了开发者对Android系统的深度理解和创新精神。对于HTC One X用户来说,成功编译的CM10.1 ROM能带来全新的系统体验...
在本文中,我们将深入探讨如何编译Android源...遵循上述步骤,你应该能够成功地为Dream/G1设备编译CyanogenMod或其他自定义ROM。随着Android系统的不断更新,编译流程可能会有所变化,因此建议定期查看最新的编译指南。
CyanogenMod 入门 要开始使用 Android/CyanogenMod,您需要熟悉 。 要使用 CyanogenMod 树初始化本地存储库,请使用如下命令: repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0 然后将 local_...
标题“Ubuntu 12.04 64位编译cm-10.2 总结”涉及到的是在Ubuntu 12.04 LTS(长期支持版)64位操作系统上编译CyanogenMod(CM)10.2的过程。CyanogenMod是一个基于Android开源项目的第三方操作系统,CM 10.2是针对...
本文将深入探讨“android_kernel_wiko_rainbow”项目,这是一个专为Wiko Rainbow智能手机定制的内核,旨在提升设备的性能和功能,与CyanogenMod 11(CM11)系统兼容。 首先,我们来看“Wiko Rainbow Cyanogenmod 11...
为 acer 液体 (salsa) 编译 Cyanogenmod 10 的设备树 警告在这个版本中你必须使用 gcc 4.4.3 否则你会在内核和模块中得到一些错误 不适用于这些东西: # camcoder # usb, wi-fi tether. # may be anything else, ...
CyanogenMod文件管理器AOSP的文件管理器,专注于植根设备,是专门为CyanogenMod项目设计的。 此源是根据许可条款发行的。 访问和以获取源代码和补丁。 版权所有:copyright:2012 The CyanogenMod Project
三星i5800超频至1000MHz内核是针对这款设备的一项性能提升技术,主要涉及手机硬件和操作系统级别的优化。三星i5800,也被称为Galaxy Apollo或Samsung Galaxy 3,是一款运行Android操作系统的智能手机。通过超频,...
1、此ROM是移植CyanogenMod7.1而来, Android版本为2.3.7, 内核版本为2.6.32 2、解决了之前原生2.3.2的断网和亮度的BUG,并且开启了自动亮度调节功能 去除手机激活提示, 加入APN编辑与切换功能 4、多媒体源码采用谷....