温馨提示×

如何通过Cobbler定制CentOS启动菜单

小樊
34
2025-11-08 00:20:57
栏目: 智能运维

通过Cobbler定制CentOS启动菜单的步骤

1. 准备Cobbler基础环境

在定制启动菜单前,需确保Cobbler及依赖服务(HTTP、TFTP、DHCP)已正确安装并运行。核心命令包括:

# 安装Cobbler及依赖
sudo yum install -y cobbler cobbler-web tftp-server dhcp httpd xinetd pykickstart

# 启动服务并设置开机自启
sudo systemctl enable --now cobblerd httpd tftp

通过cobbler check命令验证环境配置,根据提示修复缺失项(如同步默认引导加载器)。

2. 修改PXE启动菜单模板

Cobbler的PXE启动菜单由/etc/cobbler/pxe/pxedefault.template文件定义,需调整以下参数实现定制:

  • 菜单名称:通过MENU TITLE修改(如改为“CentOS Automated Install Menu”);
  • 超时设置TIMEOUT(单位:秒,如TIMEOUT 100表示10秒后自动选择默认项);
  • 默认启动项ONTIMEOUT(设置为某个profile名称,如ONTIMEOUT centos7.6-x86_64,超时后自动启动该配置);
  • 本地启动项LABEL local部分(MENU DEFAULT表示默认选中,“LOCALBOOT -1”表示本地硬盘启动)。

示例修改后的模板内容:

DEFAULT menu
PROMPT 0
MENU TITLE CentOS Automated Install Menu  # 自定义菜单名称
TIMEOUT 100                              # 超时时间(秒)
TOTALTIMEOUT 6000
ONTIMEOUT centos7.6-x86_64               # 超时后默认启动的profile

LABEL local
    MENU LABEL (local)                    # 本地启动项显示名称
    MENU DEFAULT                          # 设为默认选中
    LOCALBOOT -1                          # 本地硬盘启动

$pxe_menu_items                           # 动态插入的profile菜单项
MENU end

3. 创建/修改CentOS Profile

Profile是Cobbler中关联操作系统镜像与Kickstart文件的配置单元,需确保其包含正确的启动参数:

  • 创建Profile(若未存在):
    sudo cobbler profile add \
      --name centos7.6-x86_64 \            # Profile名称(需与ONTIMEOUT一致)
      --distro centos7.6-x86_64 \          # 导入的CentOS镜像名称(通过`cobbler import`生成)
      --kickstart /var/lib/cobbler/kickstarts/centos7.ks  # Kickstart文件路径
    
  • 修改现有Profile
    若需调整内核参数(如修改网卡名称),可使用cobbler profile edit命令:
    sudo cobbler profile edit \
      --name centos7.6-x86_64 \
      --kopts='net.ifnames=0 biosdevname=0'  # 添加内核参数
    

4. 关联Kickstart文件

Kickstart文件用于自动化安装流程,需确保其路径正确且在Profile中引用。示例/var/lib/cobbler/kickstarts/centos7.ks内容:

install
url --url=$tree
text
lang en_US.UTF-8
keyboard us
zerombr
bootloader --location=mbr --driveorder=sda
part /boot --fstype=xfs --size=1024
part swap --size=1024
part / --fstype=xfs --size=1 --grow
rootpw --iscrypted $default_password_crypted
authconfig --enableshadow --passalgo=sha512
selinux --disabled
firewall --disabled
reboot

5. 同步Cobbler配置

所有修改完成后,需通过cobbler sync命令将配置同步到TFTP服务器(生成菜单文件)和DHCP服务器(更新引导配置):

sudo cobbler sync

6. 验证启动菜单

  • 将客户端设置为PXE启动,重启后应显示定制的CentOS启动菜单;
  • 确认菜单名称、超时时间及默认选项是否符合预期;
  • 测试自动安装流程(超时后应自动启动指定的Profile)。

通过以上步骤,可实现Cobbler对CentOS启动菜单的完全定制,满足企业级批量部署的需求。

0