web-dev-qa-db-ja.com

エラー:XFSファイルシステムはデフォルトのfsタイプとして無効です

究極の目標:内部Webサイトに保存されているキックスタート構成ファイルを使用して、CentOSの自動インストールディスクを作成します。

私がやったこと:スクリプトを作成しました

  1. iSOをダウンロードします
  2. 開梱する
  3. 独自のメニューオプションでisolinux.cfgファイルを更新します
  4. genisoimageを使用してISOを再作成します

これはすべて機能し、エラーなしでISOが再作成されます。ただし、ISOを使用してインストールを開始しようとすると、システムは常に次の場所で停止します。

"new value non-existent xfs filesystem is not valid as a default fs type"
Pane is dead

この質問はここ とは異なり、私のエラーはインストール前に発生し、すでに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

オンラインでエラーを検索したところ、多くのコメントが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
3
Sagar

Centos/7/os/x86_64 /からCentos-7.5-versionファイルをコピーして、最新のCentos 7.5メディアに同意するようにpxe tftpboot環境を更新していないことに気づくまで、まったく同じ問題が発生していましたisolinux /。

5
user247671

数日前に機能しましたが、ここに投稿するのを忘れていました(ごめんなさい!)。他の誰かを助けるために、私の質問に答えます。

メニューオプション全体を置き換える代わりに、sedを使用して、メニューの一部を必要なものに変更する必要がありました。それはきれいではありませんでしたが、それは私が望んでいたことをしたので、私はそれをそうさせました:

sed -i 's/timeout 600/timeout 50/' ${isolinux_cfg_file}
sed -i '/menu default/d' ${isolinux_cfg_file}
sed -i '/label linux/a\
menu default' ${isolinux_cfg_file}   # this line is badly indented on purpose. Do not change it.
sed -i 's/quiet//' ${isolinux_cfg_file}

その一部は、append行にstage2オプションがなかったためだと思います。

これが機能した理由と新しいメニューオプションを作成した理由を他の誰かがよりよく説明できるように、私はこの回答を「受け入れ」ません。

0
Sagar