Fork me on GitHub
侧边栏

随笔分类 -  Bootup

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