跳转至

网络启动 Fedora

Fedora logo

你可以使用 iPXE 通过 HTTP 启动进入 Fedora Linux 安装程序。然后你可以把 Fedora 安装到本地硬盘或 iSCSI 或 FCoE SAN 目标。

这些说明对类似的 Linux 发行版也应该有效,例如 Red Hat Enterprise Linux (RHEL)CentOS

启动脚本

创建一个 iPXE 脚本文件 fedora.ipxe,内容如下:

  #!ipxe

  # Set source URI
  set mirror http://download.fedoraproject.org/pub/fedora/linux/releases/41

  # Detect CPU architecture and calculate repository URI
  cpuid --ext 29 && set arch x86_64 || set arch i386
  set repo ${mirror}/Everything/${arch}/os

  # Start installer
  kernel ${repo}/images/pxeboot/vmlinuz initrd=initrd.img inst.repo=${repo}
  initrd ${repo}/images/pxeboot/initrd.img
  boot

如果你已经在本地镜像了 Fedora 目录树,那么你应该把这一行

  set mirror http://download.fedoraproject.org/pub/fedora/linux/releases/41

改为指向你的本地镜像的 URI。从本地镜像启动和安装会比使用公开的 download.fedoraproject.org 镜像快好几倍。

安装到本地磁盘

使用 iPXE 从你的 fedora.ipxe 脚本的 URI 启动,例如 http://my.web.server/fedora.ipxe。你应该会看到 iPXE 通过 HTTP 下载并启动进入 Fedora 安装程序:

Booting from fedora.ipxe script

Fedora installation screen

你现在可以把 Fedora 安装到本地硬盘。恭喜你成功网络启动 Fedora 安装程序!

Success

安装到 SAN 目标

你可以把 Fedora 安装到 iSCSI 或 FCoE SAN 目标,而不是本地磁盘。为此,你必须修改 fedora.ipxe 脚本,以允许安装到你的 SAN 目标磁盘。例如:

  #!ipxe

  # Set source URI
  set mirror http://download.fedoraproject.org/pub/fedora/linux/releases/41

  # Set SAN target URI
  set target iscsi:192.168.0.1::::iqn.1992-01.com.example.target:fedora

  # Detect CPU architecture and calculate repository URI
  cpuid --ext 29 && set arch x86_64 || set arch i386
  set repo ${mirror}/Everything/${arch}/os

  # Hook SAN target
  sanhook ${target}

  # Start installer if F12 is pressed, otherwise boot
  prompt --key 0x197e --timeout 2000 Press F12 to install Fedora... || sanboot
  kernel ${repo}/images/pxeboot/vmlinuz initrd=initrd.img inst.repo=${repo}
  initrd ${repo}/images/pxeboot/initrd.img
  boot

你必须修改这一行

  set target iscsi:192.168.0.1::::iqn.1992-01.com.example.target:fedora

以指定你的 iSCSI 或 FCoE 目标的 SAN URI

自动化安装

你可以使用 kickstart 文件和 inst.ks=… 内核命令行参数来自动化 iPXE 启动 Fedora 安装程序后执行的操作。例如,如果你已经把 ks.cfg 文件放在你的仓库目录中:

  # Start automated installer if F12 is pressed
  prompt --key 0x197e --timeout 2000 Press F12 to install Fedora... || exit
  kernel ${repo}/images/pxeboot/vmlinuz initrd=initrd.img inst.repo=${repo} inst.ks=${repo}/ks.cfg
  initrd ${repo}/images/pxeboot/initrd.img
  boot