単一のPxebootサーバーで複数のOSを実行する方法。
クライアントでFedora、CentOS、RHELなどの異なるOSを起動したい
私が持っているセットアップ全体に興味深いトリックが含まれている可能性があることに言及すると良いと思いました。
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/default
、pxelinux.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.0
はopenbsd_3.9/pxeboot.0
をロードし、PXE bootstrapはOpenBSDに付属しています。 etc/boot.conf
に独自の構成があります。 (この方法はチェーンローディングと呼ばれます)
etc/boot.conf
の内容
set image openbsd_3.9/bsd
メニュー全体を1つのファイルにリストする代わりにinclude
を使用するか、チェーンメニューにして各ディストリビューションの元の高度なメニュー/オプションを保持することができます。