Устанавливаем FreeBSD 6.0 по сети на сервер без CDROM & Floppy
Казалось бы, зачем так извращаться? Однако, как показала практика, 1U-сервер не обладающий ни дисководом, ни CD-ROM, является суровой реальностью сегодняшнего дня.
Итак, для установки FreeBSD 6.0 по сети надо сделать следующее:
1) Соединить сетевым кабелем два компьютера: "сервер", откуда мы будем ставить систему и "клиент", на который будет ставиться система (предполагается, что сетевая карта "клиента" поддерживает загрузку по сети PXE boot).
2) Из программного обеспечения нам понадобятся: DHCP-сервер (необходим для того, что бы "клиент" мог получить IP-адрес), TFTP-сервер (он будет давать "клиенту" загрузчик и ядро), NFS-сервер (для передачи на клиент всего остального). Кроме того желательно наличие инсталляционного CD-ROM FreeBSD 6.0 :-)
3) Итак на "сервере" устанавливаем пакет "isc-dhcp3-server" (cd /usr/ports/net/isc-dhcp30-server; make install clean).
4) Настраиваем DHCP:
/usr/local/etc/dhcpd.conf:
authoritative;
subnet 192.168.0.0 netmask 255.255.255.0 {
}
host bsdserv {
# тут надо вставить MAC-адрес ВАШЕГО "клиента"
hardware ethernet 00:0C:29:C6:93:E1;
# IP-адрес "клиента"
fixed-adderss 192.168.0.64;
# IP-адрес "сервера"
next-server 192.168.0.8;
# путь к загрузчику
filename "boot/pxeboot";
# корень TFTP сервера
option root-path "/tftpboot"
}
5) Настраиваем TFTP, для этого нам надо раскомментировать одну строчку в файле /etc/inetd.conf:
tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot
6) Настраиваем сервер NFS. В файле /etc/exports пишем:
/tftpboot -network 192.168.0 -mask 255.255.255.0
7) Предпоследний штрих -- положим в нужные места нужные файлы. В CD-ROM загружаем установочный диск FreeBSD 6.0. И затем копируем его содержимое в /tftpboot:
mount /cdrom
mkdir /tftpboot
cp -Rp /cdrom /tftpboot
8) И наконец редактируем файл /tftpboot/boot/loader.conf, добавляя туда следующую строку:
vfs.root.mountfrom="ufs:/dev/md0c"
9) Все готово, осталось изменить /etc/rc.conf для автоматической загрузки необходимых демонов:
# Задаем IP-адрес на сетевой карте "сервера"
ifconfig_fxp0="inet 192.168.0.8 netmask 255.255.255.0"
# Запускаем DHCP
dhcpd_enable="YES"
dhcpd_conf="/usr/local/etc/dhcpd.conf"
# Запускаем NFS
rpcbind_enable="YES"
nfs_server_enable="YES"
# Запускаем inetd (для TFTP)
inetd_enable="YES"
10) Перезагружаемся
11) Загружаем "клиента" по сети с нашего "сервера" и устанавливаем на него систему. Когда инсталляционный скрипт спросит местонахождение дистрибутива, надо не забыть выбрать опцию "NFS" Install over NFS, и ввести соответствующий путь: 192.168.0.8:/tftpboot. После этого согласиться попробовать на сетевом интерфейсе DHCP.
12) Все.
P.S. Не экономьте на конфигурации сервера. Покупайте CD-ROM :-)
(с)slapsh.livejournal.com
__________________
Если тебе плюют в спину - значит, ты впереди. (Конфуций)
|