Можно использовать Zeroconf. Это широковещательно передает имя хоста и делает это доступным для других хостов в локальной сети. Тем путем можно получить доступ использованию хостов hostA.local
, hostB.local
, и т.д.
В системах оснований Debian Вам нужен пакет libnss-mdns
для рекламы имени хоста и avahi-daemon
для определения имен.
Вы можете загрузить 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-сервере.
pxelinux.0
- это универсальный загрузчик PXE для Linux из проекта syslinux. Вы можете использовать один pxelinux.0
для всех дистрибутивов Linux, которые у вас есть. Единственное, что вам нужно сделать, это обновить PXE конфиг pxelinux.cfg/default
, pxelinux.cfg/CLIENT_MAC
или pxelinux.cfg/PORTION_OF_CLIENT_IP
в зависимости от ваших настроек.
Вы можете:
pmagic_advanced
openbsd
(AFAIK, системный загрузчик Linux PXE не может загрузить ядро BSD)pxeserver2
запись 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