В случае, если необходимо проинсталировать единственную в организации Sun-овскую систему, не имеющую привода DVDROM...
В случае, если хочется используя ClusterSSH параллельно проинсталировать несколько одинаковых серверов или доменов...
Да мало ли в каком случае. Есть FreeBSD и с неё по сети надо загрузить Solaris.
Приведённые ниже рекомендации подходят как для сетевой инсталяции Solaris, так и, например, для сетевой загрузки Solaris Utility Environment, а основная часть по идее должна быть применима и к ОС на базе Linux. Итак...
Для начала расшариваем смонтированный каталог по NFS добавляя в /etc/exports
:
/cdrom -ro -alldirs -maproot=0
и запускаем, если еще не запущен, NFS сервер.
Нам нужно скачать и смонтировать .iso образ систему, которую собираемся ставить:
mount -t cd9660 /dev/`mdconfig -a -t vnode -f sol-10-u8-ga-sparc-dvd.iso` /cdrom
Далее копируем загрузчик для нужной нам платформы в /tftpboot:
cp /cdrom/Solaris_10/Tools/Boot/platform/sun4u/inetboot /tftpboot/inetboot.sun4u.10
Разрешаем tftp в /etc/inetd.conf
:
tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot
и перезапускаем inetd любимым Вами способом.
В /etc/hosts
добавляем запись для загружаемого хоста:
192.168.1.2 sun
А вот для перехода к следующему шагу, нужно определиться, что мы будем использовать RARP или DHCP. Если RARP то всё достаточно просто.
В /etc/ethers
добавляем строку с MAC-адресом загружаемой системы:
00:14:4f:a2:ef:2c sun
Запускаем rarpd на том интерфейсе, который Вами используется, например:
rarpd sk0
Через /etc/bootparams указываем откуда брать ядро и откуда ставимся:
sun root=192.168.1.1:/cdrom/Solaris_10/Tools/Boot install=192.168.1.1:/cdrom boottype=:in
И запускаем самого демона:
bootparamd
Создаём символическую ссылку в /tftpboot для назначенного нами адреса:
cd /tftpboot
ln -s inetboot.sun4u.10 `printf "%02X%02X%02X%02X" 192 168 1 2`
Вот и всё. Теперь на Sun-овской машине можно сказать:
boot net
и наблюдать за процессом загрузки системы.
Если же хотим обойтись DHCP, то при использовании ISC DHCPD, в конфигурационный файл /usr/local/etc/dhcpd.conf
необходимо дописать примерно следующее:
# Jumpstart Support
option space SUNW;
option SUNW.root-mount-options code 1 = text;
option SUNW.root-server-ip-address code 2 = ip-address;
option SUNW.root-server-hostname code 3 = text;
option SUNW.root-path-name code 4 = text;
option SUNW.swap-server-ip-address code 5 = ip-address;
option SUNW.swap-file-path code 6 = text;
option SUNW.boot-file-path code 7 = text;
option SUNW.posix-timezone-string code 8 = text;
option SUNW.boot-read-size code 9 = unsigned integer 16;
option SUNW.install-server-ip-address code 10 = ip-address;
option SUNW.install-server-hostname code 11 = text;
option SUNW.install-path code 12 = text;
option SUNW.sysid-config-file-server code 13 = text;
option SUNW.JumpStart-server code 14 = text;
option SUNW.terminal-name code 15 = text;
option SUNW.SbootURI code 16 = text;
group {
filename "inetboot.sun4u.10"; # Имя файла загрузчика, который будет читаться через TFTP
next-server 192.168.1.1; # Адрес сервера для TFTP
use-host-decl-names on;
vendor-option-space SUNW;
option SUNW.install-server-hostname "kot"; # Имя системы, с которой ставимся
option SUNW.install-server-ip-address 192.168.1.1; # Её IP адрес
option SUNW.install-path "/cdrom";
option SUNW.root-server-hostname "kot";
option SUNW.root-server-ip-address 192.168.1.1;
option SUNW.root-path-name "/cdrom/Solaris_10/Tools/Boot";
host sun {
hardware ethernet 00:14:4f:a2:ef:2c
;
fixed-address sun;
option host-name "sun";
}
}
И перезапустить dhcpd. После этого мы готовы к загрузке Sun-овской железки по сети:
boot net:dhcp
Какой из этих двух путей использовать зависит от конкретной ситуации, где-то в сети может быть запрещён RARP, где-то существовать другой DHCP сервер, который мы не может администрировать, поэтому выбор останется за Вами.