编译适配小米2S的CM Linux内核源代码及问题解决

1. 下载内核源代码

首先进入CM官网与小米2S相关的页面:

http://wiki.cyanogenmod.org/w/Aries_Info

在页面中可以找到Kernel后面的链接:

http://www.github.com/cyanogenmod/android_kernel_xiaomi_aries

单击该链接进入github下载页面,可以通过git clone下载,也可以直接下载zip压缩版本。

2. 编译内核源代码

进入下载后的目录,将MakeFile中的两行修改为:

ARCH		?= arm
CROSS_COMPILE	?= arm-none-linux-gnueabi-

如果未安装交叉编译器请安装交叉编译器。

之后执行以下命令:

make cyanogen_aries_defconfig
make

编译过程可能会遇到如下问题,给出了解决方式,但不知是否有潜在bug。

(1)报错:

drivers/mmc/host/msm_sdcc.c: In function 'msmsdcc_probe': 
drivers/mmc/host/msm_sdcc.c:5516:19: warning: 'sup_voltages' may be used uninitialized in this function [-Wuninitialized]
解决方法:

在drivers/mmc/host/msm_sdcc.c文件5517行后面(在使用sup_voltages之前)添加:

sup_voltages = devm_kzalloc(dev, sup_volt_len / sizeof(*sup_voltages) * sizeof(*sup_voltages), GFP_KERNEL);
(2)报错:
drivers/mmc/host/msm_sdcc.c: In function 'msmsdcc_probe':
drivers/mmc/host/msm_sdcc.c:5556:24: warning: 'clk_table' may be used uninitialized in this function [-Wuninitialized]
解决方法:

在drivers/mmc/host/msm_sdcc.c文件5517行后面(在使用clk_table之前)添加:

clk_table = devm_kzalloc(dev, clk_table_len / sizeof(*clk_table) * sizeof(*clk_table), GFP_KERNEL);
(3)报错:
drivers/staging/prima/CORE/HDD/src/wlan_hdd_main.c: In function 'wlan_hdd_scan_abort':
drivers/staging/prima/CORE/HDD/src/wlan_hdd_main.c:7201:9: warning: 'status' may be used uninitialized in this function [-Wuninitialized]
解决方法:

将drivers/staging/prima/CORE/HDD/src/wlan_hdd_main.c文件7201行(status定义所在行)修改为:

int status = VOS_STATUS_SUCCESS;

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙强 Jimmy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值