Яндекс.Метрика

суббота, 25 июня 2011 г.

Загрузка по сети Ubuntu

Статья не закончена.

Задача. Раздать из Ubuntu 11.04 такую же Ubuntu 11.04.

Поставим isc-dhcp-server, tftpd-hpa и nfs-kernel-server:

sudo apt-get install isc-dhcp-server tftpd-hpa nfs-kernel-server syslinux

Сервер tftp раздает файл загрузчик pxelinux.0 (который нужно положить в /var/lib/tftpboot/) — программу, которая загружает следующие необходимые файлы по-умолчанию из /var/lib/tftpboot/: конфигурационный файл, ядро и начальный образ файловой системы.

Установка syslinux тащит за собой syslinux-common, который устанавливает /usr/lib/syslinux/pxelinux.0, файл pxelinux.0 нужно как раз положить в /var/lib/tftpboot/

В /var/lib/tftpboot также должны лежать ядро раздаваемой системы vmlinuz и образ файловой системы initrd.img. Точнее ядро системы называется, например, так vmlinuz-2.6.38-8-generic, а образ ФС initrd.img-2.6.38-8-generic, а vmlinuz — ссылка на vmlinuz-2.6.38-8-generic, а initrd.img — ссылка на initrd.img-2.6.38-8-generic, которые лежат все в одном каталоге.

Так как мы из Ubuntu раздаем саму Ubuntu, то образ vmlinuz можно скопировать именно из /boot/vmlinuz-2.6.38-8-generic, и образ ФС оттуда же /boot/initrd.img-2.6.38-8-generic.

pxelinux.0 загружает файлики из /var/lib/tftpboot/pxelinux.cfg/

Там должен лежать файл default  с настройками, у меня он выглядит так:

LABEL linux
KERNEL vmlinuz
APPEND root=/dev/nfs initrd=initrd.img nfsroot=10.0.0.15:/usr/diskless/month ip=dhcp rw

Видно, что в нем указывается ip-адрес компьютера, откуда грузится система, а также каталог, где лежит ФС загружаемой по сети системы /usr/diskless/month (month — это потому что мои компьютеры все называются по именам месяцев).

Далее создадим саму папку /usr/diskless/month, куда будем класть всю новую систему. Этот путь нужно прописать в /etc/exports:

/usr/diskless/month 10.0.0.0/255.255.255.0(rw,no_subtree_check,async,no_root_squash)

Поставим debootstrap и запустим его
sudo debootstrap --arch i386 natty /usr/diskless/month/ http://mirror.yandex.ru/ubuntu
Он скачивает из указанного репозитория минимальный набор пакетов и устанавливает их в указанную папку.

Нужно поправить fstab раздаваемой системы: /usr/diskless/month/etc/fstab


proc        /proc        proc    defaults    0    0
tmpfs        /var/run    tmpfs    defaults,size=512k    0    0
/dev/nfs    /        nfs    defaults    0    0
none        /tmp        tmpfs    defaults    0    0
none        /var/lock    tmpfs    defaults    0    0
none        /var/tmp    tmpfs    defaults    0    0
none        /media        tmpfs    defaults    0    0
none        /var/log    tmpfs    defaults    0    0

2 комментария:

  1. ЗАКОНЧИТЕ СТАЮ!!!!!!!!!!!!!!!!!!!! ПРОШУ УМАЛЯЮ!!!!!

    ОтветитьУдалить
    Ответы
    1. Вообще она для довольно старой убунты, а что у вас не получается?

      Удалить