错误:XFS 文件系统作为默认 fs 类型无效

Sag*_*gar 4 kickstart centos automated-install anaconda centos7

最终目标:使用存储在内部网站上的 kickstart 配置文件为 CentOS 创建自动安装盘。

我所做的:创建了一个脚本

  1. 下载 ISO
  2. 打开它
  3. isolinux.cfg使用我自己的菜单选项更新文件
  4. 使用重新创建 ISO genisoimage

所有这些都有效,并且重新创建了 ISO,没有任何错误。但是,当我尝试使用 ISO 来开始安装时,系统总是死在:

"new value non-existent xfs filesystem is not valid as a default fs type"
Pane is dead
Run Code Online (Sandbox Code Playgroud)

这里的这个问题不同,我的错误发生在安装前,而且我已经在使用 lang = en_US.UTF-8。我什至尝试过en_US,但没有任何区别。

我添加到isolinux.cfg文件中的行:

label install
  menu label ^Kickstart Installation
  menu default
  kernel vmlinuz
  append initrd=initrd.img text ramdisk=100000 lang=en_US.UTF-8 keymap=us ipv6.disable=1 ip=dhcp install inst.ks=cdrom:/kickstart.cfg
Run Code Online (Sandbox Code Playgroud)

我在网上搜索错误,很多评论似乎与 init 和内核的版本不匹配或文件损坏有关。我不会替换任何文件,我所做的唯一更改是对配置文件isolinux.cfg. 没有来自不同版本/DVD/图像的文件混合。

有没有人看过/看过以上内容,并且对我接下来应该尝试什么有任何想法?我尝试使用我放入文件中的选项,但它似乎没有什么区别。

其他信息

原始映像:CentOS 7.2 - DVD ISO

系统状态:

Ctrl-Alt-F1: Ctrl-Alt-F1

Ctrl-Alt-F2: Ctrl-Alt-F2

编辑

根据要求,我正在编写的脚本:

#!/bin/bash
#############################################################
function prepare {
    rm -rf ${ISO_EXTRACTION_DIR}
    if [ -d ${ISO_MOUNT_DIR} ]
    then
        umount ${ISO_MOUNT_DIR} 2>&1 || true
        rm -rf ${ISO_MOUNT_DIR}
    fi
    mkdir -p ${ISO_MOUNT_DIR} ${ISO_EXTRACTION_DIR}
}

function extract_iso {
    echo "Extracting ISO"

    cd $(dirname ${ISO_MOUNT_DIR})
    cp -pRf ${ISO_MOUNT_DIR}/* ${ISO_EXTRACTION_DIR}

    echo "Extracted $(ls ${ISO_EXTRACTION_DIR} | wc -l) files and directories from ISO"
}

function update_config {
    echo "Updating configuration"
    cd ${ISO_EXTRACTION_DIR}

    if [ -d "isolinux" ]
    then
        isolinux_cfg_file="${ISO_EXTRACTION_DIR}/isolinux/isolinux.cfg"
    else
        isolinux_cfg_file="${ISO_EXTRACTION_DIR}/isolinux.cfg"
    fi

    sed -i 's/timeout 600/timeout 50/' ${isolinux_cfg_file}  # Shorten timeout
    sed -i '/menu default/d' ${isolinux_cfg_file}            # Delete existing menu default
    echo "label linux" >> ${isolinux_cfg_file}
    echo "  menu default" >> ${isolinux_cfg_file}
    echo "  kernel vmlinuz" >> ${isolinux_cfg_file}
    echo "  append initrd=initrd.img text ramdisk=100000 lang=en_US.UTF-8 keymap=us ipv6.disable=1 ip=dhcp install inst.ks=cdrom:/kickstart.cfg" >> ${isolinux_cfg_file}
}

function repackage_iso {
    echo "Repackaging ISO"

    cd ${ISO_EXTRACTION_DIR}
    volume_id="${LINUX_DISTRO}-${LINUX_VERSION}-bootable"

    if [ -d "isolinux" ]
    then
        boot_cat_file="isolinux/boot.cat"
        isolinux_bin_file="isolinux/isolinux.bin"
    else
        boot_cat_file="boot.cat"
        isolinux_bin_file="isolinux.bin"
    fi

    iso_file_name="$(echo $(basename ${IMAGE_FILENAME}) | cut -d '.' -f 1)-bootable.iso"

    genisoimage \
        -U -r -v -T -J -joliet-long \
        -V 'CentOS 7 x86_64' \
        -volset "${LINUX_DISTRO}-${LINUX_VERSION}" \
        -A "${LINUX_DISTRO}-${LINUX_VERSION}" \
        -b ${isolinux_bin_file} \
        -c ${boot_cat_file} \
        -no-emul-boot \
        -boot-load-size 4 \
        -boot-info-table \
        -eltorito-alt-boot \
        -e images/efiboot.img \
        -no-emul-boot \
        -o "${IMAGE_DIR}/${iso_file_name}" .
}

prepare
check_input
mount_iso
extract_iso
unmount_iso
update_config
repackage_iso
Run Code Online (Sandbox Code Playgroud)

小智 6

我遇到了完全相同的问题,直到我意识到我没有通过从 centos/7/os/x86_64/ 复制 Centos-7.5-version 文件来更新我的 pxe tftpboot 环境以与我的最新 Centos 7.5 媒体一致isolinux/.