﻿define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true);<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>/dev/head &#187; tftp</title>
	<atom:link href="http://devhead.ru/cat/tftp/feed" rel="self" type="application/rss+xml" />
	<link>http://devhead.ru</link>
	<description>Статьи и видео уроки</description>
	<lastBuildDate>Mon, 30 Jan 2017 11:12:34 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.37</generator>
	<item>
		<title>Загрузка по сети</title>
		<link>http://devhead.ru/read/zagruzka-po-seti</link>
		<comments>http://devhead.ru/read/zagruzka-po-seti#comments</comments>
		<pubDate>Wed, 03 Nov 2010 17:11:17 +0000</pubDate>
		<dc:creator><![CDATA[ignusius]]></dc:creator>
				<category><![CDATA[Статьи]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[PXE]]></category>
		<category><![CDATA[tftp]]></category>
		<category><![CDATA[загрузка по сети]]></category>

		<guid isPermaLink="false">http://devhead.ru/read/zagruzka-po-seti/</guid>
		<description><![CDATA[Загрузка компьютера по сети — это процесс загрузки компьютера из сети без использования жесткого диска. Данный метод загрузки может быть использован в маршрутизаторах или в бездисковых рабочих станциях, а также в публичных компьютерах, которые работают, например, в школах или библиотеках. Применяют данную технологию для централизованного управления дисковым пространством или для уменьшения денежных средств вложенных в [&#8230;]]]></description>
				<content:encoded><![CDATA[<div><b>Загрузка компьютера по сети</b> — это процесс <span class="mw-redirect">загрузки</span> компьютера из сети без использования жесткого диска. Данный метод загрузки может быть использован в маршрутизаторах или в бездисковых рабочих станциях,  а также в публичных компьютерах, которые работают, например, в школах  или библиотеках. Применяют данную технологию для централизованного  управления дисковым пространством или для уменьшения денежных средств  вложенных в приобретение или обновление компьютерного оборудования и его  дальнейшей поддержки.</div>
<div></div>
<div><em>На примере загрузки по сети GNU/Linux.</em></div>
<div><span id="more-518"></span></div>
<h3><span class="mw-headline">Подготовка</span></h3>
<p>Устаналиваем пакеты:</p>
<blockquote>
<p>sudo apt-get install dnsmasq syslinux nfs-kernel-server nfs-common debootstrap tftpd-hpa xinetd</p>
</blockquote>
<h3><span class="editsection"> </span><span class="mw-headline">DHCP</span></h3>
<p>Настраиваем dhcp в /etc/dnsmasq.conf:</p>
<pre><pre class="brush: xhtml"> dhcp-range=192.168.1.50,192.168.1.150,255.255.255.0,12h
 dhcp-boot=pxelinux.0,headnode,192.168.1.1
#dhcp-host= 00:00:00:00:00:00, 192.168.1.1 (Выдать IP по MAC адрессу)</pre>
<p></p>
<p><i>Где, 00:00:00:00:00:00 - Ваш MAC-адрес. </i></p>
<p>или настроить dhcp:</p>
<pre><pre class="brush: xhtml">ddns-update-style none;

# option definitions common to all supported networks...
option domain-name "xnetworks.ru";
option domain-name-servers 192.168.0.1;

default-lease-time 600;
max-lease-time 7200;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;

allow booting;
allow bootp;
next-server 192.168.0.1;
option tftp-server-name "192.168.0.1";

subnet 192.168.0.0 netmask 255.255.255.0 {

    option domain-name-servers 192.168.0.1;
    option routers 192.168.0.1;
    range 192.168.0.50 192.168.0.150;
    deny unknown-clients;

#    if substring ( option vendor-class-identifier, 0, 9) = "PXEClient" {
#        filename "pxelinux.0" ;
#        next-server 192.168.0.1;
#    }

host host50 {
    filename "pxelinux.0";
    hardware ethernet 00:04:79:67:82:1A;
    fixed-address 192.168.0.50;
#    option host-name "host50";
    next-server 192.168.0.1;
    }
}</pre>
<p></p>
<h3><span class="mw-headline">tftp</span></h3>
<p>Настройка tftp в /etc/xinetd/tftp-hpa:</p>
<pre><pre class="brush: xhtml">service tftp
{
        disable         = no
        id              = chargen-dgram
        socket_type     = dgram
        protocol        = udp
        user            = root
        wait            = yes
        server          = /usr/sbin/in.tftpd
        server_args     = -s /var/lib/tftpboot/
}</pre>
<h3><a name="PXE" id="PXE"></a><span class="mw-headline">PXE</span></h3>
<p>Выполним действия:</p>
<pre><pre class="brush: bash">sudo cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/
sudo mkdir /var/lib/tftpboot/pxelinux.cfg</pre>
<p>Копируем ядро:</p>
<pre><pre class="brush: bash">sudo cp /boot/vmlinuz-`uname -r` /var/lib/tftpboot/</pre>
<p>Копируем /etc/initramfs-tools/ :</p>
<pre><pre class="brush: bash">sudo cp -r /etc/initramfs-tools /etc/initramfs-pxe</pre>
<p>Редактируем /etc/initramfs-pxe/initramfs.conf</p>
<div class="brush: xhtml">
<blockquote><p>Перепишем BOOT=local на BOOT=nfs.</p></blockquote>
</div>
<p>Создаём ramdisk:</p>
<pre><pre class="brush: bash">sudo mkinitramfs -d /etc/initramfs-pxe -o /var/lib/tftpboot/initrd.img-`uname -r`</pre>
<p>Создаём файл /var/lib/tftpboot/pxelinux.cfg/default и пишем в нём:</p>
<pre><pre class="brush: xhtml">LABEL linux
KERNEL vmlinuz-2.6.xx
APPEND root=/dev/nfs initrd=initrd.img-2.6.xx nfsroot=192.168.1.1:/home /nfsroot ip=dhcp rw</pre>
<h3><a name="NFS" id="NFS"></a><span class="editsection"> </span> <span class="mw-headline">NFS</span></h3>
<p>Создаём каталог:</p>
<pre><pre class="brush: bash">sudo mkdir /home/nfsroot</pre>
<p>Редактируем /etc/exports</p>
<blockquote>
<div>/home/nfsroot 192.168.1.0/255.255.255.0(rw,no_subtree_check,async,no_root_squash)</div>
</blockquote>
<p>Теперь мы просто должны загрузить базовую установку Debian в  /home/nfsroot. К счастью для нас, есть  отличный инструмент   debootstrap.</p>
<pre><pre class="brush: bash">debootstrap --arch i686 lenny /home/nfsroot/</pre>
<p>Редактируем /home/nfsroot/etc/fstab:</p>
<pre><pre class="brush: xhtml">proc            /proc         proc   defaults       0      0
/dev/nfs        /             nfs    defaults       0      0
none            /tmp            tmpfs   defaults 0 0
none            /var/run        tmpfs   defaults 0 0
none            /var/lock       tmpfs   defaults 0 0
none            /var/tmp        tmpfs   defaults 0 0
none            /media          tmpfs   defaults 0 0
none		/var/log	tmpfs	defaults 0 0</pre>
<p>В /home/nfsroot/etc/network/interfaces должны быть такие строки:</p>
<pre><pre class="brush: xhtml">auto lo
iface lo inet loopback
iface eth0 inet dhcp</pre>
<h3><a name=".D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8" id=".D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8"></a><span class="editsection"></span><span class="mw-headline">Ссылки</span></h3>
<p><a href="http://blog.signalnine.net/?p=12" class="external free" title="http://blog.signalnine.net/?p=12" rel="nofollow">http://blog.signalnine.net/?p=12</a><br /> <a href="http://rus-linux.net/denis.php?name=denis/art/clusters.html#using" class="external free" title="http://rus-linux.net/denis.php?name=denis/art/clusters.html#using" rel="nofollow">http://rus-linux.net/denis.php?name=denis/art/clusters.html#using</a></p>
]]></content:encoded>
			<wfw:commentRss>http://devhead.ru/read/zagruzka-po-seti/feed</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->