Netboot.xyz 教程
Netboot.xyz 是一个基于 iPXE 的网络引导操作系统安装器,它允许用户从网络上启动多种操作系统,包括评估、安装和救援模式。本教程将详细介绍其主要组成部分。
1. 项目目录结构及介绍
在 netboot.xyz
仓库中,主要目录结构如下:
- docs:包含了项目的所有文档材料。
- ipxe:存放 iPXE 引导加载程序相关的文件,如不同的
.bin
和.img
文件,用于不同类型的硬件和环境。 - config:配置文件夹,包含默认的引导菜单配置(
boot.cfg
)和其他相关脚本。 - ansible:Ansible 脚本,用于自动化部署 netboot.xyz 服务。
- distro:各个操作系统的定义和配置,用于构建引导菜单。
2. 项目启动文件介绍
iPXE 启动文件
- netboot.xyz.iso:用于创建 CD/DVD 或虚拟光驱的 ISO 映像。
- netboot.xyz.img:适用于创建 USB 驱动器的映像。
- lkrn,dsk,pdsk 等:不同的 iPXE 内核和磁盘映像,适应于不同的启动方式,如通过 GRUB/EXTLINUX 或虚拟软盘。
UEFI 相关启动文件
- netboot.xyz.efi:UEFI 模式下的 DHCP 引导文件,内置 iPXE 网络驱动。
- -snp 和 -snponly 后缀的文件:支持简单网络协议(SNP),用于更灵活的网络设备启动。
ARM 平台启动文件
- netboot.xyz-arm64.e*fi:适用于 ARM64 设备的 DHCP 引导文件。
- netboot.xyz-rpi4-sdcard.img:专为 Raspberry Pi 4 设计的 USB/SD 卡镜像。
3. 项目配置文件介绍
- boot.cfg:位于
config
目录下,这是主引导菜单配置文件。它定义了用户在启动时看到的操作系统选项列表。你可以自定义此文件以创建自己的引导菜单。
menu title Choose an operating system to boot
timeout 5
item --class os --- Debian GNU/Linux
kernel http://${server}/ipxe/debian-iso
initrd ${server}/ipxe/initrd.gz
item --class os --- CentOS Stream
kernel http://${server}/ipxe/centos-stream-kernel
initrd ${server}/ipxe/initrd.gz
...
- custom_menus: 此目录可以包含自定义的引导菜单模板,允许用户按需构建个性化的引导选择。
自定义配置时,确保正确配置服务器地址 (${server}
) 和其他选项,以便 iPXE 可以从正确的源加载操作系统映像。
以上就是关于 Netboot.xyz 的核心组件及其使用的简要概述。要了解更多信息或进行自定义设置,建议参考 官方文档。