PXE - andyceo/documentation GitHub Wiki

Вообще, PXE - это загрузка с помощью прошивки сетевой карты без использования локальных носителей данных (флешек, дисков). Для организации загрузки системы в PXE используются протоколы IP, UDP, BOOTP и TFTP.

  1. Поставить на какой-либо сервер tftp
  2. DHCP (настроить чтобы выдал адрес tftp-сервера)

Разворачивание мультизагрузочной сетевой конфигурации

Требуется:

  • Web-server or nfs
  • TFTP server
  • DHCP server

Последовательность установки:

  • Создадим папку, куда будем монтировать или просто копировать содержимое инсталляционных дисков:

      sudo mkdir -p /srv/install
    
  • Создадим там структуру каталогов для размещения/монтирования файлов с загрузочных дисков

  • Ставим NFS сервер:

      sudo apt-get -y install nfs-kernel-server
    

    Прописываем ему открыть на чтение папку с образами дисков:

      sudo nano /etc/exports
      # add following line:
      # /srv/install                  10.10.1.0/24(ro,async,no_root_squash,no_subtree_check) 
    

    И перечитаем конфигурацию:

      sudo exportfs -a
    
  • Ставим tftpd-hpa из докер-контейнера

  • Создаем там следующую структуру папок и файлов-загрузчиков, скопированных из проекта syslinux и pxelinux ...

  • Ставим DHCP, если он стоит у вас на роутере и роутер - OpenWRT, а сервер - dnsmasq, то прописываем в файл /etc/dnsmasq.conf:

      enable-tftp
      dhcp-boot=pxelinux.0,NAME_OF_YOUR_EXTERNAL_TFTP,IP_OF_YOUR_EXTERNAL_TFTP
    

    где NAME_OF_YOUR_EXTERNAL_TFTP - доменное имя вашего внешнего TFTP сервера, IP_OF_YOUR_EXTERNAL_TFTP - айпи-адрес вашего внешнего TFTP-сервера и перезагружаем его:

      killall dnsmasq
      /etc/init.d/dnsmasq start
    
  • Настраиваем tftp конфигурационное меню, чтобы отображать/грузить нужные образы. Не забываем скопировать их загрузчики и расшарить в папке NFS, которую опубликовали ранее.

Источники:

Ссылки

Не читал:

⚠️ **GitHub.com Fallback** ⚠️