Новости
PXE це середовище завантаження комп'ютера за допомогою мережевої карти без використання локальних носіїв. Можливості застосування досить широкі: від просто початкового завантаження системи, до запуску повноцінних робочих систем без використання локального диска.
Деякий час тому автору цих рядків в руки потрапив старенький IBM ThinkCentre S51 8171 з несправним CD-приводом. З завантаженням з флешки, створеної за допомогою UNetBootin, так само виникли проблеми і залишилася остання надія: завантаження інсталятора по PXE. Далі буде коротко описаний отриманий досвід.
IBM ThinkCentre S51 8171 має дуже непогану начинку для машини 2006-го року випуску: Pentium 4 540, 2x512MB DDR, 30GB ATA HDD. Але в 2018-му вона виглядає блякло, хоча і зараз їй можна знайти безліч застосувань. Основна проблема: процесор не підтримує EMT64 і тому операційна система повинна бути обов'язково 32-бітної. На щастя Ubuntu 16.04 існує в редакції i386 і було вирішено ставити її.
Як сервер завантаження вирішено було використовувати домашній сервер під керуванням Ubuntu 16.04. Для роздачі адрес в локальній мережі використовується isc-dhcp-server. В іншому конфігурація сервера досить типова. Для створення PXE-оточення нам знадобиться TFTP -сервер. Ми будемо використовувати пакет "tftpd-hpa". Встановимо його, а так же (про всяк випадок) tftp-клієнт:
apt-get install tftpd-hpa tftp-hpaЗа замовчуванням tftpd-hpa використовує директорію "/ var / lib / tftpboot". Якщо з якоїсь причини необхідно це змінити те потрібно відповідним чином відредагувати файл "/ etc / default / tftpd-hpa" і перезапустити сервіс "tftpd-hpa". Але нас цілком влаштує конфігурація за замовчуванням.
Список доступним інсталяторів Ubuntu 16.04 для завантаження через PXE і мережевий установки можна знайти на цій сторінці . Нас цікавить архів під назвою "netboot.tar.gz" для архітектури i386. Завантажуємо і розпаковуємо його в директорію tftp-сервера:
wget http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-i386/current/images/netboot/netboot.tar.gz mkdir -p / var / lib / tftpboot / ubuntu / tar zxfv netboot.tar.gz -C / var / lib / tftpboot / ubuntu /На цьому підготовка TFTP-сервера закінчується і залишається налаштувати DHCP-сервер. Вся конфігурація зводиться до додавання рядка:
# Шлях до файлу "pxelinux.0" щодо директорії TFTP-сервера filename "ubuntu / pxelinux.0";Цей рядок можна додати в опис підмережі, групи хостів або навіть конкретного хоста. Головне щоб машина, заради якої це все робиться, отримала потрібну конфігурацію. Після цього можна включити машину і вибравши завантаження по PXE приступити до установки системи. Після завантаження інсталятора установка буде відбуватися звичайним чином, так, ніби-то була проведена завантаження з " MinimalCD ".
На цьому можна було б закінчити, але є ще цікавий момент: автоматична установка. Інсталятор Ubuntu частково підтримує формат конфігурації kickstart від RedHat Linux. Детальніше можна прочитати тут . Якщо є необхідність у використанні сценарію автоматичної установки то спочатку необхідно створити файл сценарію і розмістити його на веб-сервері в локальній мережі, потім треба трохи модифікувати файл "/ var / lib / tftpboot / ubuntu / ubuntu-installer / i386 / boot-screens / txt.cfg ":
#append vga = 788 initrd = ubuntu-installer / i386 / initrd.gz --- quiet append ks = http: //192.168.2.1/ks.cfg vga = 788 initrd = ubuntu-installer / i386 / initrd.gz - - quietТут параметр "ks =" вказує URL, за яким розташований сценарій настройки kickstart. Більш детальне вивчення цієї теми залишимо читачеві.
На цьому все. Приємної роботи!