Установка 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, создаем новую виртуалку:
Новая виртуалка запустится автоматом. Выключаем ее. Заходим в настройки виртуалки, и проверяем следующее:
Сеть должна быть за NAT'ом.
Далее идем в Параметры загрузки. Ставим галочку, напротив нашего "NIC:57:06:7a" сетевого адаптера. И "стрелкой вверх" переводим его в верхнее положение.
Тем самым мы включили загрузку виртуалки (нашего клиента) по сети. Первым, будет идти загрузка по сети.
Сохраняем все наши переделки. И запускаем клиента.
Когда появится меню iPXE, быстро нажимаем Ctrl+B
У нас будет консоль iPXE. Вводим туда следующие данные:
ifconf
Это поднимет сеть, и адаптер получит ip адрес из диапазона 192.168.122.0/24.
Далее:
kernel http://192.168.122.2:8000/ISO/vmlinuz0 initrd http://192.168.122.2:8000/ISO/initrd0.img imgargs vmlinuz0 systemd.unit=anaconda.target root=live:http://192.168.122.2:8000/ISO/LiveOS/squashfs.img inst.text inst.ks=http://192.168.122.2:8000/a.ks boot
где команда: imgargs это параметры ядра для загрузки
Установка Rosa Linux
После команды boot начнется установка системы по кистарт сценарию в текстовом режиме.
Надо ждать, пока установится. После установки система сама перезагрузится.
Установка прошла успешно, новая система установилась и загрузилась.