CentOS 6 tftp 服务器默认启动菜单

CentOS 6 tftp 服务器默认启动菜单

编辑:我搞明白了。我只需要正确设置文件的权限,这会导致问题(不知道我怎么会错过这一点)。感谢大家的建议。

我正在尝试在 CentOS 6 上安装 TFTP 服务器。我的想法是,我安装它的机器是一台服务器,它允许客户端通过网络启动以启动我的 tftp 配置中列出的启动选项。

我试图为用户提供 4 个不同的选项,本地启动、centos 安装程序/救援和内存测试。我遇到的问题是,我可以成功启动客户端以通过网络启动并连接到启动器,但它会抛出一个错误,提示未找到默认选项(这是由于未设置默认值)。

我并不想让菜单默认为某个选项,我只是希望它超时 30 秒,以便用户可以选择一个选项(他们可以按 F1 查看选项列表)。除非他们选择另一个标签,否则它会在 30 秒后启动到本地硬盘。

我的/tftpd目录有一个/images, pxelinux.0, pxelinux.cfg (within this is the default, helpfile, boot.message)

我的默认文件:

default #dont know what to put here
display  boot.message
F1  helpfile
prompt 0
timeout 300
ontimeout local


MENU TITLE Main Menu

LABEL local
    MENU LABEL Boot LOcal
    LOCALBOOT 0

LABEL centinstaller
   MENU LABEL Installer
   APPEND images/initrd.img linux

LABEL centrescue
   MENU LABEL Rescue
   APPEND images/initrd.img linux rescue

LABEL memtest
   MENU LABEL testmem
   KERNEL images/memtest86+-4.10

基本上,用户输入标签来启动该选项(无论是内存测试还是本地硬盘启动)。但这种配置实际上并不允许我按 F1 来显示帮助文件,它也不会执行任何操作……一旦客户端启动,它实际上就会冻结,并显示一条消息“未设置默认值”。我实际上应该将其设置为多少才能实现我想要的效果?

我配置了其他所有内容(dhcp.d、/etc/xinetd.d/tftp)

答案1

您正在寻找MENU DEFAULT设置,并且需要menu.c32实际显示菜单。这是我在工作中设置的 PXE 配置(删除了无关的细节,它实际上是从 Django 模板自动生成的,并且稍微复杂一些):

PROMPT 0
DEFAULT menu.c32
MENU TITLE Booking.com PXE environment
MENU AUTOBOOT Booting local in # seconds
TIMEOUT 100

LABEL local
    MENU DEFAULT
    MENU LABEL local
    LOCALBOOT 0x80

LABEL co6-x86_64
    MENU LABEL co6-x86_64
    kernel ...
    append ...

LABEL DiskWipe
    MENU LABEL Disk Wipe/Erase
    KERNEL /menu.c32
    APPEND /dban/isolinux.cfg

相关内容