前言:

Motorola开源了基于Linux的手机源代码,包括A780、E680、A1200、E2、E6等等,官方网址:

https://sourceforge.net/motorola/wiki/Projects/

我修改的内核,支持SDHC 32G内存卡。

https://download.csdn.net/download/MYMOTOE6/14017283

一、编译BLOB

BLOB是摩托罗拉Linux系列使用的引导加载器,它是开机时首先运行的一段代码,作用是进行自检和加载引导内核,摩托公布了BLOB,所以我们可以直接编译运行,编译的时候一定要配置好交叉编译器的路径,交叉编译器摩托也公布了源代码,可以自己直接编译一个或者下载一个已经编译好的。注意在编译之前先要配置好内核的配置文件和路径,我是使用了一个脚本编译。

#!/bin/bash

export CC=arm-linux-gcc

export CXX=arm-linux-g++

export CFLAGS=-O2

export CXXFLAGS=-O2

export AR=arm-linux-ar

export AS=arm-linux-as

export LD=arm-linux-ld

export STRIP=arm-linux-strip

export RANLIB=arm-linux-ranlib

export OBJCOPY=arm-linux-objcopy

./configure --build=i68-linux-gnu --host=arm-linux --prefix=/mmc/mmca1/.system --with-board=lubbock --with-cpu=pxa262 --with-linux-prefix=/root/Moto-dev/linux-2.4.17 --enable-usb --enable-lcd

#make

#make install

编译完成的文件保存在src/blob/blob,把blob复制到刷机包替换cg32-blob.bin, cg32-blob.bin是由sbf刷机包拆解工具解开的一个文件。Sbf工具后面提供源代码,注意只能使用在E6上,如果要解开其他的刷机包,请自行修改,全部使用C语言编写。

二、编译内核

我主要使用的手机是E6,所以下载了所有E6的源代码,遗憾的是E6目录中并不包括内核代码,作为和A1200E同期发布的产品,估计其内部配置应该一致,所以参考了E6和A1200的电路图,确定它们使用的是同一款CPU英特尔的PXA270和同一款内存型号PF38F4476VVUBPD。所以下载了A1200E的内核源代码,通过查看原代码,发现编译要注意参数的配置,通过编译成功运行在了E6上,在内核源码根目录有一个setup.sh文件,安装好交叉编译器之后,进入linux-2.4.17目录,执行如下命令:

//在这里一定要使用澳门版配置,有两种配置:

//MACAU支持G网

//MACAUEDGE支持EDGE网

//配置内核为澳门版,支持18BPP

#.setup.sh PRODUCT=MACAUEDGE LCD=18BPP

# make bzImage //编译内核

# make modules //编译模块

编译完成的内核保存在arch/arm/boot/zImage ,把zImage复制到刷机包中,替换cg33-zImage

注意:cg33-zImage文件是我编写的linux系统下E6专用的一个刷机包编辑工具sbf解开的文件,使用这个工具可以简化很多步骤,不用再补齐FF,不用计算校验和等等。编译出的文件只要重命名并覆盖源文件即可。

使用方法是

# sbf –r e6.sbf //解开一个刷机包

# sbf –c e6.sbf //打包一个刷机包

第二个参数e6.sbf是需要修改的刷机包,这里为了简化重命名为e6.sbf,在打包时也要带上这个参数。新的刷机包文件名为New-e6.sbf。

三、刷机

把New-e6.sbf复制到windows系统,使用RSD-3.8刷机,刷完将拥有自己修改的全新内核。

MOTOROLA E6 内核开发手册相关推荐

  1. php phalcon 中文手册,Phalcon7 内核开发手册

    Phalcon7 内核开发手册 Phalcon7 是使用 C 语言开发的 PHP7 框架,本文档的目的是解释 Phalcon7 内部是如何运作,如果您对完善 Phalcon7 有兴趣或者想了解它是如何 ...

  2. 内核开发常备手册翻译(一)

    内核开发常备手册 基于前面实现高精度定时器版本时,内核常常崩溃.在翻到此内核开发文档时,答疑解惑和常阅手册: https://www.kernel.org/doc/html/latest/kernel ...

  3. 《码出高效:Java 开发手册》正式发布,83行代码计划启动

    可爱的Java开发者们,让你们久等了! 9月22日杭州云栖大会,众所期待的新书<码出高效:Java 开发手册>正式发布,并宣布将所有图书收益捐赠于技术公益项目. 本次新书发布,邀请了来自阿 ...

  4. 【收藏】SpringBlade开发手册地址

    https://gitee.com/smallc/SpringBlade/wikis/SpringBlade%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C SpingBlad ...

  5. 阿里巴巴JAVA开发手册及开发插件

    JAVA开发手册 https://github.com/alibaba/p3c/blob/master/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4Java%E5%BC%8 ...

  6. 让你久等了!《码出高效:Java 开发手册》正式发布

    可爱的Java开发者们,让你们久等了! 9月22日杭州云栖大会,众所期待的新书<码出高效:Java 开发手册>正式发布,并宣布将所有图书收益捐赠于公益项目. 此书从立意到付梓,历时超过两年 ...

  7. 以太坊Dapp项目-网页钱包开发手册

    以太坊Dapp项目-网页钱包开发手册 修订日期 姓名 邮箱 2018-10-10 brucefeng brucefeng@brucefeng.com 前言 在之前的一篇文章以太坊智能合约项目-Toke ...

  8. 基于net-snmp的代理端及管理端开发手册

    Net-snmp 代理端与管理端拓展开发手册 1.snmp 工作原理介绍 网络管理包括对硬件.软件和人力的使用.综合与协调.SNMP中的管理程序和代理程序是按照客户服务器的方式安排工作.在网络管理领域 ...

  9. FreeBSD开发手册(一)

    The FreeBSD Documentation Project FreeBSD 中文计划 版权 © 2000, 2001, 2002, 2003, 2004, 2005 The FreeBSD D ...

最新文章

  1. tensorflow下载鸢尾花数据集
  2. 华为手机获取状态栏高度是错误的_华为后置指纹这么多功能,你不会还以为只能解锁和支付吧...
  3. Helm 3 发布 | 云原生生态周报 Vol. 27
  4. 《Effective C++》item25:考虑写出一个不抛异常的swap函数
  5. ExtJs2.0学习系列(13)--Ext.TreePanel之第二式
  6. 关于Servlet出现乱码问题
  7. 设计师交流社区|积累开拓眼界必备网站
  8. 总结过去10年的程序员生涯_给程序员的一些总结性忠告
  9. 【金融】【pytorch】使用深度学习预测期货收盘价涨跌——LSTM模型构建与训练
  10. spreadsheet js中创建下拉列表_JS 中创建自定义排序方法
  11. mysql高可用性方案(2)
  12. java--Date时间
  13. 图:昌荣传播2010夏令营拉歌大赛胜利闭幕
  14. xps仪器及数据说明
  15. 基于Matlab的海洋监视雷达检测仿真(附源码)
  16. 百家讲坛全集免费下载
  17. 买电脑常识——电脑性能
  18. PyQt5-在窗口上绘制文本 QPainter
  19. 深度学习【使用pytorch实现基础模型、优化算法介绍、数据集的加载】
  20. Android SDK AndroidStudio 国内可用的镜像/代理地址

热门文章

  1. android final参数,Android应用开发之Android Jetpack-Navigation 使用中参数的传递方法
  2. 众测图数据库 Nebula Graph | 捉虫计划已开启,这项有礼
  3. Impala-Shell常用操作命令
  4. web登录添加用户+IP限制方法
  5. 刷题神器怎么导入java,怎么导题库_有没有比较好的可以自己导入题库进行模拟考试练习的软件_淘题吧...
  6. installer启动类型是灰色_联想电脑BIOS下引导方式无法修改或BOOT MODE选项为灰色解决方法...
  7. 高压侧电流检测电路及仿真
  8. 8.Docker容器镜像仓库存储原理(前世今身)与搬运技巧
  9. 2021年烟花爆竹经营单位主要负责人考试技巧及烟花爆竹经营单位主要负责人试题及解析
  10. Peakcoo软硬件方案设计——汽车胎压表气压计PCBA方案