Установка Rosa по сети (PXE) в QEMU (Virt-Manager) — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
Строка 82: Строка 82:
 
  cd ~/web
 
  cd ~/web
 
  python3 -m http.server (запускаем http-сервер из папки)
 
  python3 -m http.server (запускаем http-сервер из папки)
 +
 +
[[Файл:Qpxe11.png|500px]]
  
 
Сервер будет работать по вашему ip адресу 192.168.122.2 на порту 8000
 
Сервер будет работать по вашему ip адресу 192.168.122.2 на порту 8000
Строка 92: Строка 94:
  
 
<gallery>
 
<gallery>
[[Файл:Qpxe3.png]]
+
Файл:Qpxe3.png
[[Файл:Qpxe4.png]]
+
Файл:Qpxe4.png
[[Файл:Qpxe5.png]]
+
Файл:Qpxe5.png
[[Файл:Qpxe6.png]]
+
Файл:Qpxe6.png
[[Файл:Qpxe7.png]]
+
Файл:Qpxe7.png
 
</gallery>
 
</gallery>
  
Строка 114: Строка 116:
 
Сохраняем все наши переделки. И запускаем клиента.
 
Сохраняем все наши переделки. И запускаем клиента.
  
 +
[[Файл:Qpxe10.png|500px]]
 +
 +
Когда появится меню 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 vmlinux0 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
  
 +
[[Файл:Qpxe12.png|500px]]
  
 
== Установка Rosa Linux ==
 
== Установка Rosa Linux ==

Версия 11:38, 29 марта 2023

Настройка сервера PXE

Для установки Rosa Linux по сети (PXE) в среде Qemu нам понадобится:

  1. Сервер Rosa
  2. Образ Rosa Linux, который будет ставится на клиенте

Ставим стандартными шагами Rosa сервер. Для примера, при установке сервера создадим пользовтеля user.

Загружаем сервер, входим под user, и скачиваем (в нашем примере) образ ROSA_2021.1_GNOME_X86_64_46122.iso в домашнюю папку пользователя.

Далее нам надо установить несколько компонентов:

dnf install tftp-server syslinux

Сеть на сервере в Qemu должна быть за NAT. Обычно это настраивается в параметрах Qemu сервера.

Qpxe1.png

Проверяем 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

Перезапускаем сервер или рестартим сеть.

Qpxe2.png

От пользователя 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-сервер из папки)

Qpxe11.png

Сервер будет работать по вашему ip адресу 192.168.122.2 на порту 8000

На это этапе настройка PXE сервера закончена.

Настрокйка iPXE клиента

Открываем Virt-Manager, создаем новую виртуалку:

Новая виртуалка запустится автоматом. Выключаем ее. Заходим в настройки виртуалки, и проверяем следующее:

Qpxe8.png

Сеть должна быть за NAT'ом.

Далее идем в Параметры загрузки. Ставим галочку, напротив нашего "NIC:57:06:7a" сетевого адаптера. И "стрелкой вверх" переводим его в верхнее положение.

Qpxe9.png

Тем самым мы включили загрузку виртуалки (нашего клиента) по сети. Первым, будет идти загрузка по сети.

Сохраняем все наши переделки. И запускаем клиента.

Qpxe10.png

Когда появится меню 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 vmlinux0 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

Qpxe12.png

Установка Rosa Linux