一个设想,在统一bios/uefi firmware,及内存中的firmware中为pebuilder.sh建立不死booter

Linux:在使用UEFI固件的计算机上内核是如何被启动的 启动计算机通常不是一件难事:按下电源键,稍等片刻,你就能看到一个登录界面,再输入正确的密码,就可以开启一天的网上冲浪之旅了。但偶尔这件事没那么顺利,有时候迎接你的不是熟悉的登录界面,而是一个令人生畏的命令提示符界面,一闪一闪的提示符告诉你:“你碰到麻烦了”。于是你对着错误提示查找解决方法,按照网页上的步骤,你对着提示符输入并执行了几条你完全不理解的命令,计算机又能正常启动了,但同时你发现你那存有大学舍友糗照的硬盘分区被清空了。 阅读详情

本文关键字:firmware in RAM’ replacements for UEFI firmware,虚拟efi,编译类colinux的linuxboot

在《云主机装黑果实践》上我们反复提到一种在bios上也能运行的uefi,这就是变色龙和四叶草。它在内存中模拟一份虚拟的firmware和efi机器环境,以对接需要efi环境运行的os(如果是bios机,可以模拟一份全新efi,如果是uefi机,可以替换或修改相关uefi项),------这样无论是legacy系统还是新机器是实机还是云环境,都可以制造一层一致的中间层机器固件环境和功能来定义os运行所需环境 .

在一致的中间层firmware中我们能干啥

在这种”中间层固件,软件化的固件“中,除了硬件加载部分,我们可以写入各种payload(即uefi的app,如一份efi shell,如一份linuxboot中的vmlinux和rootfs,实际上,linuxboot即是这种技术,它保留原vendor firmware的硬件加载部分,把uefi app部分替换成linux+linux rootfs,比如headfirmware:一份集有虚拟机管理器的linux或uboot:一份集有userland golang busybox替代的linux)。,------ 然后,在实机上,这样的一份firmware可以被直接刷入bios rom或spi rom,在云主机或虚拟机中,它们可以被刷入分区代替firmware硬件rom区(相当于强化了的booter,with firmware included),为bios机重新定义firmware,---- 实际上,群晖中,由initrd和updater.pat组成的二层rootfs,它的第一层initrd即是一个meta rootfs,适合放在这样的firmware区中。所以黑群的引导,从以上的观点中,可以理解为整个引导所在区组成的firmware(也可以理解为linuxpe),而实际上,这一部分,在白群中,的确是被刷入主板的spi中的。

为pebuilder.sh建立不死booter

而我们最想做的,就是利用上述技术为云主机上pebuilder.sh建立一个不死booter,我们知道,现在都流行一键还原和折腾安装系统,老旧的电脑,一折腾错磁盘就费了,又插usb又插光盘的 到现在为止,这种问题依然没有解决,大家还是靠U盘救电脑,其实新的电脑也一样,如果能做到类mac电脑一键网络恢复的功能,它的原理是将网络支持,网络恢复写进了firmware中就好了,在这里提供系统在线恢复所需的环境(这个环境局限受payload大小限制往往只有几M到十几M。),,如果可以,这一切可以日后可发展到实机上作为linuxpe(不用这个firmware刷机)。因为linux的srs驱动支持很强大。

如果是刷机方式,这种booter是天然刷不死的。除非spi或bios rom坏了。如果是仅放在引导区,只要严格要求镜像市场中的镜像格式审核,也是可以极大程度以免刷死的。

技术原理上,四叶草它们用开源的tiancore和ovmf(qemu)达成。由于变色龙和四叶草实际上就是tiancore模拟内存中的efi加强化了rUEFit引导osx的特化(以引导的形式存在的虚拟firmware,功能面向为引导osx),而linuxboot也面向产出firmware,却跟clover不同的地方在于:(它不面向引导的形式,而面向产出一个能被刷入的rom,linuxboot功能面向于:自动化保留vender中硬件加部分和替换payload的功能),除此之外它们一样。

所以实际上,也可以按照linuxboot的方式在四叶草中里面集成linux和linux rootfs。

由于qemu环境和云主机环境始终是最容易虚拟得到的环境和最方便接确到的实验体,所以。最开始制造for qemu pc3.5,i440fx等的这种不死booter支持最符合现实。

等条件成熟了就动手做一下吧。



(此处不设回复,扫码到微信留言,或直接点击到原文)

【UEFI工具】Firmware Test Suite (fwts) FWTS是一个自动化固件检查的Linux工具。它的目标是检测错误并修复固件。使用手册后续有更深理解,会继续补充。学艺不精,错误请指正;如有侵权,请联系删除。 阅读详情

相关推荐

(学习笔记)stm32f429固件库之SPI读写FLASH

SPI——串行外设总线(Seriel Peripheral Interface),全双工通信,SPI设备间的数据传输又被称为数据交换,所以得先写一个发送接收数据函数

wanglantian1的博客 6002

【UEFI实战】SlimBootloader代码流程分析

【UEFI实战】SlimBootloader代码流程分析。

jiangwei0512的博客 2000

软件破解逆向安全(一)初识内存地址和偏移

工具:CE 内存:数字->存访在电脑中->内存 实例:如何修改植物大战僵尸阳光 内存搜索最核心:过滤数据 先用CE加载植物大战僵尸,如下图 我们可以看到目前我们的阳光数是50,我们尝试在ce里搜索精确数值,4 byte是int整数的表示。 我们发现有很多数据,尝试收集一个阳光变成75再次搜索: 我们发现就一个了,这时我们可以双击Value随便修改阳光的数值了。 这里我们说一下动态和静态地址 动态地址:临时用于存放数据的地址,黑色。特征:重新启动游戏地..

weixin_43781139的博客 2592

【UEFI实战】SlimBootloader集成UEFI Payload

【UEFI实战】SlimBootloader集成UEFI Payload。

jiangwei0512的博客 2001

【TestNG自动化测试框架详解】

TestNG是一款设计测试用例执行流程的测试框架。

weixin_43936332的博客 1539

工业级AI智能体落地:OpenClaw+ONNX Runtime全栈部署,端到端延迟压至12ms

OpenClaw+ONNX的组合为工业AI智能体的落地提供了一套完整、高效、安全的解决方案。它解决了传统云端智能体在工业场景中面临的延迟、安全和稳定性问题,实现了本地数据闭环和毫秒级响应。未来,随着边缘计算和轻量级大模型技术的发展,工业AI智能体将变得更加智能和强大。我们可以预见,在不久的将来,工厂里的每一台设备都将拥有自己的AI智能体,它们能够自主感知、自主决策、自主执行,真正实现工业生产的全自动化和智能化。👉 点击我的头像进入主页,关注专栏第一时间收到更新提醒,有问题评论区交流,看到都会回。

2601_94871597的博客 735

UEFI的一点点概识

最近看了一篇Blog讲的是关于PC安全的,其中很多的地方还是有一定相似之处。其中这个UEFI引起了我兴趣,以前安装系统的时候听说过这个名词。这里于是便来认识一下什么是UEFI。大多数人接触UEFI都是在PC的应用场景上,有在PC上安装过多操作系统的经历的同学,通常会进入UEFI界面设置操作系统引导顺序、CPU虚拟化等设置。UEFI诞生之初也确实是作为BIOS的替代者,主要应用在PC电脑上。随着手机/平板等移动设备的发展,高通从MSM8998开始使用UEFI替代LK(Little Kernel)作为手机的Bo

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 5691

YOLO11多个点组合创新:GC10-DET缺陷检测 | DCNv4结合SPPF+11Detect创新性结合

DCNv4结合SPPF+11Detect创新性结合,原始mAP50为0.633 提升至0.651

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1290

【coreboot】作为Payload的UEFI

【coreboot】作为Payload的UEFI。

jiangwei0512的博客 5874

【HALCON工业视觉应用探索】10. C#+Halcon 3D视觉实战:点云处理与三维测量工业指南(附完整代码与实操案例)

摘要:本文聚焦C#+Halcon在3D视觉领域的工业应用,从新手友好的“基础3D检测系统”切入,逐步深入“汽车铸件三维测量”等工业级场景。内容涵盖核心概念(点云数据结构、3D采集原理、坐标系统)、完整技术流程(数据采集→预处理→特征提取→三维测量→结果可视化)、工业级代码实现(多视角点云融合、微缺陷检测、高精度尺寸测量),以及现场落地关键技巧(硬件选型、标定流程、抗干扰优化)。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2004

C#与天文观测:Celestia模拟星空的奇幻之旅

Celestia就像一艘穿梭在星海中的小飞船,带领我们遨游宇宙。C#则是这艘飞船的智能导航系统,用代码指挥它飞向任何我们向往的星球或星系。首先,下载并安装Celestia,熟悉其基本操作和功能。创建一个星空目标列表,包括不同的恒星、行星和星系。// 示例:定义观察目标列表new SpaceObject("太阳"),new SpaceObject("月球"),new SpaceObject("火星")

java专栏 1456

UEFI启动流程浅析

简述BIOS启动流程及各阶段的基本工作

weixin_45895868的博客 2805

Altium Designer (AD) 设计软件高频面试题及参考答案(3万字长文)

在Altium Designer(AD)中,设计复用是一种关键的策略,它允许设计师在多个项目中重复使用经过验证的设计元素,如原理图符号、PCB布局、元器件封装和设计规则集。在Altium Designer (AD) 中,手动布线和交互式布线是PCB设计中常见的两种布线模式,它们提供了设计师对布线路径的直接控制,特别是在处理复杂或关键信号路径时尤为有用。在Altium Designer (AD) 中进行电路级仿真是一项重要的设计验证步骤,它允许设计师在实际制造之前对电路的行为进行预测和分析。

大模型大数据攻城狮的专栏 4782

建立efi分区_一个设想,在统一bios/uefi firmware中为pebuilder.sh建立不死booter

本文关键字:firmware in RAM' replacements for UEFI firmware,虚拟efi,编译类colinux的linuxboot在《云主机装黑果实践》上我们反复提到一种在bios上也能运行的uefi,这就是变色龙和四叶草。它在内存中模拟一份虚拟的firmware和efi机器环境,以对接需要efi环境运行的os(如果是bios机,可以模拟一份全新efi,如果是uefi...

weixin_30810127的博客 178

2024华为OD机试真题-矩阵匹配-C++-OD统一考试(C卷D卷)

​从一个 N * M(N ≤ M)的矩阵中选出 N 个数,任意两个数字不能在同一行或同一列,求选出来的 N 个数中第 K 大的数字的最小值是多少。输入描述输入矩阵要求:1 ≤ K ≤ N ≤ M ≤ 150

goldarmour的博客 279

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

超出网络bios会话限制_一个设想,在统一bios/uefi firmware中为pebuilder.sh建立不死booter...

本文关键字:firmware in RAM' replacements for UEFI firmware,虚拟efi,编译类colinux的linuxboot在《云主机装黑果实践》上我们反复提到一种在bios上也能运行的uefi,这就是变色龙和四叶草。它在内存中模拟一份虚拟的firmware和efi机器环境,以对接需要efi环境运行的os(如果是bios机,可以模拟一份全新efi,如果是uefi...

weixin_39789646的博客 203

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

UEFI ——Firmware层级结构

Firmware 的层级结构

学习记录 3099

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

《UEFI内核导读》UEFI Firmware Storage简介

UEFI提供了基本的服务来访问Fireware File,在PEI阶段用EFI_PEI_SERVICES->(FfsFindNextFile, FfsFindFileByName、FfsGetFileInfo),在DXE阶段用EFI_FIRMWARE_VOLUME2_PROTOCOL->(ReadFile, ReadSection、WriteFile、GetNextFile), 或EFI_BOOT_SERVICES->LoadImage()。

业余电子爱好者的日常 3102

【亲测免费】 UEFI Firmware 解析器 — 动态探索固件世界的利器

UEFI Firmware Parser 是一个强大的开源工具,用于解析和重构UEFI(统一可扩展固件接口)固件卷。它不仅能处理BIOS、OptionROM、Intel ME等多种格式,还提供了易于使用的脚本和示例教程,帮助用户深入了解固件的内部结构。 ## 技术分析 这个模块以Python编写,通过PyPi分发,并在Travis CI上进行持续集成测试。其核心功能包括: 1. **自动识别...

gitblog_00079的博客 1067

Raspberry Pi 4 UEFI Firmware 项目使用教程

``` RPi4/ ├── firmware/ │ ├── RPI_EFI.fd │ ├── ... ├── edk2/ │ ├── ... ├── edk2-non-osi/ │ ├── ... ├── edk2-platforms/ │ ├── ... ├── github/workflows/ │ ├── ... ├── LICENSE.txt ├── README....

gitblog_00577的博客 907

LVFS项目公告和介绍

LVFS项目公告和介绍 Linux基金会欢迎LVFS(Linux Vendor Firmware Service,Linux供应商固件服务)加入作为一个新项目。LVFS是一个安全的网站,允许硬件供应商上传固件更新。它被所有主要Linux发行版用于为客户端提供元数据,例如fwupdmgr、GNOME Software和KDE Discover。 为了更了解该项目的历史和目标,我们与LVFS的...

weixin_44100234的博客 2760

linux固件升级接口使用总结

Linux内核开发过程中,开发人员调试外设驱动设备,比如触控,充电,线性马达,存储,WIFI设备等,均存在需要更新固件的情况。在Linux系统中,设备驱动程序处于内核态,而固件文件处于用户态,因此需要一个安全稳定可靠的机制,用来确保设备驱动程序成功加载固件文件。为了解决设备驱动程序从内核态稳定加载用户态固件文件的问题,Linux系统提供了固件子系统。

zhuishuwawa的博客 2014

服务器软件firmware的作用(BIOS、BMC、PSOC、CPLD)

BIOS BMC

u012253351的博客 2634

嵌入式系统布局 -- firmware for single spi chip

mark

cgbsky的专栏 585

固件#02--SPI原理和代码

SPI接口原理和模拟代码。

tclxspy的博客 2772

固件:BIOS和UEFI

固件:开机时运行,进行硬件初始化、引导操作系统、为操作系统和程序提供运行环境的程序 主要分为传统的BIOS和新式UEFI两类。 BIOS BIOS :(Basic Input Output System),基本输入输出系统。它是一组固化到计算机内主板上一个ROM芯片上的程序,保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能...

brave_stone的博客 1万+
上一篇: Dsm as deepin mate(2):在阿里云上真正实现单盘安装运行skynas
下一篇: 一键pebuilder,实现云主机在线装dsm61715284
Minlearn
博客等级 码龄18年 20粉丝 146原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值