Pengxin404 Pengxin404
馃槀馃槀
关注数: 25 粉丝数: 158 发帖数: 7,354 关注贴吧数: 55
[水贴又不像]Android x86启动原理 其实大家都知道 安卓也是基于Unix的系统 当然很多API依赖Java 所以下面先解释解释 是如何启动的 分别都有哪些东西 首先呢 grub启动器 缺一不可 是唯一一个能够启动Linux系统的启动器 所以当初作者选了vesa启动(还是什么) 但是这会导致5.0以上的安卓不能启动的原因 但是对于某些方面都是比较兼容 首先呢 grub启动器先引导kernel 那么kernel又是什么东西呢 就有点像vista以上的win系统用的winload. exe 也就是说 这个kernel可以控制启动的指令 引导initrd ramdisk 和system ramdisk 又称为虚拟盘 有点相似WinPE对吧 但是 ramdisk的出现就可以让systek的部分物件分出来 包括了根目录的所有文件(也不是所有 就是system必吃的部分)和驱动 initrd。img是引导system之前的必要物件 里头包括了很多启动选项等 (那也就是/initrd吧→_→) 所以呢 system就是系统的操作系统了 我也不太清楚它是什么类型的文件 但我知道 这个得必须有-o loop才能挂载(这个指令可以将img等物件挂载成回环 也就是自动分配)所以呢 作者为了防止破解这个文件又打包成squashfs 这样导致了只能7zip/Linux挂载解压 (在initrd。img的/(init还是initrd)声明过如果文件类型为sfs将系统自动将其挂载到sfs 然后再把里头的img挂载出来) 所以具体的启动方式我就解释完了 下次我有时间的话再继续更 因为我在用wifi发帖子不能随时的那么样子了
1 下一页