[水贴又不像]Android x86启动原理
androidx86吧
全部回复
仅看楼主
level 7
Pengxin404 楼主
其实大家都知道 安卓也是基于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发帖子[喷]不能随时的那么样子了
2016年05月03日 10点05分 1
level 7
Pengxin404 楼主
又错别字了
2016年05月03日 10点05分 2
level 11

2016年05月03日 14点05分 3
level 8
自己猜的?还说的跟真的似的。。
第一,api依赖Java不假,但其主要是开放给apk应用程序的,跟系统启动基本没关系
第二,grub2引导管理器并不是唯一一个可以启动linux的引导管理器
第三,vesa模式只是传递给kernel不同于正常模式的参数,主要影响显卡驱动
第四,ramdisk主要工作是建立kernel必须的主要目录
第五,initrd的主要工作是初始化system,将其挂载到ramdisk所建立的根目录上,还启动了主要服务以及驱动
第六,system.img是磁盘映像文件,是一个完整的磁盘的数据,而不是分区,所以需要回环设备/dev/loop来作为中间人来与其通信
第七,使用squashfs打包system.img的目的是为了压缩它,否则太大,看看remix的镜像比phoenix大多少就知道了
第八,因为system.sys是个压缩包,自然不能直接挂载
第九,由此可见露珠基本linux知识并不过关,但并不影响折腾x86
第十,我也不能保证上述完全正确,如有错误请指出,共同进步[呼~][呼~]
2016年05月03日 19点05分 4
大神我想在surface rt上引导arm的Linux最终得到arm的安卓[乖]
2016年05月03日 23点05分
@lxy3427 架构不同,等同于物种不同,你觉得大象能上得了蚂蚁吗?
2016年05月04日 00点05分
回复
Mr曰者
:我都特别说明是arm安卓了,这个CPU在手机上是有安卓系统的,而安卓基于Linux内核,目前主要问题还是armuefi安全启动有限制
2016年05月04日 01点05分
@lxy3427 你的surface是arm的?
2016年05月04日 05点05分
level 7
Pengxin404 楼主
不过呢也不得不说 这x86的作者根本没在5。0以上系统配备arm(不清楚 不过我偷看lib了) 但Phoenix os配备了 所以 ramix没试过 但是试过Phoenix OS 真心不错 就是没有兼容性开关 这样就不能玩我最喜欢的fnaf了[滑稽]
2016年05月07日 11点05分 6
跑话题了
2016年05月07日 11点05分
@兵长160cm2333 来你龙尾[滑稽]
2016年05月18日 11点05分
level 8
这是makefile中制作成img文件的主要部分,至于怎么压缩成sfs自己怎么再从sfs解压成img的,百度Linux下squashfs相关的命令,没什么难的[滑稽][滑稽]
2016年05月07日 18点05分 7
火星[滑稽]不用sfs命令也可以按照loop的方式挂载
2016年05月08日 11点05分
level 12
grub4dos也是引导Linux的,syslinux也是
2016年05月27日 16点05分 8
一直都是 只不过syslinux通常都出现在安装linux光盘映像里头
2016年05月27日 17点05分
@Pengxin404 然而还有一个东西——Bootloader,这是树莓派上的东西,我也不知道这个Bootloader具体叫什么名字
2016年06月29日 16点06分
level 14
2016年06月24日 11点06分 9
还有心情发表情[滑稽]
2016年06月24日 11点06分
level 1
呵呵,除了GRUB其实还有LILO,还有变色龙,还有GRUB2
2016年06月29日 16点06分 10
[汗]變色龍不是給黑蘋果用的嗎
2016年06月29日 16点06分
@Pengxin404 我就说能不能引导?还有谁说只能给Mac OS用了?
2016年06月29日 16点06分
还有四叶草[滑稽]
2016年08月05日 16点08分
1