|
本帖最后由 wuwuzz 于 2015-2-10 09:12 编辑
一、开场白
(一)首先,向chenall致敬,不仅因为其在G4D上的突出贡献,还因为其在卡碟机、安卓手机启动
等方面的实践总结,为理论论证提供素材依据。
plutoshen、gaowazou也要表扬,他们的帖子
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=356652
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=355324
分别从内置SD0卡、外置SD1卡2种制作方式宣传推广了安卓手机启动。
本贴例子,是以笔者的华为A199麦芒手机做的,其内置SD0卡用户实际可用容量5G;外置SD1卡
容量4G,为Sandisk C4低速卡(用户可根据自己需要,换装其他新的高速大容量卡扩展)。
所测试的环境有AMI BIOS;Phoenix BIOS;Insyde BIOS/UEFI...等;
如果读者要用手机做启动,因为涉及到格式化、写MBR/PBR之类的操作,所以应先备份SD0、SD1
上的数据!切记!
(二)我仅做最简单、最原始的MSDOS启动盘。然后可以根据需要增加放置G4D,PE,UEFI shell等。
之所以没有做UD、U+...等流行格式,1、我不想增加MBR/PBR复杂性,2、更进一步的原因
参考三、关于U启兼容性
二、安卓手机启动制作经验小结
(一)用外置SD1卡,像普通U盘一样。优点是简单、不需ROOT。
平时手机插电脑,连接方式为USB Mass Storage Device大容量存储设备时,一般默认就是这个SD1
以可移动磁盘面目出现。
制作启动盘时,建议使用rufus(这是DriveDroid官方推荐的软件,下载地址http://rufus.akeo.ie),
FAT/FAT32,快速格式化、做MSDOS启动盘。下面的图是4G的SD1格式化设置。
(二)用内置SD0卡,需要ROOT、使用DriveDroid软件。优点是:
1、在支持多驱(Lun)的手机上,可虚拟出多个设备。例如,chenall的手机,支持3个LUN,可虚拟
出软驱、光驱、磁驱;plutoshen的手机支持2个LUN,可虚拟出2个磁驱;本人的手机不支持多驱,
只有1个LUN,磁驱。
2、磁驱可方便地建立多个IMG,虚拟多个不同容量的U盘,方便地切换。
对虚拟出的多个U盘IMG,制作启动盘时,建议使用HPUSBFW格式化工具,FAT/FAT32,快速格式化、
做MSDOS启动盘。下面的图是在SD0卡上,用DriveDroid建立了1个100M的IMG(虚拟U盘),然后用
HPUSBFW格式化做启动盘。
(三)关于速度
本人的实践经历,这并不是大问题,以plutoshen的Win7PE为例,内置卡、C4外置卡跟普通
USB2.0 U盘速度区别不大。如果追求高速,那就得上高速卡、USB3.0。
读者可能注意到了,我没有像官方说的那样使用U启制作工具:
rufus本来应该用在SD0上,而我用在了SD1上;
plutoshen使用Ultraiso硬盘映像写入方式、gaowazou使用BOOTICE不格式化写MBR/PBR方式,
我没有这样做。
原因是:按照上面官方的做法,A199手机启动全完蛋,各种不成功。只有像我上面那样使用U启
制作工具,各种BIOS/UEFI环境才能成功。更深层次的原因,不得不说说U启兼容性原理。
三、关于U启兼容性
基于流出的Phoenix BIOS,AMI BIOS源码学习,我认为:
U启兼容性最本质的决定因素,是固件(主板固件BIOS/UEFI和USB设备固件),而不是MBR/PBR...
这类东西(尽管MBR/PBR...也重要),当固件问答这个流程走完后,才到MBR/PBR处理阶段。
如果固件很差的话,很可能未到MBR/PBR处理阶段,就已经GAME OVER了。
理论上,如果你能满足BIOS要求,实现固件参数--比如CHS--的锁死优化,那么,后续
你使用什么U启制作软件折腾MBR/PBR,并不十分重要。而反之,如果你实现不了固件参数优化,
那么,无论你再怎么折腾U启制作软件,本质上就是在撞大运。
现实中,固件参数优化很难实现,因为它是内幕底层的东西,厂商不给你修改的入口。
因此,我们的迂回战术是这样的:
1、优化主板固件,升级BIOS/UEFI;
2、优化USB设备固件。
手机,你自己修改Linux内核,深度定制ROM;
U盘,利用量产工具修改/激活预设固件参数。前提条件是,固件实做命令支持部分,
量产工具支持修改那些至关重要的参数。
3、实在不行,才折腾U启制作软件,撞大运。
四、结语
接前面手机的问题:
1、固件威力的直接体现:多LUN设备支持。chenall、plutoshen的手机支持多LUN,
而我的不支持。首当其冲的根源就是手机ROM的Multi-Lun支持配置不同。
2、我没有能力修改优化A199手机ROM固件参数,因此,不得不折腾U启制作软件。
撞大运的结果,就是:Ultraiso、BOOTICE...各种不行,HPUSBFW用在SD0上、
rufus用在SD1上才能得到满意结果。
|
|