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

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

PXEサーバー - CentOS 6.5 64ビット
ターゲット - クライアントは、ネットワーク起動メニューでOSの選択を確認する必要があります(Oracle Linux 6.5、RHEL 7、Ubuntu 14)。選択したら、選択したオペレーティングシステムのインストールを続行する必要があります。

答え1

TFTPを介してネットワーク経由でGrubを起動できます。その後、grubは通常の方法で次に起動するオプションメニューを表示できます。これらの選択肢は、さまざまなオペレーティングシステムのインストーラです。 grubはTFTPを介して選択されたオペレーティングシステムのインストーラをロードすることもできます。

私は、Debian(およびUbuntu)インストーラが単一のスタンドアロンLinuxカーネルとinitramfs(initrd)の組み合わせで起動できることを知っています。 grubが簡単な方法(およびコマンドをmenuentry使用)で起動し、他のエントリにアクセスするためにインストーラをソートする必要がないため、これは最も簡単です。他のディストリビューションのインストール手順も同様です。linuxinitrd

注意することがありますここEFIを使用してTFTPを介して起動するようにgrubを設定します。追加文書は検索すれば簡単に見つけることができます。デフォルトでは、DHCP サーバーを構成し、TFTP サーバーに正しいファイルを置くことが重要です。 DHCP サーバー構成ファイルと TFTP サーバーのルートディレクトリの場所は、オペレーティングシステムによって異なります。

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

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

  • grub.cfgカーネルとinitrdのパス名を指定する一般的なgrub構成ファイルでなければなりません(tftp)/path/to/the/object。もちろん、さまざまなオペレーティングシステムのインストーラにTFTPサーバー上のカーネルとinitrdに異なる名前を付ける必要があります。

答え2

pxelinux.0syslinuxプロジェクトのLinux用の汎用PXEブートローダです。pxelinux.0所有するすべてのLinuxディストリビューションでSingleを使用できます。あなたがしなければならない唯一のことは、PXE設定を更新するか、pxelinux.cfg/default設定に従って更新することですpxelinux.cfg/CLIENT_MACpxelinux.cfg/PORTION_OF_CLIENT_IP

あなたはできます:

  • チェーンメニュー、pmagic_advanced項目参照
  • チェーンPXEローダ、openbsdエントリ参照(わかっている限り、Linux PXEブートローダはBSDカーネルを起動できません)
  • チェーンTFTPサーバー、pxeserver2アイテム参照
  • 起動する最初のハードドライブに挿入し、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マルチイメージ

関連情報