ipxe 执行简述、

本文介绍了BIOS工程师在使用PXE特别是ipxe进行系统安装时遇到的问题,详细解释了ipxe的执行流程,包括初始化、加载驱动(如STARTUP_FNS和INIT_FNS中的函数)、加载image以及网络驱动的管理,特别提到了在startup阶段可能遇到的UEFI兼容性问题。
摘要由CSDN通过智能技术生成

BIOS工程师一枚,工作中常碰到用PXE装系统的情况,有的客户用ipxe装系统,有时会遇到一些问题,所以研究一下ipxe的内容是必须的。

ipxe 的官网: https://ipxe.org/download

code执行的大概流程:

ipxe执行大体可以分为3个部分,初始化:initialise,加载一些驱动:startup,boot到加载的image:ipxe

在ipxe的code中比较喜欢将函数编译到表中,然后遍历表来执行里面的函数,搞懂这些对理解ipxe的code事半功倍

比如:initialise

可以看到它是在执行INIT_FNS里面的函数,

什么样的函数放到INIT_FNS里面呢,其实是用 init_fn 声明的一些函数会被编译到里面,比如:

了解这个小知识点之后就可以轻松理清pixe执行的脉络了,

根据这一点可以知道 startup 执行的是 STARTUP_FNS 里面的代码;

追踪ipxe的脉络,可以看到

1、在 initialise 里面会初始化image的data,或从文件系统里面获取image,或从网络端拉取image;

2、在startup里面会将initalise里面初始化的image的data,注册到系统中;

3、在pxe里面会执行注册到系统中的image;

ipxe的执行大体就是这个流程,详细信息可以追code再慢慢分析。

有一点要特殊关注的是在startup中会disconnect UEFI的一些网络驱动,然后在ipxe的这个环境中重新connect,这时比较容易出一些部件兼容性的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值