Установка Rosa по сети (PXE) в QEMU (Virt-Manager)
Настройка сервера PXE
Для установки Rosa Linux по сети (PXE) в среде Qemu нам понадобится:
- Сервер Rosa
- Образ Rosa Linux, который будет ставится на клиенте
Ставим стандартными шагами Rosa сервер. Для примера, при установке сервера создадим пользовтеля user.
Загружаем сервер, входим под user, и скачиваем (в нашем примере) образ ROSA_2021.1_GNOME_X86_64_46122.iso в домашнюю папку пользователя.
Далее нам надо установить несколько компонентов:
dnf install tftp-server syslinux
Сеть на сервере в Qemu должна быть за NAT. Обычно это настраивается в параметрах Qemu сервера.
Проверяем ip адрес сервера.
ip -br a
Сервер должен получить ip адреса из диапазона 192.168.122.0/24
Если это так, прописываем , через nmcli статический ip адрес для нашего сервера:
nmcli connection modify enp1s0 connection.autoconnect yes ipv4.method manual ipv4.dns 192.168.122.1 ipv4.dns-search mydomen.dom ipv4.addresses 192.168.122.2/24 ipv4.gateway 192.168.122.1
Перезапускаем сервер или рестартим сеть.
От пользователя user делаем следующее:
mkdir -p "~/web" (создаем папку для веб-сервера) cd "~/web" (переходим в эту папку) mkdir -p ISO (создаем папку для ISO-образа) sudo mount -o loop "~/ROSA_2021.1_GNOME_X86_64_46122.iso" "~/web/ISO" (монтируем наш ISO образ в папку ~/web/ISO)
где "~/ROSA_2021.1_GNOME_X86_64_46122.iso" - это путь , куда мы скачали наш установочный образ iso.
Для автоматической установки Rosa Linux мы будем использовать kickstart сценарии для Анаконды. По kickstart сценариям, Анаконда в автоматическом режиме ставит систему.
Создаем файл кикстарт сценария:
nano ~/web/a.ks
Вписываем в него следующее:
cmdline # https://bugzilla.redhat.com/show_bug.cgi?id=1874434 liveimg --url=file:///dev/mapper/live-base # System language lang ru_RU.UTF-8 # Keyboard layouts keyboard --xlayouts=us,ru --switch=grp:alt_shift_toggle # Network information network --hostname=localhost.localdomain # System services services --enabled="chronyd" autopart # Partition clearing information clearpart --all --initlabel # System timezone timezone Europe/Moscow --utc # Passwords rootpw 123456 user --groups=wheel,users --name=rosa --password=123456 reboot --eject
Сохраняем и выходим. У нас получится, что кискстарт сценарий лежит в ~/web/a.ks
Далее нам надо настроить TFTP сервер.
Копируем в папку сервера TFTP компоненты первоначального загрузчика:
( cd /usr/share/syslinux && cp -v menu.c32 pxelinux.0 ldlinux.c32 libutil.c32 /var/lib/tftpboot/ )
Копируем минимальную версию ОС из ISO-образа в папку TFTP-сервера (от пользователя user, не root):
( cd "~/web/ISO/isolinux" ; sudo cp -v initrd0.img vmlinuz0 /var/lib/tftpboot/ )
Запускаем и добавляем в автозагрузку TFTP-сервер:
systemctl enable --now tftp.service
В предустановленном на образах ROSA языке python есть простой веб-сервер, используем его для PXE-установки.
Запускаем python web сервер (от user:
cd ~/web python3 -m http.server (запускаем http-сервер из папки)
Сервер будет работать по вашему ip адресу 192.168.122.2 на порту 8000
На это этапе настройка PXE сервера закончена.
Настрокйка iPXE клиента
Открываем Virt-Manager, создаем новую виртуалку: