随笔分类 - Bootup
摘要:inf文件介绍 inf是属于UEFI的标准应用程序工程模块的工程文件,每个程序工程模块,由工程文件和源文件组成。源文件就是c/asm这些程序文件,工程文件就是inf文件。inf文件相当于Makefile文件一样,是对源文件去做整合编译成模块文件的工程文件,用于让edk2编译工具去自动编译模块。 in
阅读全文
摘要:A/B 系统之 bootctl 工具 分别介绍了调试动态分区和虚拟 A/B 分区最常用的工具 snapshotctl 和 dmctl,这一篇介绍 bootctl(boot control),一个专门用于设置 BootControl HAL 接口的工具。 这个工具最常用的地方就是在 Android 系
阅读全文
摘要:Achitecture 在Android A/B System概述中有讲到A升B的一个例子。下面这张图是想说明两个问题: 启动的时候是如何知道要从A启动还是B启动? 升级的时候是如何要更新A还是B? 图中有两个流程,和涉及的一些模块: 模块: bootloader:启动的早期阶段,叫preloade
阅读全文
摘要:背景 所以需要对这块比较新的技术进行学习。在学习之前,有必要了解一下高通UEFI启动流程。 原文(有删改):https://blog.csdn.net/Ciellee/article/details/113519478 参考文档:80_P2484_117_B_UEFI_With_XBL_On_MSM
阅读全文
摘要:initrd的全名是 init ramdisk,是一个启动时存在于内存的文件系统。 kernal 到 initrd的流程 在GRUB加载kernel时,kernel会先在内存中制造一个rootfs当做临时的空间供系统使用,接下来,kernel便会将initrd当做是一个系统,将其mount到root
阅读全文
摘要:1 开发UEFI服务 本质Protocol 就是包含属性和函数指针的结构体,功能上来说就是提供者和使用者对服务的一种约定。 2 开发UEFI驱动 一个设备/总线驱动程序在安装时首要找到对应的硬件设备(UEFI中是要找到对应的控制器),然后执行安装操作,将驱动程序安装到硬件设备的控制器上。 一个完整的
阅读全文
摘要:系统表 对UEFI应用程序和驱动程序开发人员来讲,系统表是最重要的数据结构之一,它是用户空间通往内核空间的通道。有了它,UEFI应用程序和驱动才可以访问UEFI内核、硬件资源和I/O设备。 1 在应用程序和驱动中访问系统表 计算机系统进入DXE阶段后系统表被初始化,因而系统表只能用于DXE阶段以及以
阅读全文
摘要:第一章 UEFI概述(Unified Extensible Firmware Interface 统一的可扩展固件接口) 常见缩写及描述: 缩略词 全名 描述 UEFI Unified Extensible Firmware Interface 统一的可扩展固件接口 BS Boot Services
阅读全文
摘要:1 .inf文件 以下面 .inf文件为例 [Defines] # 块用于定义模块的属性和其他变量,块内定义的变量可被其他块引用 INF_VERSION = 0x00010006 #INF 标准的版本号, 前半部分主版本号,后半次版本号 BASE_NAME = Main #模块名字字符串,不能包含空
阅读全文
摘要:PBL(启动固化程序)-> XBL(扩展引导加载程序,负责初始化芯片驱动和核心应用功能。XBL通常会加载一些平台相关的驱动程序,并提供通用接口)-> ABL(应用引导加载程序,负责引导操作系统的启动。) 高通启用UEFI架构的bootloader,有些时候有些状态值,需要ABL阶段获取. 上层思维总
阅读全文
摘要:UEFI 介绍 UEFI(Unified extensible firmware interface)统一的可扩展固件接口,是一种详细描述类型接口的标准。 可扩展固件接口(Extensible Firmware Interface,EFI)是 Intel 为 PC 固件的体系结构、接口和服务提出的建
阅读全文
摘要:1. 关机流程 Android上层触发关机的入口很多,但最终几乎都是调用ShutdownThread.shutdown来实现。如下是一些常见的调用关机的点: StatusBarManagerService#shutdown, 这个主要是对接SystemUI(StatusBarManager是Andr
阅读全文
摘要:Kernel启动时会解析cmdline,然后根据这些参数如console root来进行配置运行。 Cmdline是由bootloader传给kernel,如uboot,将需要传给kernel的参数做成一个tags链表放在ram中,将首地址传给kernel,kernel解析tags来获取cmdlin
阅读全文
摘要:网络上已经有许多在kernel中修改开机Logo的文章,本文就LK下实现开机logo进行简述 需要用到ffmpeg工具,没有安装ffmpeg请参考这里: "http://blog.csdn.net/redstarofsleep/article/details/45092145" 运行"ffmpeg
阅读全文
摘要:1. 前言 书接上文( "u boot启动流程分析(二)_平台相关部分" ),本文介绍u boot启动流程中和具体版型(board)有关的部分,也即board_init_f/board_init_r所代表的、board有关初始化过程。该过程将持续u boot的整个生命周期,直到main_loop(即
阅读全文
摘要:1. 第二个start.S 从 开始,在 中有包含 在config.h中: 在 中: 在 中,看到了 的宏 查看u boot.map在这里又来到了上一层的start.S中来,所以可以知道这两个是由两个文件组成的,一个是u boot.bin和reg_info.bin,就是说两个不同的start.S的流
阅读全文
摘要:第一阶段 start.S 首先我们可以在u boot.lds中看到 ,即指定了入口 ,`_start start.S`的最开始; 1. reset 在 中的 注意x30在ARMV8中代表lr寄存器 normal_start_flow: / set stack for C code / ldr x0,
阅读全文
摘要:lk部分:(实现LCD兼容) 1. 函数定位 来到 ; 这就是高通原生lk LCD 兼容的关键所在。至于你需要兼容多少LCD 就在while()设置了,具体代码就不跟下去了。 然后根据target中的不同文件来判断是否进入哪一个函数来处理: 函数里有很重要函数就是 ; 如果平台支持屏幕最大个数自动检
阅读全文
摘要:其实几篇文章都是摘自freebuf安全的文章: 高通(Qualcomm)LK源码深度分析 高通(Qualcomm)LK源码深度分析(二) 高通(Qualcomm)LK源码深度分析(三) 将其整理为比较容易看的章节,方便自己以后修改lk代码;(来自有道笔记) http://note.youdao.co
阅读全文
摘要:快速启动。 在安卓手机中fastboot是一种比recovery更底层的刷机模式。 fastboot是一种线刷,就是使用USB数据线连接手机的一种刷机模式。 recovery是一种卡刷,就是将刷机包放在sd卡上,然后在recovery中刷机的模式。 进入fastboot模式的情况: adb rebo
阅读全文


浙公网安备 33010602011771号