Comment faire le système d'exploitation multiple dans un seul serveur Pxeboot.
Je veux démarrer différents systèmes d'exploitation tels que Fedora, CentOS, RHEL dans le client
J'ai pensé qu'il était bon de mentionner toute la configuration que j'ai qui peut contenir des astuces intéressantes.
Il est possible de créer des répertoires distincts dans le dossier racine de 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
Puis changez pxelinux.cfg/default
, pxelinux.cfg/CLIENT_MAC
ou pxelinux.cfg/PORTION_OF_CLIENT_IP
Pour moi, j'ai utilisé Ubuntu Netboot comme modèle. Ainsi, comme vous pouvez le voir, pxelinux.cfg/default
inclut display_ubuntu/menu.cfg
qui, à lui seul, inclut display_ubuntu/text.cfg
qui contient le menu principal du démarrage d'Ubuntu:
Contenu de pxelinux.cfg/default
include display_ubuntu/menu.cfg
default display_ubuntu/vesamenu.c32
Prompt 0
timeout 0
Contenu de 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
Contenu de 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
Notes:
hello.boot
est un noyau minuscule, je l'ai utilisé pour les tests initiaux PXE.memdisk
est utilisé en tant que noyau à charger (sur PXE):
Images de disquette brutes: anax_bios_flash.img
et FDSTD.144
images ISO de CD: slitaz-cooking.iso
et ubuntu_mini.iso
pxechain.com
utilisé pour charger en chaîne un autre serveur PXE.
pxechain.com
est disponible dans le package syslinux-common
à partir de trusty (Merci à @muru) ou archive du projet syslinux sous un nom de fichier différent pxechn.c32
.
Toutes les distributions Linux répertoriées sont chargées par le même pxelinux.0
situé sur le dossier racine tftp. L'exception est avec OpenBSD (qui a le noyau BSD), pxelinux.0
charge openbsd_3.9/pxeboot.0
, le PXE bootstrap à venir avec OpenBSD. Il a sa propre configuration à etc/boot.conf
. (Cette méthode s'appelle le chargement en chaîne)
Contenu de etc/boot.conf
set image openbsd_3.9/bsd
Vous pouvez utiliser include
au lieu de répertorier le menu entier dans un seul fichier, ou vous pouvez utiliser des menus chaînés pour conserver les menus/options avancés originaux de chaque distribution.