Разместите несколько дистрибутивов Linux на Сервере PXE и покажите этот выбор клиенту PXE

Можно использовать Zeroconf. Это широковещательно передает имя хоста и делает это доступным для других хостов в локальной сети. Тем путем можно получить доступ использованию хостов hostA.local, hostB.local, и т.д.

В системах оснований Debian Вам нужен пакет libnss-mdns для рекламы имени хоста и avahi-daemon для определения имен.

3
01.02.2015, 10:48
2 ответа

Вы можете загрузить GRUB через сеть через TFTP. Затем Grub может представить меню вариантов для следующей вещью, чтобы загрузиться в том, как обычно это обычно. Эти варианты могут быть различными установщицами ОС. Grub может загрузить выбранный установщик ОС также через TFTP.

Я знаю, что установщик Debian (и Ubuntu) можно загрузить в виде единого автономной комбинации Kernel + initramfs (initrd). Это самое простое, потому что это может быть загружено grub в прямом моде (A менюнтрию с Linux и директивах initrd ), и вам не нужно договориться о Установщик, чтобы получить доступ к чему-либо еще. Вероятно, эти другие установщики распределения похожи.

Здесь есть несколько заметок при настройке GRUB, чтобы загрузить на TFTP с EFI. Больше документации можно легко найти, поиск. В основном это сводится к настройке DHCP-сервера и поместив правильные файлы на сервере TFTP. Расположение файла конфигурации сервера DHCP и корневой каталог TFTP Server будет варьироваться от одной ОС к другому.

  • Сервер DHCP должен предоставить имя файла загрузки клиенту как опцию DHCP. Это стандартное для любого чистого загрузки. Имя файла багажника указывает на имя файла, расположенного на сервере TFTP, который содержит GRUB.

  • Для изображения GRUB вы можете использовать либо в комплектном автономном изображении (инструкции для создания одного на ранее ссылачке страницы), bootx64.efi или просто сердечник Core.efi . В последнем случае GRUB необходимо загрузить дополнительные модули, а также его файл конфигурации отдельно от сервера TFTP, как только он работает.

  • GRUB.CFG должен быть обычным файлом конфигурации GRUB, в котором вы указываете пути к ядру и initrd в виде (TFTP) / PATH / TO / TE / OBJECT . Конечно, вы дадите ядра и initrds разных установщиков ОС разных имен на TFTP-сервере.

5
27.01.2020, 21:14

pxelinux.0 - это универсальный загрузчик PXE для Linux из проекта syslinux. Вы можете использовать один pxelinux.0 для всех дистрибутивов Linux, которые у вас есть. Единственное, что вам нужно сделать, это обновить PXE конфиг pxelinux.cfg/default, pxelinux.cfg/CLIENT_MAC или pxelinux.cfg/PORTION_OF_CLIENT_IP в зависимости от ваших настроек.

Вы можете:

  • chain menus, см. запись pmagic_advanced
  • chain PXE loaders, см. запись openbsd (AFAIK, системный загрузчик Linux PXE не может загрузить ядро BSD)
  • chain TFTP серверы, смотрите pxeserver2 запись
  • на 1-ый жесткий диск, вы можете скопировать его из syslinux меню (live USB) или isolinux меню (live 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 Multiple image

1
27.01.2020, 21:14

Теги

Похожие вопросы