Android 创世纪 第一天

标签: android 创世纪 一天 | 发表时间:2011-10-01 03:29 | 作者:黑暗伯爵 Adam
出处:http://www.cnblogs.com/

第一天,google说,要有电,于是电流涌向了电路板,涌入了arm处理器,于是arm运作了。

               --xxx

 

    嵌入式世界诞生之出,世界是荒蛮的,电流涌向各个芯片,各种处理器等待着唤醒。

 

    arm觉醒了,开始审视自己。。。。

 

        ---------------下面内容可能有误,请指正-------------------

    人们叫他Bootloader,和PC中的BIOS是哥们,负责芯片各个端口的初始化,以及cpu时钟等等设置。

 

    在手机中,bootloader一般就是刷机人口中的底包(并不全是,第二天会说),以摩托为例,买到手机后发烧友们总会首先刷底包,什么北欧、港行、巴西什么的底包。首先下载下来100~300m的sbf文件。底包这么大,都包含了什么?bootloader肯定在其中,但嵌入式世界诞生之初是荒蛮的,能有这么大么?

         ---------------上面内容可能有误,请指正-------------------

    我们就打开一探究竟:

这里就啰嗦一下怎么解sbf包,方便具有geek精神的刷机友们一探究竟

 

下载 SBF-Recalc   ,用这个软件解开sbf包,这里以 3.4.3_11-Stock.UKTmobile_BLUR.sbf 新新英底包为例,解压后的文件如下:

image

   

      出来了这么多东西,看到有两个8m多的文件了吗?他们就是linux的基本内核,随便解开一个第三方rom刷机包,里面都有boot.img,和这两个文件是差不多的,准确的将,bootloader是哪个,水平不行,我不知道。。。。。。

    

一、bootloader 干了什么

      一般手机当中有很多文件系统,从NOR到NAND、SDcard不等,每个rom当中都存放不同的数据。

    

      bootloader首先会从自己的rom当中读取一些指令,初始化各种堆栈等等,然后转到定制厂商烧写进自身某个rom的开始地址的程序,进入mian函数,这里就是与看门狗、各种中断、外围rom等等打交道了。   

 

二、bootloader之后的三条路

 

    这里一般会处理两种中断/事件的组合,哪两个,一个是进入工厂模式(显示出bootloader这几个字,当然是刷底包啦),另一个就是Recory(恢复模式,刷rom啦)。

    之后会有三条路可走

 

(一) bootloader烧写模式(工厂模式)

 

     三般情况下是用户在开机时(bootloader生命期之内)按下某些键,比如开机键,我的defy在usb有连接时也会进入bootloader界面。这些系统中断就会被接受。其它的则屏蔽

      没什么多讲的,纯粹是嵌入式方面,我懂得不多,对我们来讲,无非就是刷/烧写底包(一般情况下,刷包软件会把从bootloader到android rom一股脑的都烧写进各个rom[这里指硬件,存储器]当中)。

 

(二) Recory模式(恢复模式)

 

     二般情况下,用户按下开机键+音量/相机键(我说反了么?可能忘了)会进入恢复模式。此时bootloader会加载存放recory镜像(boot.img,稍后会讲)的rom/分区,并将控制权交给它,并结束自己的生命周期。

 

(三) 正常启动

     

      一般情况下,用户什么都不按,bootloader会正常加载系统内核(某rom/分区的boot.img)。进入到linux kernel。

 

三、linux kernel

      boot.img是什么?img是二进制文件,它一个文件系统的二进制镜像,前面是系统镜像,后者是zimage(2mb左右),眼熟吧,linux引导都需要它,它就是kernel(内核),是由bootloader在最后阶段进入的。

 

      它都干了什么?对于linux引导而言,用惯了pc,确实会感觉到捎了vmlinux,确实是这样,它包含了一个压缩过的内核,就是vmlinux,他首先会解压vmlinux,并放到ram中,之后,运行。

    这里不得不说一下,我第一次接触linux,用的是debian,当时没见过什么u盘,都是软盘,自己按着debian的教程,下载了一个基于软盘的微型Linux,就是内核啊,启动一次得插换三次软盘啊~~~,基本的命令都包含啦~~当时的windows 98多大啊,与三张软盘比就是指数级啊,我从此爱上了linux啊。。。。。。那么舒服的cli交互,跟dos比,一个天堂一个地域啊~~

 

      vmlinux的任务就是初始化linux世界

 

      首先,它会初始化一些必要的东西,比如检测arm型号什么的,然后就开始Linux的初始化(start_kernel),初始化各种内核子系统,最后会开始init,注意,这是内核级的init。

 

      然后init会挂接根文件系统(/),根文件系统就是内核镜像所在的系统了,它存在于内存之中。然后初始化设备驱动,之后,机友们所谓的第一屏启动画面,就是在这里显示出来的,比如我的defy,是一个摩托的logo。

 

      这之后的之后,就到了第二天。

水平有限,错误之处请指正,多谢!

  ##第二天链接,占位##

原创文章,转载请说明出处:

http://www.cnblogs.com/hangxin1940/archive/2011/10/01/2196964.html

作者: 黑暗伯爵 发表于 2011-10-01 03:29 原文链接

评论: 0 查看评论 发表评论


最新新闻:
· 专访Google+主管霍洛维茨:赚钱不是当务之急(2011-10-02 13:43)
· 近朱者赤,近墨者黑——近创业者?(2011-10-02 13:35)
· 甲骨文不可能收购惠普5大原因:核心价值观相反(2011-10-02 13:34)
· 微软宣布将更新必应地图 涵盖42个美国机场(2011-10-02 13:28)
· 内部消息显示苹果下周二推Sprint版iPhone 5(2011-10-02 11:11)

编辑推荐:探讨 T-SQL 的 EXISTS、EXCEPT、INTERSECT 运算符

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库

相关 [android 创世纪 一天] 推荐:

Android 创世纪 第一天

- Adam - 博客园-首页原创精华区
第一天,google说,要有电,于是电流涌向了电路板,涌入了arm处理器,于是arm运作了.     嵌入式世界诞生之出,世界是荒蛮的,电流涌向各个芯片,各种处理器等待着唤醒.     arm觉醒了,开始审视自己.         ---------------下面内容可能有误,请指正-------------------.

Android 创世纪 第二天

- jejer - 博客园-首页原创精华区
第二天,google说,荒芜要被开垦,系统便运作了,它是linux.      荒蛮大地就要变得肥沃,linux已经运行起来了.      linux就不多讲了,这里只讲讲被google大刀阔斧改了内核后的linux.      第一天最后,内核init已经干完了自己的事,把控制权交给了第一个用户级进程,也叫做init.

Android 创世纪 第三天

- 英建 - 博客园-首页原创精华区
第三天,google说,伊甸园(linux世界)要被隔离,于是便创造了亚当(Adm)与夏娃(Eve),称它为zygote和system_server.      第二天,init跑完了,它对于android系统,最重要的,就是启动了zygote和system-server,谁是Adam谁是Eve.      从分析init.rc来看.

《植物大战僵尸》Android版今日上线 第一天免费下载

- fid - cnBeta.COM
正如之前报道的那样,今天PopCap开发的著名的《植物大战僵尸》游戏已经在亚马逊应用商店独家发售,一同推出的还有《Chuzzle》. 目前这款游戏均提供免费下载,第二天起的价格为2.99美元,在僵尸吃掉大脑前下载吧.

我从Android交易市场一天赚到250美元的故事

- sunnyboy.xue - 互联网的那点事
几周之前,我干了一件事情,回想起来有点傻. 但当事情发展到后来,却是令人意想不到的成功. 前段时间我提到过,自从Google+正式发布的第二天,我就开始使用它了. 因为我收到了一个陌生人的邀请,他能公开的邀请人加入Google+. 于是,我也就有了邀请他人的能力了. 我在博客上发了一个帖子,说能提供免费的邀请,结果收到了来自Android社区的人的大量回应.

我的从Android交易市场一天赚到250美元的故事

- Richie - www.aqee.net
本文是从 How to make $250 a day (and get banned from the Android Market) 这篇文章翻译而来. 几周之前,我干了一件事情,回想起来有点傻. 但当事情发展到后来,却是令人意想不到的成功. 前段时间我提到过,自从Google+正式发布的第二天,我就开始使用它了.

【外刊IT评论网】我的从Android交易市场一天赚到250美元的故事

- 圣斌 - 外刊IT评论
本文是从 How to make $250 a day (and get banned from the Android Market) 这篇文章翻译而来. 几周之前,我干了一件事情,回想起来有点傻. 但当事情发展到后来,却是令人意想不到的成功. 前段时间我提到过,自从Google+正式发布的第二天,我就开始使用它了.

Android 遥控车

- CasparZ - LinuxTOY
您确定您真的会用 Android 手机玩赛车. 16 岁的法国学生 Jonathan Rico 使用 Android 手机通过蓝牙实现了对改装玩具汽车的遥控. 操控的方式和那些标榜的智能手机游戏一样,使用重力感应,差别是这次控制的是现实世界中的遥控汽车. 收藏到 del.icio.us |.

Android免费?毛

- Ruby - FeedzShare
来自: 36氪 - FeedzShare  . 发布时间:2011年08月17日,  已有 2 人推荐. 微软CEO Steve Ballmer在预测竞争对手产品时通常口无遮拦. 比如他去年抨击Google的Android战略时,很多人都不屑一顾. 接着Android蚕食了微软的地盘,后来又开始侵犯苹果的地盘.