bootloader阶段 - Qcom

发布时间:2026/9/1 20:54:46

bootloader阶段 - Qcom
bootloader阶段 - Qcom1、高通 (Qualcomm) 平台 UEFI 启动日志1.1 LinuxLoaderEntry方法加载1.2 UpdateCmdLine构建和整理传递给 Linux 内核的命令行参数2、fastboot命令bootable/bootloader/edk2/QcomModulePkg/bootable/bootloader/edk2/BaseTools/BuildEnvbootable/bootloader/edk2/QcomModulePkg/Application/LinuxLoader/LinuxLoader.c1、高通 (Qualcomm) 平台 UEFI 启动日志bootable/bootloader/edk2/QcomModulePkg/Application/LinuxLoader/LinuxLoader.c进入Linux加载器应用程序入口点LinuxLoaderEntry进入了OS Loader(操作系统加载器) 阶段准备加载 Android 内核UEFI Start [ 1030] - 0x05FC01000 [ 1035] Sec.efi //...... UEFI Total : 1454 ms POST Time [ 2484] OS Loader //...... Shutting Down UEFI Boot Services: 3980 ms //...... Exit EBS [ 4292] UEFI End1.1 LinuxLoaderEntry方法加载BootStatsSetInitTimeStamp ()初始化启动时间统计的共享内存区域InitThreadUnsafeStack ()StackGuardChkSetup ()BootStatsSetTimeStamp (BS_BL_START)DeviceInfoInit ()读取持久化的设备状态如果数据无效Magic 不匹配则根据当前的安全策略重置并写入默认值。这里主要有引导加载程序处于锁定状态DevInfo.is_unlocked是否解锁关键分区DevInfo.is_unlock_criticalQcomModulePkg/Library/BootLib/DeviceInfo.cEnumeratePartitions ()UpdatePartitionEntries ()GetKeyPress (KeyPressed)SetDefaultAudioFw ()PrintCpuFrequency ()GetHOMEKeyValue()GetRebootReason (BootReason)读取重启原因会被 BootLoader 用来决定下一步是正常启动 Android还是进入 Fastboot/Recovery 模式RecoveryInit (BootIntoRecovery)BoardInit ()是高通平台 UEFI 代码中负责板级硬件初始化的关键函数。它的核心职责是配置当前开发板特有的硬件参数LoadImageAndAuth (Info, FALSE, SetRotAndBootState)BootLinux (Info)将控制权从 UEFI 固件移交给 Linux 内核1.2 UpdateCmdLine构建和整理传递给 Linux 内核的命令行参数bootable/bootloader/edk2/QcomModulePkg/Library/BootLib/UpdateCmdLine.c 构建和整理传递给 Linux 内核的命令行参数/proc/cmdline其中androidboot前缀参数转化为ro.boot*系统属性2、fastboot命令fastboot界面bootable/bootloader/edk2/QcomModulePkg/Library/BootLib/FastbootMenu.cfastboot命令bootable/bootloader/edk2/QcomModulePkg/Library/FastbootLib/FastbootCmds.c例如高通添加fastboot oem device-info例如AOSPfastboot flashing unlockfastboot flashing lockfastboot flashing unlock_criticalfastboot flashing lock_criticalstructFastbootCmdDesccmd_list[]

相关新闻

嵌入式毕业论文(毕设)最新方向分享

嵌入式毕业论文(毕设)最新方向分享

2026/9/1 20:54:46

👆👆 完整项目获取方式👆👆完整项目获取方式👆👆完整项目获取方式👆👆完整项目获取方式👆👆 【单片机毕业设计项目分享系列】 🔥 这里是DD学长&a…

【CAN通信实战】STM32 HAL库开发:从配置到调试

【CAN通信实战】STM32 HAL库开发:从配置到调试

2026/9/1 20:54:46

实战指南1. 写在前面2. 实验环境3. 硬件连接3.1. TJA1042 引脚连接(板子上已经集成好)4. STM32CubeMX 配置4.1. 使能CAN外设4.2. 配置CAN参数4.3. 中断配置5. 代码实现5.1. CAN初始化5.2. CAN发送函数5.3. CAN接收中断方式5.4. 错误中断5.5. 测试结果6. …

3-ansible user使用加密密码创建用户

3-ansible user使用加密密码创建用户

2026/9/1 20:44:45

1.利用python程序生成sha512加密密码 Command: python -c import crypt,getpass;pw="test";print(crypt.crypt(pw)) [root@cent79-2 ~]# python -c import crypt,getpass;pw="test";print(crypt.crypt(pw)) $6$SU7Mzt1FAW63QD08$LYBib22jotPJMA7IsYEmE…

360春招笔试复盘:算法题型与解题思路全解析(含避坑指南)

360春招笔试复盘:算法题型与解题思路全解析(含避坑指南)

2026/9/1 22:14:53

又到一年春招季,不少同学应该已经在牛客、力扣上刷了一圈题,准备投360的春招。我是去年参加的第二批笔试,当时做完之后整理了不少复盘笔记,一直没来得及发出来。今天就把当时的原题考点、我的解题思路、还有踩过的坑一次性说清楚&…

软件工程的核心:管理复杂性,让系统可控演化

软件工程的核心:管理复杂性,让系统可控演化

2026/9/1 22:14:53

不知道你有没有过这种体验:一个项目刚起步时只有几千行代码,你一个人维护,改起来很顺手。过了半年,代码量突破五万行,团队从1个人变成8个人,这时你发现,真正让你痛苦的不再是某个算法不会写、某…

PJSK跑团Replay视频制作全指南:从骰点记录到语音合成

PJSK跑团Replay视频制作全指南:从骰点记录到语音合成

2026/9/1 22:14:53

在 PJSK(Project Sekai)同人社区里,跑团 Replay 已经是一种非常成熟的二次创作形态。你很可能刷到过类似《才不是喜欢你呢》这样的标题——它看起来像一场跑团直播的录像,又带着完整的剧情剪辑和角色演出,弹幕和评论区…

从零跑通MPX小程序项目:核心机制、跨端实践与排错指南

从零跑通MPX小程序项目:核心机制、跨端实践与排错指南

2026/9/1 22:14:53

如果只给开发者看一场 MPX 宣传片,最容易被记住的通常是跨端、组件化、高性能这些词。但宣传片不会告诉你的是,在真实项目里,脚手架装到一半就报错、写好的页面在微信开发者工具里打不开、一个setData的差异让跨端表现不一致,这些…

Python+Django招聘数据分析可视化系统:从爬虫到ECharts实战

Python+Django招聘数据分析可视化系统:从爬虫到ECharts实战

2026/9/1 22:14:53

简介:这是一套面向计算机专业本科生毕业设计与课程实践的招聘数据分析可视化系统完整实现,基于Python Django框架开发,兼顾数据爬取、清洗、分析与前端可视化全流程,特别适合毕设选题为Web应用或数据分析方向的学生快速搭建可演示…

16卡算力平台从零搭建:硬件选型到DDP实战全攻略

16卡算力平台从零搭建:硬件选型到DDP实战全攻略

2026/9/1 22:04:52

最近后台收到不少开发者的私信,内容出奇一致:5080 显卡价格一路走高,原本预算范围内能组起来的机器,现在要多花不少钱。与此同时,市面上的 16 卡算力平台需求却越来越旺盛,朋友圈里搞 AI 训练、微调、推理服…

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

2026/9/1 1:53:39

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

2026/9/1 9:55:14

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

2026/8/31 17:18:46

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

远程协作的工作台整理

远程协作的工作台整理

2026/9/1 0:03:36

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/1 0:03:36

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/1 0:03:36

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

远程协作的工作台整理

远程协作的工作台整理

2026/9/1 0:03:36

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/1 0:03:36

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/1 0:03:36

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…