Задача: Хочу через Fog Project настроить автоматизированную установку Debian 10 с применением файла ответов.

Все следующие шаги накладываю на существующий сервис в моей локальной сети именуемый, как FOG. О нем кстати я уже много всего опубликовал на своем основном блоге, см. сюда кому интересно.

Подключаюсь к своему сервису srv-fog по SSH который хостится на моем домашнем сервере базирующемся в виртуальном контейнера ESXi VM железа HP MicroServer Gen8

Шаг №1: Создаю структуру файлов дистрибутива и ядра:

ekzorchik@srv-fog:~$

ekzorchik@srv-fog:~$ sudo mkdir -p /images/os/debian/buster

ekzorchik@srv-fog:~$ wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.0.0-amd64-netinst.iso

ekzorchik@srv-fog:~$ sudo mount -o loop debian-10.0.0-amd64-netinst.iso /mnt

ekzorchik@srv-fog:~$ sudo cp -fr /mnt/* /images/os/debian/buster/

ekzorchik@srv-fog:~$ sudo chown -R root:root /images/os/debian/

ekzorchik@srv-fog:~$ sudo umount /mnt

ekzorchik@srv-fog:~$ sudo mkdir -p /tftpboot/os/debian/buster

ekzorchik@srv-fog:~$ cd /tftpboot/os/debian/buster/

ekzorchik@srv-fog:/tftpboot/os/debian/buster$ sudo wget http://ftp.debian.org/debian/dists/buster/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz

ekzorchik@srv-fog:/tftpboot/os/debian/buster$ sudo wget http://ftp.debian.org/debian/dists/buster/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux

ekzorchik@srv-fog:/tftpboot/os/debian/buster$ md5sum * && ls -lh

21a73184fc50585bd4da713826fc88f0 initrd.gz

73a8f54234bcb1cb823b0e7bab80a19f linux

total 35M

-rw-r--r-- 1 fog root 30M Jul 2 01:39 initrd.gz

-rw-r--r-- 1 fog root 5.0M Jul 2 01:39 linux

ekzorchik@srv-fog:/tftpboot/os/debian/buster$

ekzorchik@srv-fog:/tftpboot/os/debian/buster$ cd ~

ekzorchik@srv-fog:~$ sudo chown -R fog:root /tftpboot/os/debian/

ekzorchik@srv-fog:~$

Шаг №2: Создаю файл ответов (server.seed) посредством которого от меня, как системного администратора не будет не одного ручного действия, установщик сам поставит систему, создаст пользователя, назначит предопределенный пароль и т.д.

ekzorchik@srv-fog:~$ sudo chown -R fog:root /tftpboot

ekzorchik@srv-fog:~$ sudo mkdir -p /var/www/fog/debian/buster

ekzorchik@srv-fog:~$ sudo nano /var/www/fog/debian/buster/server.seed

d-i debian-installer/locale string en_US.UTF-8

d-i debian-installer/language string en

d-i localechooser/supported-locales multiselect en_US.UTF-8

d-i debian-installer/country string US

d-i console-setup/ask_detect boolean false

d-i console-setup/layoutcode string us

d-i console-setup/modelcode string SKIP

d-i keyboard-configuration/xkb-keymap select us

#d-i keyboard-configuration/toggle select No toggling

d-i netcfg/get_hostname string unassigned-hostname

d-i netcfg/get_domain string unassigned-hostname

d-i mirror/http/hostname string srv-debian

d-i mirror/hthtp/domain string polygon.local

d-i passwd/user-fullname string

d-i passwd/root-login boolean false

d-i passwd/username string ekzorchik

d-i passwd/user-password password 712mbddr@

d-i passwd/user-password-again password 712mbddr@

d-i passwd/user-default-groups string sudo

d-i user-setup/allow-password-weak boolean true

d-i netcfg/choose_interface select auto

d-i mirror/country select US

d-i mirror/http/mirror select deb.debian.org

#172.35.35.8:3142 — это сервис apt-cache-ng: https://www.ekzorchik.ru/2018/12/caching-apt-cacher-ng-packages-on-ubuntu-bionic/

d-i mirror/http/proxy string http://172.35.35.8:3142/

d-i cdrom-detect/manual_config boolean false

d-i clock-setup/utc boolean true

d-i clock-setup/ntp boolean true

d-i time/zone string Europe/Moscow

d-i partman/confirm boolean true

d-i partman/choose_partition select finish

d-i partman/confirm_nooverwrite boolean true

d-i partman-auto/disk string /dev/[sv]da

d-i partman-auto/method string lvm

d-i partman-auto/choose_recipe select atomic

d-i partman-lvm/device_remove_lvm boolean true

d-i partman-lvm/confirm boolean true

d-i partman-lvm/confirm_nooverwrite boolean true

d-i partman-auto-lvm/guided_size string max

d-i partman-partitioning/confirm_write_new_label boolean true

d-i grub-installer/grub2_instead_of_grub_legacy boolean true

d-i grub-installer/only_debian boolean true

d-i grub-installer/bootdev string /dev/[sv]da

d-i pkgsel/update-policy select none

#Все закоменченное ниже все равно ставит Desktop-версию, а не Server

#d-i tasksel/first multiselect standard, ssh-server

#d-i tasksel/first manual standard ssh-server

d-i tasksel/first multiselect standard, ssh-server

d-i pkgsel/include string tmux mercurial vim build-essential multipath-tools lsscsi lvm2 htop net-tools openssh-server

d-i popularity-contest/participate boolean false

d-i finish-install/reboot_in_progress note

ekzorchik@srv-fog:~$ sudo chown -R www-data:www-data /var/www/fog/debian/

Шаг №3: Теперь создаю меню загрузки через Webпанель администрирования FOG.

http://IP&DNS/fog — user&pass — FOG Configuration — iPXE New Meny Entry

  • Menu Item: Debian 10 Desktop
  • Description: Debian 10 Desktop
  • Parameters:

kernel tftp://${fog-ip}/os/debian/buster/linux

initrd tftp://${fog-ip}/os/debian/buster/initrd.gz

imgargs linux initrd=initrd.gz root=/dev/nfs netboot=nfs nfsroot=${fog-ip}:/images/os/debian/buster/ locale=en_US.UTF-8 keyboard-configuration/xkb-keymap=us console-keymaps-at/keymap=us netcfg/get_hostname=srv-debian netcfg/get_domain=polygon.local url=http://172.35.35.7/fog/debian/buster/server.seed ip=dhcp rw

boot || goto MENU

  • Menu Show with: All Hosts

И нажимаю Save Changes

Шаг №4: Для проверки правильности настройки сетевой установки я использую стенд «QEMU-KVM on Ubuntu 18.04 Server». Создаю VM (через virt-manager)и выставляю в ней свойства: «Параметры загрузки»:

  • 1. Порядок загрузки NIC
  • 2. Порядок загрузки VirtiO Диск1

Шаг №5: Запускаю VM и выбираю меню установки операционной системы Debian 10 Desktop из текущего выбора и нажимаю клавишу Enter

В меню загрузки FOG выбираю установки Debian 10 Buster

 

Шаг №6: По итогу сетевого развертывания операционной системы Debian 10 Buster я получаю Desktop систему, ожидающую авторизации, авторизовавшись см. система успешно установлена с учетом моего файла ответов. Как додумаюсь, чтобы поставить только Server редакцию через файл ответов, то дополню текущую заметку. Server редакция у меня устанавливается только когда я вручную иду по шагам мастера инсталляции, а вот через iPXE почему-то ни как, хотя Debian 9.6 таких проблем не испытывает.

Шаг №7: Для чего все это выше делается, если я использую только Ubuntu, а все потому что буду переводить свою виртуализацию под лабораторные работы с QEMU+KVM на proxmox. Proxmox к сожалению существует только под Debian. Ну хоть эти системы: Ubuntu & Debian объединены deb-ориентированностью, что меня радует.

Итого: Поставленная самому себе задача по разбору, как установить Debian 10 Buster через сервис FOG Project успешно выполнена в той мере в которой мне почти и нужно было. Главное что есть заметка, а уже от нее и буду отталкиваться, на этом у меня все, с уважением Олло Александр aka ekzorchik.