web-dev-qa-db-ja.com

Pxeboot Multipleイメージ

単一のPxebootサーバーで複数のOSを実行する方法。

クライアントでFedora、CentOS、RHELなどの異なるOSを起動したい

3
Beginner

私が持っているセットアップ全体に興味深いトリックが含まれている可能性があることに言及すると良いと思いました。

  • Tftpルートフォルダ内に個別のディレクトリを作成することが可能です。

    $ tree -L 2
    .
    ├── anax_bios_flash.img
    ├── clonezilla_20100623
    │   ├── filesystem.squashfs
    │   ├── initrd.img
    │   ├── parameters.txt
    │   └── vmlinuz
    ├── display_ubuntu
    │   ├── adtext.cfg
    │   ├── f10.txt
    │   ├── f1.txt
    │   ├── f2.txt
    │   ├── f3.txt
    │   ├── f4.txt
    │   ├── f5.txt
    │   ├── f6.txt
    │   ├── f7.txt
    │   ├── f8.txt
    │   ├── f9.txt
    │   ├── menu.cfg
    │   ├── po4a.cfg
    │   ├── Prompt.cfg
    │   ├── splash0.png
    │   ├── splash1.png
    │   ├── splash.png
    │   ├── splash.xcf
    │   ├── stdmenu.cfg
    │   ├── text.cfg
    │   └── vesamenu.c32
    ├── etc
    │   └── boot.conf
    ├── FDSTD.144
    ├── hello.boot
    ├── memdisk
    ├── Notes.txt
    ├── openbsd_3.9
    │   ├── bsd
    │   ├── bsd.mp
    │   ├── bsd.rd
    │   └── pxeboot.0
    ├── ploplinux_4.0.0
    │   ├── boot.msg
    │   ├── bzimage
    │   ├── initrfs.gz
    │   ├── memtest
    │   ├── ploplinux
    │   ├── plpbt.bin
    │   ├── plpinstc.com
    │   ├── pluspacks
    │   ├── pxelinux.0
    │   ├── pxelinux.cfg
    │   └── readme.txt
    ├── pmagic_5.5
    │   ├── boot
    │   ├── bzImage
    │   ├── initramfs
    │   └── sample_pxelinux.cfg
    ├── pmagic_6.7
    │   ├── boot
    │   ├── bzImage
    │   └── initramfs
    ├── pxechain.com
    ├── pxelinux.0
    ├── pxelinux.cfg
    │   ├── default
    │   └── default.backup
    ├── slitaz-cooking.iso
    ├── ubuntu_10.04
    │   ├── initrd.gz
    │   └── vmlinuz
    ├── ubuntu_mini.iso
    └── unattended_4.9
        ├── bzImage
        ├── default
        ├── initrd
        ├── menu.c32
        └── pxelinux.0
    
  • 次に、pxelinux.cfg/defaultpxelinux.cfg/CLIENT_MAC、またはpxelinux.cfg/PORTION_OF_CLIENT_IPを変更します

    私にとっては、テンプレートとしてUbuntu Netbootを使用しました。したがって、pxelinux.cfg/defaultにはdisplay_ubuntu/menu.cfgが含まれており、Ubuntuブートのメインメニューを含むdisplay_ubuntu/text.cfgが含まれています。

    pxelinux.cfg/defaultの内容

    include display_ubuntu/menu.cfg
    default display_ubuntu/vesamenu.c32
    Prompt 0
    timeout 0
    

    display_ubuntu/menu.cfgの内容

    menu hshift 7
    menu width 65
    menu margin 5
    
    menu title GNU/Linux Rescue Collection
    
    include display_ubuntu/stdmenu.cfg
    include display_ubuntu/text.cfg
    
    menu begin advanced
        menu title Advanced options
        label mainmenu
            menu label ^Back..
            menu exit
        include display_ubuntu/stdmenu.cfg
        include display_ubuntu/adtext.cfg
    menu end
    
    label help
        menu label ^Help
        config display_ubuntu/Prompt.cfg
    

    display_ubuntu/text.cfgの内容

    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
    

注:

  • hello.bootはごく小さなカーネルです。最初のPXEテストに使用しました。
  • memdiskは(PXE経由で)ロードするカーネルとして使用されます。

    ローフロッピーイメージ:anax_bios_flash.imgおよびFDSTD.144

    CD ISOイメージ:slitaz-cooking.isoおよびubuntu_mini.iso

  • pxechain.comは、他のPXEサーバーのチェーンロードに使用されます。

    pxechain.comは、異なるファイル名syslinux-commonの下で、trusty(@muruに感謝)または syslinuxプロジェクトアーカイブ から始まるpxechn.c32パッケージ内で利用可能です。

  • リストされているすべてのLinuxディストリビューションは、tftpルートフォルダーにある同じpxelinux.0によってロードされます。例外はOpenBSD(BSDカーネルを使用)で、pxelinux.0openbsd_3.9/pxeboot.0をロードし、PXE bootstrapはOpenBSDに付属しています。 etc/boot.confに独自の構成があります。 (この方法はチェーンローディングと呼ばれます)

    etc/boot.confの内容

    set image openbsd_3.9/bsd
    
  • メニュー全体を1つのファイルにリストする代わりにincludeを使用するか、チェーンメニューにして各ディストリビューションの元の高度なメニュー/オプションを保持することができます。

2
user.dz