Ubuntu: установка с помощью Netboot Печать
Добавил(а) microsin   

Этот 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 не является частью установки по умолчанию.

Установите инсталляционный CD в привод. Скопируйте файлы netboot в подходящий каталог, например /var/lib/tftpboot.

Загрузите подходящий файл архива 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/:

CFLAGS+=    -DUSE_STATIC_BOOT_INFO
CFLAGS+=    -DSTATIC_CLIENT_IP=\"172.31.0.242\"
CFLAGS+=    -DSTATIC_SUBNET_MASK=\"255.255.255.0\"
CFLAGS+=    -DSTATIC_SERVER_IP=\"172.31.0.252\"
CFLAGS+=    -DSTATIC_GATEWAY_IP=\"172.31.0.252\"
CFLAGS+=    -DSTATIC_BOOTFILE=\"tftp://172.31.0.252/pxelinux.0\"

Затем запуск соответствующей команды make для интерфейса целевой машины создаст загружаемый floppy, который будет подключаться только к выбранному серверу. При использовании статических адресов сервер DHCP и dnsmasq не нужны. См. также [4].

Другой вариант решения проблемы двух серверов DHCP сети (роутер, раздающий Интернет и DHCP, имеет IP-адрес 192.168.0.1):

- Настройте на roo статический IP 192.168.0.103.
- Временно остановите DHCP-сервер на роутере.
- В файл /etc/dnsmasq.conf на roo добавьте строки:

dhcp-boot=pxelinux.0,jhome,192.168.0.103
dhcp-range=192.168.0.5,192.168.0.99,12h
dhcp-option=3,192.168.0.1

Последняя строка настраивает для 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).