четверг, 5 сентября 2013 г.

Windows + tftpd32 + PXE = Установка Fedora 19 через интернет

Fedora 19 - Установка через интернет по сети ( PXE Boot ) из системы Windows
Случалось так что требуется установить Linux на устройство по средством сетевой карты ( технология pxe). 
Для этого нам понадобиться:
  1. Компьютер под управлением MS Windows с доступом в Интернет 
  2. Программа TFTPD32
  3. Несколько файлов из набора syslinux и естественно образы INITRD.IMG и VMLINUZ это файлы для 32 разрядной системы, можете скачать другие тут
И так представим что компьютер подключен к сети интернет через роутер:

В данной схеме сеть работает так:
Computer #1 - Это компьютер на который необходимо установить Linux
Computer #2 - Это компьютер с Windows с него и будет происходить установка

Router - раздает интернет и IP адреса в диапазоне к примеру 192.168.1.X по 192.168.1.X
на компьютере с ОС Windows присвоим вручную ip адрес: 192.168.1.200 (во избежании разных нелепых ситуаций).
Далее устанавливаем программу tftpd32. Создадим папку к примеру C:\pxeboot и распакуем туда содержимое архива. Запустим файл tftpd32.exe и настроем программу следующим образом:

http://alexprays.blogspot.com
Главное окно
http://alexprays.blogspot.com
Окно настроек


http://alexprays.blogspot.com
Настройки TFTP
http://alexprays.blogspot.com
Настройки DHCP
На этом настройка программы закончена. Дальше нам необходимы файлы для загрузки linux по сети. Можете не утруждаться и скачать мой готовый архив, с уже настроенной программой, и всеми необходимыми файлами. Вот он






Объясню почему именно такие настройки DHCP. По скольку подключение осуществлено по средствам роутера, нужно задать IP адреса такие же какие раздает сам роутер. 
Очень Важно и то что бы указать DNS адрес ОБЯЗАТЕЛЬНО. Так как репозитории в дальнейшем, будут искаться по доменным именам.
Так же необходимо (при включенном брандмауэре) добавить программу tftpd32 в разрешающие правила или просто добавить разрешение на порт 69 именно по нему работает программа.
Если вы подключены напрямую по сетевому кабелю ( одна сетевая карта ) то ничего не выйдет. Можно будет лишь сделать локальное зеркало установки на машине с windows и настроить еще и сервер http или ftp и устанавливаться с него, но это уже совсем другая история.

Вот список файлов который будет необходим:

  1. pxelinux.0 из пакета syslinux
  2. initrd.img - сжатая файловая система из дистрибутива который вы хотите установить в моем случае Fedora 19
  3. vmlinuz - ядро linux в моем случае Fedora 19
Это основные файлы для установки но если хотите для удобства можно создать графическое меню и тогда понадеяться еще несколько файлов из пакета SYSLINUX:
  1. ldlinux.c32 
  2. libcom32.c32 
  3. libutil.c32
  4. vesamenu.c32
Все эти файлы кидаем в папку с программой tftpd32 в моем случае C:\pxeboot в ней же создаем директорию pxelinux.cfg да да! именно так и назовем. Заходим в нее и уже в ней создаем файл default без расширения. Это файл меню загрузчика pxelinux.0 вот его пример: default

Теперь включаем компьютер, на который будем устанавливать Linux и выберем режим загрузки PXE или LAN boot в BIOS. ( убедившись что сетевой кабель подключен )
Время установки зависит от скорости интернет соединения ( ширина канала ) и от количества устанавливаемых программ.

Пример работы моего архива ( установка на VirtualBOX )