KeyWeb
1111111111Rating 1.80 (5 Votes)
cnetos autoinstall boot menu full width
Автоустановка CentOS производится путем описания шагов в файле ответов - kickstart, в Fedora / CentOS можно воспользоваться специальной GUI утилитой - system-config-kickstart. Информацию по методам установки при помощи kickstart можно прочитать на официальном сайте, например на сайте CentOS. Основная задача - создать такой файл, разместить в удобном для себя месте - на установочном диске, web или ftp сервере (да вообще где угодно), далее данный файл необходимо указать установщику.
Указать файл можно вручную, на этапе отображения загрузочного меню установочного диска, нажать Esc в терминале ввести:
linux inst.ks=<путь к файлу kickstart>
Например:
linux inst.ks=cdrom:/dev/cdrom:/ks.cfg
Про пути и вообще последние новшества в отношении kickstart можно прочитать здесь. Далее расскажу как создать загрузочный диск (iso образ), с пунктом, после выбора которого, система будет установлена автоматически, покажу пример файла ответов, расскажу как добавить это файл в образ и указать его пункту меню загрузчика.

Пример kickstart файла

Итак пример файла ответов, который я использую для автоустановки тестовых виртуальных машин:
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8

# Network information
network  --bootproto=dhcp --device=enp0s3 --noipv6 --activate
network  --hostname=centos-test.local

# Root password
rootpw password
# System services
services --enabled="chronyd"
# System timezone
timezone Europe/Moscow --isUtc
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
autopart --type=lvm
# Partition clearing information
clearpart --all --initlabel --drives=sda
# Reboot after install
reboot --eject

%packages
@^minimal
@core
chrony
kexec-tools
%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=50 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=50 --notstrict --nochanges --notempty
pwpolicy luks --minlen=6 --minquality=50 --notstrict --nochanges --notempty
%end
В файле приведены комментарии, так что думаю все относительно понятно, в краце:
  • Указываем источник - cdrom
  • Us раскладку
  • Имя компьютера
  • Пароль для root'а
  • Таймзону
  • Метод переразметки диска (удалить все на sda, переазметить по умолчанию)
  • Перезагрузиться
  • Извлечь диск
  • Включить kdump
  • Политики паролей

Распаковка ISO образа

Образ можно примонтировать штатными средствами Linix, используя команду mount:
mount /home/User/Downloads/iso/CentOS-7-x86_64-Minimal-1611.iso /mnt/iso/
Далее файлы с диска необходимо копировать в любой каталог, например /tmp/centos_custom:
cp -rp /mnt/iso/* /tmp/centos_custom/
Примечание: папки /mnt/iso и /tmp/centos_custom необходимо предварительно создать руками

Добавление kickstart файла в образ

Далее просто копируем наш kickstart файл в корень папки centos_custom, указываем ему название ks.cfg, после добавляем пункт загрузочного меню изменив файл isolinux/isolinux.cfg, добавив в него следующие строки:

label auto
menu label ^Auto install CentOS Linux 7
kernel vmlinuz
append initrd=initrd.img inst.ks=cdrom:/dev/cdrom:/ks.cfg

Строки необходимо вставить в секцию, где расположены label по умолчанию, например сразу после раздела:

label linux
menu label ^Install CentOS Linux 7
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet

Создание ISO из папки образа

Далее необходо создать ISO образ и папки centos_custom, для этого необходимо перейти в папку с образом:
cd /tmp/centos_custom
Создать ISO в любую указанную папку:

mkisofs -o /home/User/Downloads/iso/centos-7-custom.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -V 'CentOS 7 x86_64' -boot-load-size 4 -boot-info-table -R -J -v -T .

Далее образ можно записать на диск, или например использовать в качестве установщика в виртуальной среде KVM или VirtualBox (или чем ты там пользуешься).

Автоматизация создания Kickstart образа

Да да. Я написал скрипт под названием Centos Kickstart Image Generator и выложил его на GitHub, проверенно, работает. Краткое описание скрипта:
  • Присутствует возможность указать - зеркало, релиз системы
  • Скрипт автоматически найдет минимальный образ ISO установщика и загрузит его
  • После загрузки - смонитрует ISO образ
  • Распакует в каталог
  • Подложит ks.cfg
  • Изменит меню загрузчика
  • Соберет новый ISO образ и разместит его в папке скрипта - images
Если выбрано дефолтным меню auto то параметр терминала вводимый в ручную (по Esc) работать не будет. Скрипт делает раздел меню auto дефолтным, это нужно учитывать при работе с образом!
Что еще нужно для полного счастья? ))

Добавить комментарий


Обновить
Защитный код

KeyWeb

Сейчас 60 гостей и ни одного зарегистрированного пользователя на сайте

Вверх
Вниз