Сетевая установка
Установка по сети требует наличия сетевого подключения, сетевого загрузочного сервера TFTP, а также серверов DHCP, BOOTP для автоматической настройки по сети.
Сетевая карта или материнская плата вычислительной машины, на которую производится установка должна поддерживать технологию PXE.
TFTP (Trivial File Transfer Protocol) используется для загрузки загрузочного образа на клиентскую машину.
DHCP (Dynamic Host Configuration Protocol) — сервис динамического выделения адресов. Сервис обратно совместим с BOOTP. Некоторые системы могут быть настроены только через DHCP.
BOOTP — это IP протокол, который информирует компьютер о его IP-адресе и где в сети получить загрузочный образ.
Настройка DHCP сервера
Сервер dhcp доступен из пакета isc-dhcp-server. Пример его конфигурационного файла (/etc/dhcp/dhcpd.conf). Конфигурационный файл представленный ниже предназначен для загрузки на вычислительной машине, работающей как в режиме совместимости, так и в режиме EFI:
option domain-name "example.com";
option domain-name-servers ns1.example.com;
option subnet-mask 255.255.255.0;
option architecture-type code 93 = unsigned integer 16;
default-lease-time 600;
max-lease-time 7200;
server-name "servername";
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.200 192.168.1.253;
option routers 192.168.1.100;
}
host clientname {
if option architecture-type = 00:07 {
filename "net/grub/bootnetx64.efi";
} else {
filename "net/pxelinux.0";
}
next-server 192.168.1.100;
hardware ethernet 01:23:45:67:89:AB;
fixed-address 192.168.1.90;
}
В этом примере определён единственный сервер 192.168.1.100, который работает в качестве DHCP, TFTP серверов и шлюза сети. Нужно изменить опцию domain-name, а также имя сервера и аппаратный адрес клиента в соответствии с настройками сети. Опция filename должна содержать имя файла, который нужно получить по TFTP.
После редактирования конфигурационного файла для dhcpd необходимо перезагрузить сервер командой /etc/init.d/isc-dhcp-server restart.
Включение загрузки PXE в конфигурацию DHCP
Ниже представлен пример dhcp.conf, который можно использовать, если включён метод предстартового выполнения среды (PXE) по протоколу TFTP.
option domain-name "example.com";
default-lease-time 600;
max-lease-time 7200;
allow booting;
allow bootp;
# нужно изменить согласно вашим настройкам
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.200 192.168.1.253;
option broadcast-address 192.168.1.255;
# адрес шлюза, который может быть другим
# (для доступа в интернет, например)
option routers 192.168.1.1;
# используемый dns
option domain-name-servers 192.168.1.3;
}
group {
next-server 192.168.1.3;
host tftpclient {
# аппаратный адрес клиента tftp
hardware ethernet 00:10:DC:27:6C:15;
if option architecture-type = 00:07 {
filename "net/grub/bootnetx64.efi";
} else {
filename "net/pxelinux.0";
}
}
}
Настройка BOOTP сервера
В качестве BOOTP сервера используется сервер isc-dhcp-server.
В BOOTP сервере в ISC dhcpd клиенты BOOTP считаются одним из вариантов клиентов DHCP. Необходимо добавить директиву allow bootp в /etc/dhcp/dhcpd.conf в блоке настройки подсети, содержащей клиента, и перезапустить dhcpd командой /etc/init.d/isc-dhcp-server restart.
Настройка TFTP сервера
Сервер tftp предоставляется программным пакетом tftpd-hpa.
Для хранения образов загрузки служба tftpd-hpa по умолчанию использует каталог /srv/tftp.
Копирование TFTP образов в каталог TFTP сервера для вычислительной машины с BIOS, работающим в режиме совместимости.
Разместить файлы pxelinux.0, initrd.gz, linux в каталоге для хранения загрузочных образов tftpd (/srv/tftp). Указанные файлы располагаются в каталоге netinst установочного диска.
Скопировать файл ldlinux.c32 из каталога isolinux установочного диска в каталог загрузочных образов tftpd.
Создать каталог pxelinux.cfg каталоге загрузочных образов tftpd. В созданном каталоге pxelinux.cfg создать файл default со следующим содержимым:
DEFAULT onyx
LABEL onyx
kernel linux
append initrd=initrd.gz mprotect=off vga=788 interface=auto \
debian-installer/allow_unauthenticated=true \
mirror/country=manual \
debian-installer/locale=ru_RU.UTF-8 \
debian-installer/language=ru \
debian-installer/country=RU \
debian-installer/keymap=ru
TIMEOUT 5
По умолчанию программа установки для получения пакетов с сервера использует протокол http, если требуется использовать протокол ftp, в указанный файл default требуется добавить параметр mirror/protocol=ftp в строку append.
Копирование TFTP образов в каталог TFTP сервера для вычислительной машины с BIOS, работающим в режиме EFI.
Создать в корне каталога tftp-сервера папку net/grub. Скопировать с дистрибутивного диска в созданную папку net/grub файлы boot/grub/bootnetx86.efi, boot/grub/font.pf2 и каталог boot/grub/x86_64-efi.
Скопировать с дистрибутивного диска в созданную папку net файлы netinst/linux и netinst/initrd.gz.
Создать в каталоге net/grub файл grub.cfg следующего содержания:
if loadfont $prefix/font.pf2 ; then
set gfxmode=800x600
insmod efi_gop
insmod efi_uga
insmod video_bochs
insmod video_cirrus
insmod gfxterm
insmod png
terminal_output gfxterm
fi
if background_image /isolinux/splash.png; then
set color_normal=light-gray/black
set color_highlight=white/black
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
insmod play
play 960 440 1 0 4 440 1
menuentry "Текстовый режим установки" {
set gfxpayload=keep
linux /net/linux mprotect=off --- quiet vga=788 interface=auto \
mirror/country=manual \
debian-installer/allow_unauthenticated=true \
debian-installer/locale=ru_RU.UTF-8 \
debian-installer/language=ru \
debian-installer/country=RU \
debian-installer/keymap=ru
initrd /net/initrd.gz
}
По умолчанию программа установки для получения пакетов с сервера использует протокол http, если требуется использовать протокол ftp, в указанный файл grub.cfg в строку параметров ядра linux требуется добавить параметр mirror/protocol=ftp.
Размещения пакетов ОС
Для размещения пакетов может использоваться любой удобный http/ftp сервер из состава ОС. Требуется установить и настроить соответствующие службы на сервере и разместить на сервере содержимое установочного диска. При установке, сетевой адрес и каталог, где размещено содержимое установочного диска нужно указать на соответствующем этапе установки ОС.
После того, как необходимые файлы были размещены в каталогах для загрузки и созданы необходимые конфигурационные файлы, нужно включить вычислительную машину, на которую производится установка.