AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 678345
Accepted
Bryon
Bryon
Asked: 2021-11-20 21:51:58 +0800 CST2021-11-20 21:51:58 +0800 CST 2021-11-20 21:51:58 +0800 CST

PXE Boot Kickstart - 如何包含安装树

  • 772

我正在尝试 PXE 引导 Rocky Linux(与 RHEL 8 相同)安装。与 Fedora 不同的是,没有镜像,所以像这样的 url 和 repo 选项不起作用:

url --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-34&arch=x86_64
repo --name=updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f34&arch=x86_64

因此,当 PXE 启动 grub.cfg 时,它没有可以从中提取安装文件的媒体。如果我在安装了 Rocky 安装 ISO 的情况下启动 VM,kickstart 文件可以完美运行 - 所以我知道问题在于引导程序找到 iSO。我希望 kickstart 文件引用具有 ISO 的公共 NFS 共享,而不是配置 VM 以将 ISO 挂载为驱动器... 执行此操作的 kickstart 存储库语法是什么?

这是 grub.cfg 中的条目:

menuentry 'Teichos' {
  linuxefi Rocky8/vmlinuz ip=dhcp inst.ks=nfs:192.168.0.100:/pve/kickstart/rocky-minimal.ks
  initrdefi Rocky8/initrd.img
}

这是我的 kickstart 文件:

#version=RHEL8
# Use graphical install
# graphical
text

repo --name="AppStream" --baseurl=file:///run/install/sources/mount-0000-cdrom/AppStream


%packages
@^minimal-environment
@network-server
kexec-tools

%end

# Keyboard layouts
keyboard --xlayouts='au'
# System language
lang en_AU.UTF-8

# Network information
network  --bootproto=dhcp --device=ens18 --ipv6=auto --activate
network  --hostname=teichos.mydomain.net

# Use CDROM installation media
cdrom

# Run the Setup Agent on first boot
firstboot --enable

# Accept the eula
eula --agreed

ignoredisk --only-use=sda
# Partition clearing information
clearpart --none --initlabel
# Disk partitioning information
part /boot/efi --fstype="efi" --ondisk=sda --size=600 --fsoptions="umask=0077,shortname=winnt"
part /boot --fstype="xfs" --ondisk=sda --size=1024
part pv.111 --fstype="lvmpv" --ondisk=sda --size=31142
volgroup rl --pesize=4096 pv.111
logvol swap --fstype="swap" --size=3276 --name=swap --vgname=rl
logvol / --fstype="xfs" --grow --size=1024 --name=root --vgname=rl

# System timezone
timezone Australia/Melbourne --isUtc

#Root password
rootpw --lock
user --groups=wheel --name=admin --password=$6$t23FE4wlPddt68ys$1GfPaRk42VVC4HYFPe9VQAhMjzgA1IYmkTBkMzSdubdBQuCkZp0PAuyzNmABF0n16kiMd7YCD2TNEgr5o/QAX/ --iscrypted --gecos="admin"

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

安装 CD 位于:

nfs:192.168.0.100:/ISOs/Rocky-8.4-x86_64-dvd1.iso
rhel grub
  • 1 1 个回答
  • 660 Views

1 个回答

  • Voted
  1. Best Answer
    telcoM
    2021-11-21T03:57:23+08:002021-11-21T03:57:23+08:00

    我还没有测试过 Rocky,所以这个答案是基于 RHEL/CentOS,但我希望它本质上是一样的。

    网络启动过程将需要 squashfs 安装程序映像:它应该在安装 CD 上的images/install.img.

    如果您不想挂载 ISO 映像,那么您应该从 ISO 中提取该映像并使其通过 HTTP 可用。可以使用inst.stage2=引导参数指定自定义位置。您可能还需要 ISO 根目录中的隐藏.treeinfo文件。

    在我的设置中,我有这样的网络启动参数:

    ip=dhcp inst.stage2=http://boot.server/rhel8 inst.lang=en_US inst.keymap=us inst.ks=http://boot.server/rhel8/rhel8config.ks
    

    当 RHEL 8 安装程序 initramfs 被赋予该inst.stage=http://boot.server/rhel8选项时,它首先检查是否存在http://boot.server/rhel8/.treeinfo. 所以它基本上希望找到 RHEL 8 ISO 映像的完整内容。如果该.treeinfo文件不存在,它将尝试在http://boot.server/rhel8/images/install.img. 所以它基本上会附加/images/install.img到你指定的任何内容。

    该.treeinfo文件将为该install.img文件指定一个 sha256 哈希,如果它可用,安装程序实际上可能会使用它来进行完整性检查,因此您可能也想提供该.treeinfo文件。

    一旦加载了 stage2 映像,安装程序将拥有足够的功能来完成它要做的所有事情,因此它将能够解析 kickstart 文件、挂载 NFS 共享等。在加载 stage2 之前,它只能访问 HTTP、HTTPS 和FTP 服务器。因此,一旦您确定安装程序可以加载 stage2 映像,您就可以添加引导选项inst.repo=nfs:192.168.0.100:/ISOs/Rocky-8.4-x86_64-dvd1.iso以使其使用您的 ISO 映像。

    • 1

相关问题

  • 为什么 Linux 会杀死我的进程?

  • linux redhat 7 ( 或 centos 7 ) + firewalld 屏蔽防火墙

  • systemctl 命令在 RHEL 6 中不起作用

  • 如何在 RHEL 7 上离线安装 docker?

  • 在 Gnome3 中禁用窗口的自动最大化

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve