web-dev-qa-db-ja.com

PXEサーバーで複数のLinuxディストリビューションをホストし、これらの選択肢をPXEクライアントに表示します

PXEサーバー-CentOS6.564ビット
目的-クライアントには、ネットワークブートメニューにOSの選択肢が表示されます-Oracle Linux 6.5、RHEL 7、Ubuntu14。選択すると、選択したOSのインストールが続行されます。

3
Gh0sT

TFTPを介してネットワーク経由でgrubを起動できます。 grubは、次に起動するための選択肢のメニューを通常の方法で表示できます。それらの選択肢は、さまざまなOSインストーラーです。 grubは、選択したOSインストーラーをTFTP経由でもロードできます。

Debian(およびUbuntu)インストーラーは、単一の自己完結型Linuxカーネル+ initramfs(initrd)の組み合わせとして起動できることを私は知っています。これは、grubによって簡単な方法で起動でき(menuentrylinuxおよびinitrdディレクティブ)、インストーラーを手配する必要がないため、最も簡単です。他のものにアクセスできます。おそらく、それらの他のディストリビューションのインストーラーは似ています。

EFIを使用してTFTP経由で起動するようにgrubを設定する際の注意事項 ここ があります。検索することで、より多くのドキュメントを簡単に見つけることができます。基本的には、DHCPサーバーを構成し、TFTPサーバーに適切なファイルを配置することになります。 DHCPサーバー構成ファイルとTFTPサーバーのルートディレクトリの場所は、OSごとに異なります。

  • DHCPサーバーは、DHCPオプションとしてブートファイル名をクライアントに提供する必要があります。これは、すべてのネットブートの標準です。ブートファイル名は、grubを含むTFTPサーバー上にあるファイル名を指します。

  • Grubイメージの場合、バンドルされたスタンドアロンイメージ(前に参照したページでイメージを作成するための手順)、bootx64.efi、またはgrubコアcore.efiのいずれかを使用できます。後者の場合、grubは、実行後にTFTPサーバーとは別に追加のモジュールとその構成ファイルをロードする必要があります。

  • grub.cfgは、カーネルとinitrdへのパス名を(tftp)/path/to/the/objectとして指定する通常のgrub構成ファイルである必要があります。もちろん、TFTPサーバー上で異なるOSインストーラーのカーネルとinitrdに異なる名前を付けます。

5
Celada

pxelinux.0は、syslinuxプロジェクトのLinux用の汎用PXEブートローダーです。使用しているすべてのLinuxディストリビューションに単一のpxelinux.0を使用できます。あなたがする必要がある唯一のことはあなたの設定に応じてPXE設定pxelinux.cfg/defaultpxelinux.cfg/CLIENT_MACまたはpxelinux.cfg/PORTION_OF_CLIENT_IPを更新することです。

あなたはできる:

  • チェーンメニュー、pmagic_advancedエントリを参照
  • チェーンPXEローダー。openbsdエントリを参照してください(AFAIK、Linux PXEブートローダーはBSDカーネルを起動できません)
  • tFTPサーバーをチェーンします。pxeserver2エントリを参照してください
  • 最初のHDDブートにドロップします。同じプロジェクトに属し、ブート構成に同じ構文を使用するsyslinuxメニュー(ライブUSB)またはisolinuxメニュー(ライブCD)からコピーできます。

私のpxelinux.cfg/defaultの例:

DEFAULT partedmagic_6.7

LABEL test_kernel
    MENU LABEL ^Test Kernel
    KERNEL hello.boot

LABEL partedmagic_6.7
    LINUX pmagic_6.7/bzImage
    INITRD pmagic_6.7/initramfs
    APPEND edd=off load_ramdisk=1 Prompt_ramdisk=0 rw vga=normal loglevel=9 max_loop=256

LABEL partedmagic_5.5
    MENU LABEL PartedMagic 5.5
    LINUX pmagic_5.5/bzImage
    APPEND initrd=pmagic_5.5/initramfs edd=off noapic load_ramdisk=1 Prompt_ramdisk=0 rw vga=791 loglevel=0 max_loop=256

menu begin pmagic_advanced
        menu title PartedMagic 5.5 Advanced
        label mainmenu
                menu label ^Back..
                menu exit
        include /pmagic_5.5/boot/syslinux.cfg
menu end

LABEL clonezilla_20100623
    MENU LABEL ^CloneZilla 2010.06.23
    KERNEL clonezilla_20100623/vmlinuz
    APPEND initrd=clonezilla_20100623/initrd.img boot=live union=aufs noswap noprompt vga=788 ocs_live_keymap=NONE ocs_lang=en_US.UTF-8 fetch=tftp://192.168.10.123/clonezilla_20100623/filesystem.squashfs

LABEL unattended_4.9
    MENU LABEL Unattended 4.9 for ^XP
    KERNEL unattended_4.9/bzImage
    APPEND initrd=unattended_4.9/initrd z_path=\\192.168.10.123\install_4.9

LABEL slitaz
    MENU LABEL ^Slitaz.iso
    TEXT HELP
Testing boot from iso.
    ENDTEXT 
    KERNEL memdisk
    APPEND initrd=slitaz-cooking.iso

LABEL mini_ubutnu
    MENU LABEL Mini-Ubuntu
    KERNEL memdisk
    APPEND initrd=ubuntu_mini.iso

LABEL freedos_std
    MENU LABEL ^FreeDOS STD
    TEXT HELP
Testing boot from Floppy IMG.
    ENDTEXT 
    KERNEL memdisk
    APPEND initrd=FDSTD.144

LABEL anax_bios_flash
    MENU LABEL Anax Bios Flash
    KERNEL memdisk
    APPEND initrd=anax_bios_flash.img

LABEL openbsd
    MENU LABEL ^OpenBSD 3.9
    KERNEL openbsd_3.9/pxeboot.0

LABEL plop_4.0.0
    MENU LABEL PlopLinux 4.0.0
    KERNEL ploplinux_4.0.0/bzimage
    APPEND initrd=ploplinux_4.0.0/initrfs.gz vga=1 nfsmount=192.168.10.123:/media/gnu_files/_servers/tftp/ploplinux_4.0.0/ploplinux

LABEL ubuntu_10.04_install
        menu label ^Ubuntu 10.04 net install
        kernel ubuntu_10.04/vmlinuz
        append vga=normal initrd=ubuntu_10.04/initrd.gz -- quiet

LABEL ubuntu_10.04_cli
        menu label Ubuntu 10.04 ^command-line net install
        kernel ubuntu_10.04/vmlinuz
        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu_10.04/initrd.gz -- quiet

LABEL pxeserver2
        menu label Switch to 2nd PXE server...
        kernel pxechain.com
        append 192.168.10.254::pxelinux.0

参照:AskUbuntu:Pxeboot複数イメージ

1
user.dz