iOS iTunes/iBoot 模式系统升级详解
以下摘抄自iOS iBoot源码解释文档,内容较易理解不做翻译了。
iBoot Upgrade Mode
The iBoot application normally insists on booting from the first
partition on the storage device, using a kernelcache located in
/System/Library/Caches/com.apple.kernelcaches/kernelcache, with a
devicetree located in ROM and with the first partition as the root
device.
Upgrade mode provides an alternative boot path suitable for booting a
standalone restore/recovery system. It chains to a new bootloader,
and the new bootloader then loads kernelcache, devicetree, ramdisk and
optionally a display image before booting the kernelcache.
To invoke upgrade mode, the boot-command variable must be set to
‘upgrade’, and the upgrade partition must contain the following files:
/iBEC
/kernelcache
/devicetree
/ramdisk
/apticket.der
being the appropriate iBoot iBEC component, kernelcache, device tree,
ramdisk and personalised AP ticket for the system. In addition if the
file /logo is present, it will be displayed by the iBEC before the other
components are loaded.
When the kernelcache is booted, the RELEASE-configured iBEC will force
the boot-args variable to:
‘rd=md0 nand-enable-reformat=1 -progress’
Non-RELEASE configurations will add ‘rd=md0’ to boot-args but
otherwise preserve its contents. In neither case is the value saved
to NVRAM.
All of the files listed above are expected to be in their usual
(image3) format, and must be signed and/or personalised as normal.
Both iBoot and the upgrade iBEC will identify the upgrade partition by
its LwVM partition name, which must be ‘Update’.
If any of the following occurs, the unit will end up in the ROM
iBoot in recovery mode:
- the upgrade partition does not exist or cannot be mounted
- the file /iBEC does not exist in the upgrade partition
- the contents of the iBEC file are not an Image3 file or fail
authentication
If any of the following occurs, the unit will end up in the upgrade
iBEC in recovery mode:
- the upgrade partition cannot be mounted (e.g. due to NAND
format incompatibility) - the files /kernelcache, /devicetree and /ramdisk do not exist
in the upgrade partition - the contents of any of these files are not valid Image3, or
fail authentication - the kernelcache file does not contain a compressed mach-o
kernelcache - the devicetree file does not contain a valid devicetree
The iBEC component will set the auto-boot variable to false when
loaded in upgrade mode, to avoid the risk of locking the unit up due
to a hang while booting the upgrade kernel.
iOS iTunes/iBoot 模式系统升级详解相关推荐
- iOS 证书与签名 解惑详解
iOS 证书与签名 解惑详解 分类: iPhone2012-06-06 19:57 9426人阅读 评论(1) 收藏 举报 iosxcodecryptographyappleiphone测试 目录(? ...
- iOS中MVC等设计模式详解
iOS中MVC等设计模式详解 在iOS编程,利用设计模式可以大大提高你的开发效率,虽然在编写代码之初你需要花费较大时间把各种业务逻辑封装起来.(事实证明这是值得的!) 模型-视图-控制器(MVC)设计 ...
- iOS申请发布证书-图文详解
iOS申请发布证书-图文详解 首先登陆https://developer.apple.com 选择iOS Developer program 板块下的 Certificates,Identifiers ...
- Cisco 3945路由器密码恢复,rommon模式操作详解
Cisco 3945路由器密码恢复,rommon模式操作详解 在一次客户的网络出现故障,网络中断,排除故障的原因,发现到达路由器地址不通: 观察到路由器接口灯全部熄灭,电源状态正常: 然后使用cons ...
- iOS 开发之照片框架详解
一. 概要 在 iOS 设备中,照片和视频是相当重要的一部分.最近刚好在制作一个自定义的 iOS 图片选择器,顺便整理一下 iOS 中对照片框架的使用方法.在 iOS 8 出现之前,开发者只能使用 A ...
- iOS富文本字符串AttributedString详解
原文链接: iOS富文本字符串AttributedString详解 简书主页:http://www.jianshu.com/users/37f2920f6848 Github主页:https://gi ...
- python类是实例的工厂_Python设计模式之工厂方法模式实例详解
本文实例讲述了Python设计模式之工厂方法模式.分享给大家供大家参考,具体如下: 工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定实例化哪一个类, ...
- CentOS下Hive2.0.0集群模式安装详解
本文环境如下: 操作系统:CentOS 6 32位 Hive版本:2.0.0 JDK版本:1.8.0_77 32位 Hadoop版本:2.6.4 MySQL版本:5.6.30 1. 准备工作 1.1 ...
- Kafka单机、集群模式安装详解(二)
本文环境如下: 操作系统:CentOS 6 32位 JDK版本:1.8.0_77 32位 Kafka版本:0.9.0.1(Scala 2.11) 接上篇 Kafka单机.集群模式安装详解(一) 6. ...
最新文章
- ubuntu 12.04下搭建web服务器(MySQL+PHP+Apache) 教程
- 洛谷 P2818 天使的起誓
- 洛谷3384(树链剖分模板题)
- java 类隔离_Java类装载体系中的隔离性
- 玫瑰花函数matlab,网上收到的用matlab画玫瑰花的代码怎么不行啊,报告错误,求大神...
- android取消自动调试模式吗,Android进入调试模式的三种技巧
- 同学聚会 主持词_我主持freeCodeCamp聚会的三年来的成功和失败
- [国嵌笔记][025][ARM指令分类学习]
- ASP.NET MVC 3 Validation - 正则表达式验证RegularExpressionAttribute之日期验证
- jboss:在standalone.xml中设置系统属性(system-properties)
- Shell判断字符串是否为空
- 学习笔记 Tianmao 篇 fresco 图片缓存加载框架
- uni-app h5页面图片压缩
- 动态与静态二维码生成器
- 川大计算机系导师,川大计算机学院硕士生导师简介
- remove的使用方法
- Android基础——多媒体编程
- 什么是CUID,CRUD的操作
- 云游戏、视频、直播三者流量对比
- iOS定位和地理坐标类型解释