android有关内核的几个问题
来源:互联网 发布:电子书包的软件 编辑:程序博客网 时间:2024/04/30 04:27
背景:
http://ticktick.blog.51cto.com/823160/d-11
解决问题:内核是什么?? https://www.zhihu.com/question/22463820怎么烧录到设备??
一:内核开发是否需要选购开发板?
内核是操作系统最基本的部分。 它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。
android开发
{
应用开发 网易云音乐 高德地图
底层开发,定制设备(机顶盒,智能电视和手表)。协议(蓝牙,wifi,p2p) 底层驱动
}
ps:之前买过树莓派,根本没时间玩
推荐选购nexus5
优点:兼容性
缺点:接口太少(串口,有线网口,GPIO等)
二:理解repo
是python封装的脚本
mainfest仓库+mainfest清单 配置文件
三.理解源码和内核间的关系
版本与android各个分支对应的关系 见http://source.android.com/source/build-numbers.html
Android对标准的Linux内核做了哪些修改?
Android对标准的Linux内核代码做了大量的剪裁和优化,并且添加了许多特有的代码,主要包括:自定义UI系统,采用Bionic Libc库代替glibc库,添加Gold-Fish平台,编写专有的驱动程序,如Binder、Logger、PowerManager等等。
eg:
aosp+patch补丁包==360os
低版本系统+高版本内核(继承适配内核的特性)==可执行
四,编译完成后输出镜像
前提{
bootloader==bios|grub 通常用于嵌入式设备=u-boot(MLo+u-boot.img—》boot分区)+rom引导代码
作用:检测硬件+引导指定位置加载并执行操作系统内核
linux内核源码编译–镜像
}
编译完成后会出现三个关键的img 文件
boot.img=uIngae+ramsidk.img打包生成
–uImage
Linux内核编译成功后,会在arch/arm/boot/目录下生成zImage文件,通过mkimage命令,给zImage文件加上了64个字节的数据头得到uImage文件,这样才能被u-boot识别并正确引导。
–ramdisk.img
Android内核系统启动时会首先加载ramdisk.img作为根文件系统,然后再执行init程序,解析init.rc脚本,挂载系统其他分区、开启各个进程和服务等。
system.img
/system分区
系统核心文件区 它包含了Android系统的firmware、用户界面、一系列的预编译应用等等
userdata.img
/data分区 用户数据 回复出厂设置
and.. 用来缓存最频繁访问的数据和应用的cache.img,用来恢复系统时使用的recovery.img等
五:系统分区与镜像文件的烧写
之前刷机的时候用过fastboot 它是Android SDK中提供的一种开发工具,支持通过USB线将手头的镜像文件更新/烧录到Android设备中,常用的fastboot烧录过程如下
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash userdata userdata.img
fastboot flash cache cache.img
fastboot flash recovery recovery.img
fastboot reboot
fastboot协议详见https://github.com/Jhuster/AOSP/blob/master/documents/fastboot_protocol.txt
有些开发板的并不支持fastboot怎么办??
这就需要我们采用其他方式烧录,或者修改bootloader/u-boot源码,让其支持fastboot协议。
其实也就是在指定区域烧写镜像的过程如果系统是从外接的SDCard启动就更简单了,只需要把SDCard连接到电脑上,覆盖对应分区里面的镜像文件就可以了。
- android有关内核的几个问题
- Android中有关布局的几个问题
- 有关浏览器的几个问题
- 有关DLL的几个问题
- 有关c#的几个问题
- 有关二进制的几个问题
- 有关NSURLConnection的几个问题
- X Window 有关的几个问题
- 有关android内核开发的网址
- 移植内核过程的几个问题
- IIS有关的几个问题的解决
- 有关VISTA/SERVER2008 OEM激活的几个问题
- 有关网线接法的几个问题
- Java 中与时间有关的几个问题
- java 有关内部类的几个问题
- Java 中与时间有关的几个问题
- java 有关内部类的几个问题
- android adb 的几个问题
- radio,checkbox,select的常用功能
- BOM DOM详解
- warning: failed to set breakpoint site at 0x1005ed32c for breakpoint 28.1: error sending the breakpo
- js学习记录4
- LeetCode——Regular Expression Matching
- android有关内核的几个问题
- ORACLE 查看当前连接数、修改最大连接数相关SQL或命令
- 数组
- mysql主从分离
- 友盟push收不到回调
- Java面试题全集(13)
- 65K问题
- poweroj(2376线段树区间最值求和)
- 【Entity Framework】EF初识