查看: 21578|回复: 55

[蓝魔平板教程] (部分更新)接下来交给你们了——W17Pro等晶晨双核方案内核解包打包教程

[复制链接]

该用户从未签到

发表于 2013-2-21 00:24 | 显示全部楼层 |阅读模式
本帖最后由 osuer 于 2013-3-23 02:30 编辑

好久没有给W17Pro更新固件了,原因有很多,这里不多说了,23号楼主就要开学,没有那么多时间给大家做固件了,当然,开学之前会给大家做一个重大更新,也就是重拾CM10计划(请各位不要过分期待CM10.1,4.2是好,可是我怎么也没办法稳定移植过来),继续优化最终版本的CM10固件,在这里事先感谢蓝魔之家论坛那的librehat、CM团队以及为艾诺移植编译固件的国外高手Chrisitantroy!

本帖,将带大家进入高技术性的固件移植操作,也就是完整地教给大家如何解包、打包晶晨双核方案的boot.img,以移植CM、AOKP等固件,或者做出自己满意的其他固件。(因为蓝魔不放源代码,所以像艾诺论坛那样有高手能完全自制内核这种事情还是别想了,除非真的有哪天蓝魔发善心放源码,大家也帮忙联系一下蓝魔,呼吁一下吧,这真的是开发者的心声)


OK,咱废话不多说,直接进入教程:
首先,你需要准备以下软件:
1、Java运行库(32位系统需要x86版本,64位系统x86与x64都需要!),可以是Java Runtime,也可以是JDK,因为解包打包内核不用安卓固件厨房,所以不装JDK也是可以的。
2、Oracle Virtual Box虚拟机,同样要注意x86与x64版本,64位系统不要装到x86去了。(官方即有中文,千万不要相信什么汉化版,截至本帖发出时最新版本为4.2.6。)
3、Ubuntu 12.04镜像,这个可以从网上轻松下载,Ubuntu是完全免费的。(注意不要贪图高版本!)
4、蓝魔固件专用的签证工具,本帖提供下载。
5、蓝魔官方固件包(若要移植CM10等系统,请使用20121022版本,若非移植,可以使用20121116内测固件)。
6、WinRAR等压缩软件。
7、Virtual Box功能扩展包(下载地址:http://dlc.sun.com.edgesuite.net ... -82870.vbox-extpack


接下来是正式操作:
1、首先下载安装JAVA运行库,目录可以自定,不要有中文!安装完后是不需要配置任何环境变量的,因为安装的不是JDK。
QQ截图20130220233511.png
若安装正确完成,JAVA能够运行,则在“运行”里输入cmd,打开命令提示符,输入java,是可以看到提示信息的,如果被提示未知,则需要检查安装步骤的正确性,尤其是32位与64位版本!
QQ截图20130220233543.png

2、之后安装Virtual Box,自己注意安装过程中的提示即可,这里就不再重现安装步骤了。
3、安装完成后,打开Virtual Box,开始配置虚拟机。
点击新建后,出现新建虚拟电脑对话框,然后输入虚拟机名称,系统设置为Linux,版本选择Ubuntu或Ubuntu 64bit,根据自己的实际情况选。
QQ截图20130220234649.png
之后修改内存大小,建议要1024MB以上,才能保证Ubuntu的顺利运行。
QQ截图20130220234740.png
之后选择创建虚拟硬盘,然后使用VDI格式,动态分配大小,容量保持8GB不变即可。这样能够让虚拟机硬盘自动根据虚拟机内容的多少动态修改虚拟机映像文件的大小,很方便,创建速度也很快。
QQ截图20130220234754.png

QQ截图20130220234802.png

QQ截图20130220234818.png
之后点击创建,即可完成虚拟机的创建了。


4、点击创建好的虚拟机,选择设置,我们对虚拟机进行简单的配置。
首先在常规这里,点击右边的高级选项卡,共享剪贴板选择双向。
QQ截图20130220235350.png
系统-处理器中,CPU个数修改成与自己的电脑一致的数量。(4核心8线程CPU选择4核心,还不清楚能不能选择超过4个核心)启用PAE/NX,占用率100%。
QQ截图20130220235428.png
显示中,显存拖到最高,启动3D加速。
QQ截图20130220235443.png
声音中,选择与你电脑一致的音频设备,通常选择Intel HD音频,我的电脑用的是创新独立声卡所以我选择Sound Blaster。
QQ截图20130220235532.png
接下来是共享文件夹,这是最重要的设置:点击共享路径的菜单,选择其他,选中用于制作固件的统一的文件夹,确定。然后勾选自动挂载即可。请注意文件夹名称不能有空格、中文,尽量简洁!另外注意区分大小写否则Ubuntu会挂载失败。
QQ截图20130220235608.png

QQ截图20130220235633.png
之后回到设置中,点击确定即可完成虚拟机的设置。接下来就是点开虚拟机进行初始化了。
在开机完成之前,迅速点击虚拟机界面上的设备-分配光驱-选择一个虚拟光盘,然后打开Ubuntu12.04的iso镜像进行加载,之后就能够进入Ubuntu12.04的安装界面。
QQ截图20130221000901.png

QQ截图20130221000927.png

之后等待安装程序加载完成,在左边选择简体中文右边选择安装Ubuntu即可。
QQ截图20130221001303.png

QQ截图20130221001406.png
然后在准备安装Ubuntu中,直接点击继续即可,不用勾选其他东西,咱也不是拿这个虚拟机来玩的。
QQ截图20130221001430.png
全新的虚拟机会提示硬盘没有分区,你要怎么做,我这里已经安装过Ubuntu了,所以就不是这么提示。通常来讲,直接选择Ubuntu自动分区即可,不用手动操作。
QQ截图20130221001507.png

之后就继续按照提示进行安装即可,安装可能会花比较长的时间,你可以点开详细安装信息看看安装程序到底在做什么,如果安装程序开始从网上下载插件等东西,就可以点击跳过,节省安装时间。并不是所有的插件都有必要安装的。


安装完成后,会重启,这时候迅速点击虚拟机的设备-分配光驱-移除虚拟盘,避免再次从光盘引导,之后就可以顺利地进入Ubuntu系统了。第一次运行会让你设置一些东西,按照提示设置即可,在设置密码的地方一定要认真设置。Ubuntu默认是不让使用root账户的,之后再进行设置。

系统默认会进入你设置的账户而不是root账户,注销后也不能进入root。
QQ截图20130221193657.png
这时候点击左上角的图标,输入term,找到终端。
QQ截图20130221193721.png

点击,打开终端,输入sudo su,回车后输入刚才安装系统时设置的密码即可,输入的过程中是不会有任何提示的。
QQ截图20130221193747.png
之后就进入了root模式,这时候输入gedit /etc/lightdm/lightdm.conf,回车,使用gedit打开配置文件。
QQ截图20130221193902.png
将原来的文本修改成如下图的形式:
QQ截图20130221193927.png
然后保存退出,回到终端,输入passwd root,重新设置root用户的密码即可。
QQ截图20130221193948.png
这时候注销,选择下面一个用户,输入用户名root,输入密码,回车后即可进入root账户。
QQ截图20130221194129.png 进入系统后,选择虚拟机菜单的设备-安装增强功能,之后系统会弹出对话框,问是否允许自动运行,点击运行,等待安装完成,然后回车退出终端窗口,这时候最好重启一遍。
QQ截图20130323015044.png

QQ截图20130323015105.png

QQ截图20130323015321.png

重启完成后重新进入root账户,然后打开终端,输入以下命令:
mkdir /mnt/shared
mount -t vboxsf firmwares /mnt/shared
注意:这两行的意思分别为:在/mnt/目录下创建一个名为shared的文件夹,你也可以随意更改名字,但是最好放在mnt里。
另一个是挂载虚拟机共享目录,其中firmwares是我制作固件时专用的目录,请更名为你自己的目录,注意不能有空格和中文,最后的/mnt/shared意思就是把共享目录挂载到shared文件夹里,这时候进入文件管理器打开mnt/shared文件夹就可以看到Windows下共享目录的所有内容了。
QQ截图20130323015600.png

接下来,继续在终端里输入apt-get install uboot-mkimage,用来安装mkimage工具,这是之后打包内核的关键工具。
QQ截图20130323020459.png
因为做教程之前我已经安装过了,所以这里提示已经安装,未安装的同学按照提示下载安装即可。

之后回到Windows,将刷机包中的boot.img用winrar提取出来,放到共享文件夹下,确保Ubuntu内能看到同样的文件,如果已经放对地方却没看到文件,尝试按下F5。
QQ截图20130323020137.png
之后将附件提供的内核解包打包脚本解压出来,最好将是个sh脚本全部放到一个文件夹下,注意文件夹名称区分大小写,这在接下来的操作中非常重要,请自行决定自己喜欢的文件夹名称,最好简单些,这里我命名为uImage。
之后将包含了打包解包脚本的uImage文件夹拷贝至Ubuntu的桌面,备用。
QQ截图20130323020345.png
然后我们在Ubuntu里把解压出来的boot.img复制粘贴到桌面的uImage文件夹下,改名为uImage,注意一定要区分大小写!否则后面的解包是绝对失败的,Linux文件系统对大小写比较敏感。
QQ截图20130323020921.png
之后回到终端,输入cd /root/桌面/uImage,不出意外的话Ubuntu是自带中文输入法的,你也可以调用Windows的中文输入法直接输入中文,不过还可以直接右键单击桌面的uImage文件夹选择属性,直接复制对话框里的“位置”内容,然后右键粘贴到终端里,自己再补上/uImage,回车即可。
QQ截图20130323021001.png
进入uImage目录后,我们要给sh脚本设置权限,这里输入一下两行代码:
chmod +x extract-uImage-initramfs.sh
chmod +x build-uImage.sh
这样就给普通内核的打包解包脚本设置好了权限,至于有recovery后缀的两个脚本暂时用不到所以不用设置。


设置权限完成后,直接输入以下代码,开始解包内核:
./extract-uImage-initramfs.sh
注意一定要区分大小写!如果脚本能够正常运行,这会有如下提示,解包过程比较迅速,但是大家切记一定要在Ubuntu系统里操作,切不可贪便宜在Windows共享文件夹里操作,那样是绝对会因为文件系统差异而打包失败的!
QQ截图20130323021056.png

如果解包成功,在uImage下就可以看到initramfs与NEWBOOT两个文件夹,进入initramfs文件夹,就可以看到内核里的所有关键启动脚本了,最重要的就是init.rc、default.rc与uevented.rc这三个脚本,其中前两个是移植CM、AOKP等固件的关键之处。 QQ截图20130323021145.png
时间关系先写到这里,有空接着……

repacking_scripts.zip (6.75 KB, 下载次数: 48)

评分

参与人数 6本币 +81 收起 理由
adam_phoenix + 10
sdev + 1 sudo
游水玩山 + 10 技术帖子,感谢分享
wyf_ + 10 精品文章
826305301 + 10 给力吖!
wangweidongq + 40 恭喜,获得本币奖励

查看全部评分

该用户从未签到

发表于 2013-2-21 08:14 | 显示全部楼层
沙发

该用户从未签到

发表于 2013-2-21 09:03 来自手机 | 显示全部楼层
前排

该用户从未签到

发表于 2013-2-21 11:34 来自手机 | 显示全部楼层
好高难度

该用户从未签到

发表于 2013-2-21 11:37 来自手机 | 显示全部楼层
有空学习下吧,支持楼主

该用户从未签到

发表于 2013-2-21 17:29 | 显示全部楼层
留名,等楼主更新

该用户从未签到

发表于 2013-2-21 19:14 | 显示全部楼层
在windows下装jre有什么用?莫非ubuntu不用装了?还没见过这么高端的囧....

该用户从未签到

 楼主| 发表于 2013-2-21 19:25 | 显示全部楼层
1422435664 发表于 2013-2-21 19:14
在windows下装jre有什么用?莫非ubuntu不用装了?还没见过这么高端的囧....

jre是之后用来运行签证工具的,而且跟ubuntu没关系

该用户从未签到

发表于 2013-2-21 21:31 | 显示全部楼层
osuer 发表于 2013-2-21 19:25
jre是之后用来运行签证工具的,而且跟ubuntu没关系

软件包呢?实在是没用过几次linux,对于运行hat的解包脚本表示智商着急TT.....安装java表示十分蛋疼,在win下加变量soeasy,在linux下加入实在是各种规则瞎胡撞....

该用户从未签到

 楼主| 发表于 2013-2-21 21:56 | 显示全部楼层
1422435664 发表于 2013-2-21 21:31
软件包呢?实在是没用过几次linux,对于运行hat的解包脚本表示智商着急TT.....安装java表示十分蛋疼,在w ...

我又不是让你在linux下面安装java,windows下面安装有什么蛋疼的,装完直接用就是了,什么设置都不用
另外我的解包用的不是他的脚本,是Crayon的

该用户从未签到

 楼主| 发表于 2013-2-21 21:58 | 显示全部楼层
本帖最后由 osuer 于 2013-2-21 22:01 编辑
1422435664 发表于 2013-2-21 21:31
软件包呢?实在是没用过几次linux,对于运行hat的解包脚本表示智商着急TT.....安装java表示十分蛋疼,在w ...

脚本涉及的工具也就是lzma、mkimgae、unlzma三个,除了mkimage要apt-get install uboot-mkimage以外,其他都是unbuntu自带的

该用户从未签到

发表于 2013-2-21 22:43 | 显示全部楼层
幸苦了

该用户从未签到

发表于 2013-2-26 20:37 | 显示全部楼层
其实楼主没必要写得这么详细,平台搭建啥的完全可以省略,说重点就行..

该用户从未签到

发表于 2013-2-27 21:23 | 显示全部楼层
继续,呵呵,还没有到关节点,只是环境搭建,支持!

该用户从未签到

发表于 2013-3-6 21:58 | 显示全部楼层
这个不错,可以学习一下了

该用户从未签到

发表于 2013-3-6 22:22 来自手机 | 显示全部楼层
基本看不懂 还是感谢兰州吧 最近用cm10听歌发现有卡顿…玩andjuist时有莫名其妙的延迟…一会正常一会差300毫秒左右…

该用户从未签到

发表于 2013-3-8 16:46 | 显示全部楼层
求更新!!!

该用户从未签到

发表于 2013-3-8 16:48 | 显示全部楼层
感谢分享

该用户从未签到

发表于 2013-3-8 16:53 | 显示全部楼层
非常不错,感谢

该用户从未签到

发表于 2013-3-13 21:19 | 显示全部楼层
这些都不是关键点,可惜,下文,不知道在哪里?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|意见反馈|板友会 ( 北京市公安局海淀分局网监中心备案编号:11010802020118  

GMT+8, 2018-1-18 01:56 , Processed in 0.096729 second(s), 18 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表

每月活动不重样
请为我打call 关注试客公众号:it168sk