# mypxe **Repository Path**: ryjer/mypxe ## Basic Information - **Project Name**: mypxe - **Description**: 用于 ipxe 启动的个性化链式引导脚本,支持windows、ESXi和常见Linux发行版(CentOS、Ubuntu、Debian)的安装和启动,并可以针对每个客户机进行个性化配置 - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2022-09-29 - **Last Updated**: 2024-06-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mypxe 本仓库中是用于ipxe网络启动的ipxe脚本,并假定pxe启动后引用的第一个脚本是 `boot.ipxe` # 启动过程 ## 1. 配置全局变量 boot.ipxe 会首先执行全局变量脚本`boot.ipxe.cfg`来配置全局变量。 可以在全局配置中设定 ipxe 引导启动所用的网络传输协议、域名和文件路径。这里默认是传统的pxe所用的tftp协议方式。 全局配置默认采用统一的系统安装路径,但这里也可以使用下面的个性化配置脚本来针对不同的客户机采用不同的安装文件网络路径。 配置文件同时还指定了客户机**个性化配置目录**、**驱动程序目录**和**主启动菜单目录**,但这里不建议动这几个配置 全局配置中的 `base-iscsi` 变量采用[RFC 4173](https://www.rfc-editor.org/rfc/rfc4173)格式的 SAN URL,你可以从ipxe官网上查到快速介绍 [sanuri](https://ipxe.org/sanuri),该格式各部分大致如下 ```bash iscsi::::: ``` 不过这里还是建议在个性化配置中设置 `iscsi` 的相关变量 全局配置中的 `initiator-iqn` 是客户机发起端的iqn名称,只要确保每台客户机唯一就行 ## 2. 配置个性化变量 本脚本支持针对特定无盘客户机设定个性化的参数,可以通过客户机的域名、uuid或mac地址的方式指定个性化配置脚本,个性化脚本内容脚本内容存放在 `/client` 路径下。 - 如果使用域名,则配置文件名格式应为 `hostname-客户机域名.ipxe` - 如果使用uuid,则配置文件名格式应为`uuid-客户机uuid.ipxe` - 如果使用mac地址,则配置文件名格式应为 `mac-客户机MAC地址.ipxe`,注意这里的mac地址没有`:`分隔符 ## 3. 加载网卡驱动 有时客户机的网卡驱动可能不能很好地进行网络启动时,可能需要加载网卡驱动,但通常不需要这样做。默认网卡驱动放置于 `/driver` 目录中 ## 4. 加载引导启动菜单 当全局配置和个性化配置完成后,下面就可以启动主引导菜单 `/menu.ipxe` 了。这里的某些功能还需要一些特殊的文件 - windows无盘系统安装: `wimboot` - 使用主机内存模拟磁盘,从而加载 iso 镜像进行安装: `memdisk` - ubuntu 网络安装优化脚本: `pressed.cfg` 这里还有一些测试内容,请谨慎使用