
Загрузка по сети
Подготовка
Устаналиваем пакеты:
sudo apt-get install dnsmasq syslinux nfs-kernel-server nfs-common debootstrap tftpd-hpa xinetd
DHCP
Настраиваем dhcp в /etc/dnsmasq.conf:
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 адрессу)Где, 00:00:00:00:00:00 - Ваш MAC-адрес.
или настроить dhcp:
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; } }tftp
Настройка tftp в /etc/xinetd/tftp-hpa:
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/ }PXE
Выполним действия:
sudo cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/ sudo mkdir /var/lib/tftpboot/pxelinux.cfgКопируем ядро:
sudo cp /boot/vmlinuz-`uname -r` /var/lib/tftpboot/Копируем /etc/initramfs-tools/ :
sudo cp -r /etc/initramfs-tools /etc/initramfs-pxeРедактируем /etc/initramfs-pxe/initramfs.conf
Перепишем BOOT=local на BOOT=nfs.
Создаём ramdisk:
sudo mkinitramfs -d /etc/initramfs-pxe -o /var/lib/tftpboot/initrd.img-`uname -r`Создаём файл /var/lib/tftpboot/pxelinux.cfg/default и пишем в нём:
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 rwNFS
Создаём каталог:
sudo mkdir /home/nfsrootРедактируем /etc/exports
/home/nfsroot 192.168.1.0/255.255.255.0(rw,no_subtree_check,async,no_root_squash)Теперь мы просто должны загрузить базовую установку Debian в /home/nfsroot. К счастью для нас, есть отличный инструмент debootstrap.
debootstrap --arch i686 lenny /home/nfsroot/Редактируем /home/nfsroot/etc/fstab:
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В /home/nfsroot/etc/network/interfaces должны быть такие строки:
auto lo iface lo inet loopback iface eth0 inet dhcpСсылки
http://blog.signalnine.net/?p=12
http://rus-linux.net/denis.php?name=denis/art/clusters.html#using