Этот HOWTO описывает шаги, необходимые для запуска установки Ubuntu через сеть. Это полезно, например, если у Вас старый компьютер, на котором нельзя загрузиться с CD-ROM (перевод статьи [1]).
Примечание: для обоих вариантов установки, через netboot и с CD, любой релиз Ubuntu более новый, чем 6.06, на многих машинах SPARC не сможет установиться с сообщением "Fast Data Access MMU miss". Netboot потерпит неудачу после загрузки A00000 байт. Причина этого в том, что SPARC выделяет только около 4 MB для ядра при загрузке, и initrd превышает этот размер.
Если у Вас есть оптический привод с возможностью загрузки с него, то найдите и скачайте образ "minimal CD" [2]. Этот загрузочный CD значительно упростит установку, так что для установки Ubuntu дополнительно понадобится только сетевое подключение к Интернет. Т. е. на компьютере должна быть сетевая карта, подключенная к роутеру, имеющему выход в Интернет. На роутере должен быть настроен DHCP, автоматически передающий необходимые настройки сети (адрес IP, маска, адрес шлюза, адреса DNS).
Альтернативные инструкции по установке см. в статье Installation/QuickNetboot site:ubuntu.com. Также см. статью Installation/NetbootInstallFromInternet site:ubuntu.com для другого (упрощенного) метода установки. Он подразумевает, что Grub у Вас уже установлен, и не нужно конфигурировать сервер DHCP или TFTP.
Также см. There are three ways to install MAAS site:docs.maas.io, где даны инструкции по установке сервера MAAS. Сервер MAAS позволяет развернуть систему Ubuntu через netboot.
Вводные замечания. Здесь приведен пример установки на старом компьютере с процессором Celeron 420 МГц, где нет загрузочного CD-ROM, но есть floppy-дисковод, позволяющий выполнить начальную загрузку. Также Вы должны поменять имена хостов (сервер DHCP носит имя roo, а компьютер, где устанавливается Ubuntu, именуется kanga) и IP-адреса из этого руководства, чтобы они подходили к Вашим конкретным условиям. Не обязательно использовать именно такие серверы DHCP и TFTP, которые здесь упомянуты. Показаны общие принципы настройки, которые применимы и к другим серверам DHCP и TFTP. Как использовать серверы DHCP и TFTP на платформе Windows, см. в статью [3]. Здесь описан процесс, связанный с ручным запуском установщика Ubuntu; если нужна не обслуживаемая установка Ubuntu, см. статью [4].
Начальные условия: IP-адрес компьютера, на котором осуществляется установка, 172.31.0.242). На этом компьютере есть загрузочный floppy-дисковод. Также есть сервер DHCP с адресом 172.31.0.252, на котором в качестве сервера DHCP работает dnsmasq (это компьютер с операционной системой Linux). В качестве сервера TFTP добавлен tftp-hpa (установка tftp на Ubuntu или Debian детально описана далее). Поддержка tftp, предоставляемая dnsmasq, достаточна для netboot, однако в этом примере используется отдельный демон tftp.
[Настройка DHCP-BOOT]
На сервере DHCP выполните следующие шаги:
1. Добавьте следующую строку в конфигурационный файл /etc/dnsmasq.conf:
dhcp-boot=pxelinux.0,roo,172.31.0.252
Эта машина уже предоставила IP-адрес для kanga через DHCP (см. ниже "Замечания по DHCP", где есть подсказка по настройке DHCP для выдачи IP-адреса).
2. Перезапустите сервис dnsmasq:
/etc/init.d/dnsmasq restart
3. Установите сервер TFTP. Есть две разные версии сервера Trivial File Transfer Protocol, оригинальный tftpd и tftpd-hpa. Для установки Etherboot (см. ниже) возможностей tftpd достаточно, однако с ним нельзя добиться PXE-установки из-за отсутствия опции tsize. Вместо него нужно использовать tftpd-hpa. На Ubuntu или Debian для его установки выполните команду (может отличаться от других дистрибутивов или для установки из исходного кода):
apt-get install tftpd-hpa tftp-hpa xinetd
Примечание: xinetd не является частью установки по умолчанию.
Загрузите подходящий файл архива netboot.tar.gz по ссылке http://cdimage.ubuntu.com/netboot/, распакуйте файлы netboot в подходящий каталог, например /var/lib/tftpboot.
tar -xvzf netboot.tar.gz -C /var/lib/tftpboot/
chown -R nobody:nogroup /var/lib/tftpboot
4. Перезапустите xinetd:
killall -HUP xinetd
5. Если Ваш целевой PC kanga может загрузиться через сеть (сетевая карта и настройки BIOS дают такую возможность):
- Перезагрузите kanga. - Прервите загрузку и войдите в настройки BIOS. - Выберите опцию 'Network Boot'. - Возобновите загрузку. Инсталлятор Marvel Ubuntu запустится через сеть.
Предупреждение: после завершения установки в следующий раз не забудьте вернуть в BIOS загрузку с жесткого диска.
Если Ваш целевой PC kanga не может загрузиться через сеть, то нужно создать загрузочный floppy-диск gPXE, CD или флешку USB. Подробные инструкции по gPXE см. в статье [4].
- Загрузите kanga с gPXE boot media. - Инсталлятор Marvel Ubuntu запустится через сеть.
[Замечания по DHCP]
Для машин, находящихся в сети за роутером, раздающим IP-адреса по DHCP, при использовании метода загрузки etherboot floppy автоматическое детектирование серверов DHCP и TFTP может привести к тому, что они по умолчанию получат настройки от роутера. Ниже описан метод обхода этой проблемы, где целевой компьютер kanga и сервер roo предыдущего примера используют свои IP-адреса и настройки. После распаковки tarball для Etherboot, можно для него добавить следующие строки в файл Config распакованной директории src/:
Затем запуск соответствующей команды make для интерфейса целевой машины создаст загружаемый floppy, который будет подключаться только к выбранному серверу. При использовании статических адресов сервер DHCP и dnsmasq не нужны. См. также [4].
Другой вариант решения проблемы двух серверов DHCP сети (роутер, раздающий Интернет и DHCP, имеет IP-адрес 192.168.0.1):
- Настройте на roo статический IP 192.168.0.103. - Временно остановите DHCP-сервер на роутере. - В файл /etc/dnsmasq.conf на roo добавьте строки:
Последняя строка настраивает для kanga адрес шлюза по умолчанию (gateway, IP-адрес роутера).
Если на целевом компьютере есть несколько сетевых интерфейсов (например, это ноут, на котором имеется проводное и беспроводное подключение Ethernet), инсталлятор может выбрать неправильный интерфейс для загрузки компонентов инсталлятора. Вы можете управлять этим путем указания параметра загрузки "netcfg/choose_interface". Например, для опции инсталляции по умолчанию с указанием интерфейса eth1: install netcfg/choose_interface=eth1.
[Ссылки]
1. Installation/Netboot site:ubuntu.com. 2. Installation/MinimalCD site:ubuntu.com. 3. Installation/WindowsServerNetboot site:ubuntu.com. 4. Installation/LocalNet site:ubuntu.com. 5. How to deploy gPXE site:etherboot.org. 6. Сетевая установка Ubuntu. 7. 190716NetBoot.zip - ISO-образы NetBoot для Ubuntu 9.04 (Jaunty Jackalope) и Ubuntu 9.10 (Karmic Koala).