Инсталляция на систему без использования монитора.

Описание

Данное описание покажет Вам, как внести изменения в загрузочную часть диска, чтобы при запуске программы установки происходил запуск VNC сервера для подключения к нему VNC клиента. Задача этого нового загрузочного диска проста --> возможность установить вторую систему CentOS без необходимости подключения клавиатуры / мыши / монитора. Просто подключите питание и сетевой кабель и вперед (если система будет загружаться с CD).

ISO прошедшие тестирование

Я лично сделал это со следующими ISO:

  • CentOS 4.2 Server CD
  • CentOS 5.1/5.2 netboot
  • CentOS 5.2 CD
  • CentOS 5.3 DVD

Замечание - я не вижу причин того, что один из ISO образов работать не будет, просто здесь перечислено то, что было проверено на себе.

Загрузка ISO

Первое, что Вам нужно, это один из ISO файлов с CentOS зеркала. С этого момента я буду сылку на загружаемый ISO именовать как "centos.iso" независимо от того какой именно Вы скачивали.

 

  • Скачать Centos.iso в домашнюю папку.

 

# cd /home/yourDirectory
# wget http://dom.com/path/to/centos.iso

 

Монтирование ISO и подготовка его для редактирования

Сейчас мы смонтируем загруженный centos.iso для того, чтобы скопировать файлы в нашу файловую систему и сделать необходимые изменения.

- Выполнените нижеприведенные команды для извлечения ISO файлов на вашем жестком диске:

 

# mount -oloop centos.iso /mnt
# mkdir /tmp/installDisk
# cp -a /mnt/* /tmp/installDisk/
# cp /mnt/.* /tmp/installDisk/
# cd /tmp/installDisk

 

Редактирование isolinux.cfg

Теперь, когда у нас есть файлы, скопированные на наш диск из ISO, мы должны внести изменения в файл "isolinux.cfg". Мы отредактируем "boot options", которые передаются при установке с компакт диска в начале инсталяции.

- Откройте файл в любом вашем любимом редакторе:

 

# vi isolinux/isolinux.cfg

 

или

 

# nano isolinux/isolinux.cfg

 

 

В настоящий момент этот файл выглядит так:

 

 

default linux
prompt 1
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
F7 snake.msg
label linux
  kernel vmlinuz
  append initrd=initrd.img ramdisk_size=8192
label text
  kernel vmlinuz
  append initrd=initrd.img text ramdisk_size=8192
label expert
  kernel vmlinuz
  append expert initrd=initrd.img ramdisk_size=8192
label ks
  kernel vmlinuz
  append ks initrd=initrd.img ramdisk_size=8192
label lowres
  kernel vmlinuz
  append initrd=initrd.img lowres ramdisk_size=8192
label local
  localboot 1
label memtest86
  kernel memtest
  append -

 

-Чтобы использовать различные настройки его необходимо изменить. Основными изменениями будут:

  • * promt
  • * timeout
  • * append line under the "label linux"

 

Замечание

 

Внесение изменений в файл для установочного CD/DVD (при использовании DHCP):

 

default linux
prompt 0
timeout 0
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
F7 snake.msg
label linux
  kernel vmlinuz
  append initrd=initrd.img ramdisk_size=8192 vnc vncconnect=192.168.0.100 headless ip=dhcp ksdevice=eth0 method=cdrom lang=en_US keymap=us
label text
  kernel vmlinuz
  append initrd=initrd.img text ramdisk_size=8192
label expert
  kernel vmlinuz
  append expert initrd=initrd.img ramdisk_size=8192
label ks
  kernel vmlinuz
  append ks initrd=initrd.img ramdisk_size=8192
label lowres
  kernel vmlinuz
  append initrd=initrd.img lowres ramdisk_size=8192
label local
  localboot 1
label memtest86
  kernel memtest
  append -

 

Если у Вас нет DHCP-сервера, то ниже приведен пример изменений в файле для CD/DVD (для статических параметров сети).

Внимание - не забудьте изменить настройки (IP, маску подсети, адрес шлюза, DNS и т.д) для вашей сети.

 

Внесение изменений в файл для установочного CD/DVD (при статических параметрах сети):

 

 

default linux
prompt 0
timeout 0
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
F7 snake.msg
label linux
  kernel vmlinuz
  append initrd=initrd.img ramdisk_size=8192 vnc vncconnect=192.168.0.100 headless ip=192.168.0.10 gateway=192.168.0.254 
netmask=255.255.255.0 dns=192.168.0.254 ksdevice=eth0 method=cdrom lang=en_US keymap=us
label text
  kernel vmlinuz
  append initrd=initrd.img text ramdisk_size=8192
label expert
  kernel vmlinuz
  append expert initrd=initrd.img ramdisk_size=8192
label ks
  kernel vmlinuz
  append ks initrd=initrd.img ramdisk_size=8192
label lowres
  kernel vmlinuz
  append initrd=initrd.img lowres ramdisk_size=8192
label local
  localboot 1
label memtest86
  kernel memtest
  append -

 

 

Для Netboot CD (с использованием DHCP)

Внимание - Нам необходимо указать URL, чтобы получить установочные файлы. Здесь есть несколько незначительных отличий от версии с обычным CD.

 

default linux
prompt 0timeout 0
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
F7 snake.msg
label linux
  kernel vmlinuz
  append initrd=initrd.img ramdisk_size=8192 vnc vncconnect=192.168.0.100 headless ip=dhcp ksdevice=eth0 
method=http://mirror.centos.org/centos/5.2/os/i386 lang=en_US keymap=us
label text
  kernel vmlinuz
  append initrd=initrd.img text ramdisk_size=8192
label expert
  kernel vmlinuz
  append expert initrd=initrd.img ramdisk_size=8192
label ks
  kernel vmlinuz
  append ks initrd=initrd.img ramdisk_size=8192
label lowres
  kernel vmlinuz
  append initrd=initrd.img lowres ramdisk_size=8192
label local
  localboot 1
label memtest86
  kernel memtest
  append -

 

Примечание - Может быть более правильным (мудрым) решением будет - иметь локальный источник установки (в вашей внутренней локальной сети).

Внимание - Вы можете объединить статический пример с netboot примером, сделав версию не требующую DHCP сервер.

 

  • Убедитесь в правильности и сохраните изменения в вашем файле.

Как видите я изменил несколько незначительных параметров, как promt и timeout на "0". Это сделано для того, что я не хочу делать какие либо действия на клавиатуре и не смогу видеть экран. Этот диск для установки с помощью VNC. Еще был изменен стандартный вариант загрузки.Теперь добавлен вариант загрузки в котором по умолчанию инициализировано VNC соединение с клиентской частью по адресу "192.168.0.100". Очевидно что адрес сети можно изменить в соответствии с потребностями.Существует VNC параметр, как пароль,который может быть передан (в загрузочной опции). Вы можете установить пароль на VNC-сервер, но для локальной сети под защитой брандмауэра это не актуально. Другая опция это передача необходимых параметров при инсталляции, которые по умолчанию предостовляются автоматически - иначе будет предложен вариант выбрать их, а у нас нет клавиатуры и монитора. Поэто мы передаем дополнительную информацию здесь.

-Получить разрешение на исправления можно командой...

 

 

# chmod u+w isolinux/*

 

Создать новый ISO

Теперь мы собираемся сделать новый образ ISO, чтобы нарезать новый диск.

Примечание - мое последнее ISO названо "vncCentOS.iso" - Вы можете назвать подругому.

 

# mkisofs -o ../vncCentOS.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 
                                  -boot-info-table -R -J -v -T .

 

Отключение проверки диска

Нам необходимо убрать проверку диска (media check), в противном случае процесс инсталяции никогда не начнется.

-Проверте установлен ли пакет anaconda runtime.

 

# yum list | grep anaconda-runtime

 

Вывод YUM должен сказать вам, установлен ли он.

- Если он не установлен, то выполните:

 

# yum install anaconda-runtime

 

Теперь к инструменту. Он называется "implantisomd5" (внедрение контрольной суммы md5 в образ). Эта программа устанавливается в "/usr/lib/anaconda-runtime/". Примечание: в CentOS 6 она установлена в “/usr/bin/implantisomd5”.

-Отключение проверки диска:

 

# /usr/lib/anaconda-runtime/./implantisomd5 --supported-iso ../vncCentOS.iso

 

- в CentOS 6

# /usr/bin/implantisomd5 --supported-iso ../vncCentOS.iso

 

Внимание - Если вы назвали вашу систему по другому, то необходимо изменить вышеприведенную команду.

- Запишите ISO образ любой программой для прожига CD.

- Запустите VNC клиента (на вашей машине) в режим прослушивания.

- Запустите машину на которой вы хотите произвести инсталляцию, вставте в нее диск и произведите установку как обычно.

Надеюсь, это поможет.

Внимание - В первый раз протестируйте ваш установочный диск при подключенном мониторе, поскольку мы отключили проверку диска.

Примечание - VNC серверу может потребоваться немного времени (1..5 минут) для поднятия соединения с клиентом.

Автор: Александр