Skip to content
gumanzoy edited this page Aug 5, 2025 · 1 revision

Загрузка PocketHandyBox по сети через PXE

Поддерживается загрузка посредством сетевой файловой системы NFS
Папки live и live32 должны быть доступны по NFS по пути /srv/pxe/
Путь можно переопределить через параметр nfspath= например nfspath=/srv/phb/
IP адрес сервера с NFS нужно передать через параметр ip=
syslinux/pxelinux может сделать это сам, нужно указать ipappend 1

Конфиг pxelinux.cfg/default

default phbram
timeout 300
prompt 1
label phb
  kernel live/vmlinuz1
  append initrd=live/initrd1.xz nvidia=detect noauto mitigations=off nvme_core.default_ps_max_latency_us=5500
  ipappend 1
label phbram
  kernel live/vmlinuz1
  append initrd=live/initrd1.xz copy2ram nvidia=detect noauto mitigations=off nvme_core.default_ps_max_latency_us=5500
  ipappend 1
label phb5
  kernel live/k510/vmlinuz1
  append initrd=live/k510/initrd1.xz nvidia=detect noauto mitigations=off nvme_core.default_ps_max_latency_us=5500
  ipappend 1
label phb5ram
  kernel live/k510/vmlinuz1
  append initrd=live/k510/initrd1.xz copy2ram nvidia=detect noauto mitigations=off nvme_core.default_ps_max_latency_us=5500
  ipappend 1
label phb32
  kernel live32/vmlinuz1
  append initrd=live32/initrd1.xz noauto mitigations=off
  ipappend 1
label phb32ram
  kernel live32/vmlinuz1
  append initrd=live32/initrd1.xz copy2ram noauto mitigations=off
  ipappend 1

Настройка сервера

Подойдет любой дистрибутив Linux

Предполагается что эти действия будут производится на DHCP сервере вашей сети.

Либо в одном из компьютеров в сети установлена вторая сетевая карта и настроен NAT.
То есть свой DHCP настроен только для изолированного сегмента сети.

  • Установить необходимые пакеты (названия пакетов приведены для Debian/Ubuntu):
sudo apt-get install dnsmasq nfs-kernel-server pxelinux syslinux-common syslinux-efi
  • Создать папку /srv/pxe/ и скопировать туда папку(и) live, live32 из .iso образа pocket-handybox

  • Создать симлинки для файлов загрузчика в /srv/pxe/ (файловые пути приведены для Debian/Ubuntu):

sudo bash
cd /srv/pxe/
ln -s /usr/lib/PXELINUX/pxelinux.0
ln -s /usr/lib/syslinux/modules/bios/ldlinux.c32
ln -s /usr/lib/SYSLINUX.EFI/efi64/syslinux.efi
ln -s /usr/lib/syslinux/modules/efi64/ldlinux.e64
  • Создать папку /srv/pxe/pxelinux.cfg/ и в ней конфиг pxelinux.cfg/default

  • Настроить статический IP для одной из сетевых карт.
    Настроить в /etc/dnsmasq.conf
    interface=
    dhcp-range=

  • Затем добавить в /etc/dnsmasq.conf

enable-tftp
tftp-root=/srv/pxe

dhcp-match=set:efi-x86_64,option:client-arch,7
dhcp-match=set:efi-x86_64,option:client-arch,9
dhcp-match=set:bios,option:client-arch,0
dhcp-boot=tag:efi-x86_64,"syslinux.efi"
dhcp-boot=tag:bios,"pxelinux.0"
  • Добавить в /etc/exports
/srv/pxe *(ro,crossmnt,no_subtree_check,all_squash,insecure,anonuid=1000,anongid=1000)
  • Перезапустить сервисы dnsmasq и nfs-kernel-server

Готово. Теперь можно загружать PocketHandyBox по сети через PXE.

Clone this wiki locally