编译mx 内核成功

转:http://hi.baidu.com/_xiaxiaowen_/item/a14c51ff4ad1193dce9f329a

昨天编译android4.0.1,想不到成功了,,想到mx也把内核源代码放出了,所以干脆把mxkernel也编译下,其中会出现几处错误,步骤如下:

我是在ubuntu12.04下编译的,其他版本应该也适合,不过要把那些交叉环境的库装好,这个百度交叉编译环境有很多,

首先是下载我编译android时编译出的交叉编译器:arm-eabi-4.3.1;这个是我好不容易找到的版本号,因为mxkernel中有预编译好的库文件,交叉编译器版本不对的话就会出现ebaiAttribute44(eabi属性不对)的蛋疼情况,

然后cd进入kernel

1

cd/opt/WORKING_DIRECTORY/kernel/meizu-mx-kernel/

WORKING_DIRECTORY是我的android目录,meizu-mx-kernel是mx内核目录

然后编辑Makefile

1

vimMakefile

可以用tab健补全文件名

第195行arch改成arm,CROSS_COMPILE改成你的arm-eabi中的bin路径,不要忘了,还要加上arm-eabi-

1

2

ARCH?=arm

CROSS_COMPILE?=/opt/WORKING_DIRECTORY/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin/arm-eabi-

修改好了就按shift+;进入指令模式,然后键入wq退出

lsarch/arm/configs/看到这个文件里已有mx内核的配置文件,然后直接makemeizu_defconfig配置内核

如果是第一次运行makemeizu_defconfig会有很多显示,我已经运行过一次了,所以显示很少,

之后make-j3开始编译,-j3是3线程让编译快些,

其中会出现一些error,是op_t类型的a0,a1.a2.a3的未初始化,更改下就行了

1

viminclude/linux/memcopy.h

可以看到op_t的结构体就是unsightlongint型的,所以只要把有error的那些a0,a1,a2,a3,后面都加上=0就行了,a0=0,a1=0......

然后再make-j3编译就行了

生成的镜像在/arch/arm/boot中,

这个仅共学习的哈,不能烧到手机里!

arm-eabi-4.3.1下载:http://yanshangtao.cn/dl/Linux/crosstools/arm-eabi-4.3.1.tar.gz

相关推荐