<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Аникин: заметки с тегом tftp</title>
<link>https://anikin.pw/tags/tftp/</link>
<description>Блог об администрировании Linux, BSD и не только</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.3 (v4134)</generator>

<itunes:subtitle>Блог об администрировании Linux, BSD и не только</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>PXE сервер на FreeBSD</title>
<guid isPermaLink="false">95</guid>
<link>https://anikin.pw/all/pxe-server-na-freebsd/</link>
<pubDate>Sun, 01 Sep 2019 18:49:26 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/pxe-server-na-freebsd/</comments>
<description>
&lt;p&gt;В конфиг  dnsmasq добавляем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;dhcp-option-force=66,192.168.0.1   # ip сервера
dhcp-option-force=67,gpxelinux.0   # загрузчик&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Перезапускаем dnsmasq&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;service dnsmasq restart&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Создаем каталог для pxe&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;mkdir /usr/local/pxe
mkdir /usr/local/pxe/pxelinux.cfg&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Устанавливаем tftp&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;pkg install tftp-hpa&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В /etc/inetd.conf добавляем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;tftp  dgram  udp  wait  root  /usr/local/libexec/in.tftpd  in.tftpd -p -s /usr/local/pxe&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Вписываем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;echo 'inetd_enable=&amp;quot;YES&amp;quot;' &amp;gt;&amp;gt; /etc/rc.conf&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Запускаем inetd&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;/etc/rc.d/inetd start&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Скачиваем и распаковываем syslinux&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;fetch http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.05.tar.gz
tar -xf syslinux-4.05.tar.gz&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Копируем файлы&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;cd syslinux-4.05
cp gpxe/gpxelinux.0 /usr/local/pxe/
cp com32/menu/menu.c32 /usr/local/pxe/
cp com32/menu/vesamenu.c32 /usr/local/pxe/
cp com32/modules/reboot.c32 /usr/local/pxe/
cp com32/modules/chain.c32 /usr/local/pxe/
cp memdisk/memdisk /usr/local/pxe/&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Образы будем грузить по http, т.к tftp очень медленный. Ставим nginx.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;pkg install nginx&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Создаем каталог с образами и симлинк на него в nginx&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;mkdir  /usr/local/pxe/images/
ln -s /usr/local/pxe/images/ /usr/local/www/nginx/images&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Вписываем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;echo 'nginx_enable=&amp;quot;YES&amp;quot;' &amp;gt;&amp;gt; /etc/rc.conf&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;И стартуем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;service nginx start&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Заливаем наши образы в /usr/local/pxe/images/&lt;/p&gt;
&lt;p&gt;В файле /usr/local/pxe/pxelinux.cfg/default создаем конфиг меню с нашими образами. У меня получился такой&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;ui menu.c32
menu title PXE Boot Menu

label boothdd
  menu label Boot from Hard Drive
  localboot 0
 
label memtest
  menu label memtest
  kernel memdisk
  initrd http://192.168.0.1/images/Memtest86-4.3.7.iso
  append iso raw

label mfsbsd
  menu label mfsbsd
  kernel memdisk
  initrd http://192.168.0.1/images/mfsbsd-12.0-RELEASE-amd64.iso
  append iso raw

label debian-10
  menu label debian-10
  kernel http://192.168.0.1/images/debian10/linux
  append vga=normal initrd=http://192.168.0.1/images/debian10/initrd.gz  --

label rescue
  menu label rescue
  kernel http://192.168.0.1/images/debian10/linux
  append vga=normal initrd=http://192.168.0.1/images/debian10/initrd.gz  rescue/enable=true --&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;linux и initrd.gz для установщика debian можно взять &lt;a href="https://mirror.yandex.ru/debian/dists/buster/main/installer-amd64/current/images/netboot/debian-installer/amd64/"&gt;тут&lt;/a&gt;&lt;br /&gt;
Теперь можно пробовать грузится с PXE, если все сделали правильно то появится меню с выбором загружаемого образа.&lt;/p&gt;
</description>
</item>


</channel>
</rss>