Внимание: несмотря на то, что этот способ может подойти вам, он очень непродуктивен и неэффективен. Чтобы настроить корневую файловую систему для клиентов, читайте "Мини-HOWTO: Корневые файловые системы NFS клиентов на сервере " автора Ofer Maor .
После того, как вы решите, куда поместить корневое дерево, создайте его (например) командой mkdir -p , а затем запустите команду tar cClf / - | tar xpCf -.
Если вы собираетесь загружать ваше ядро без LILO, тогда корневой каталог должен быть следующим: /tftpboot/. Если вас такой каталог не устраивает, вы можете изменить его в основном файле Makefile исходных текстов ядра; найдите там строку вида: NFS_ROOT = NFS_ROOT = -DNFS_ROOT="\"/tftpboot/%s\"" После изменения этой строки пересоберите ядро.
Изменения в корневой файловой системе
Удалите ненужные файлы и проверьте скрипты в каталоге /etc/rc.d. Некоторые важные замечания:
Самая важная вещь - настройка eth0. Рабочая станция должна иметь, по крайней мере, частично настроенный интерфейс eth0. Устанавливать IP-адрес рабочей станции равным IP-адресу сервера - не самое умное решение. (Так однажды случилось с автором в его ранних попытках)
Второй пункт, на который нужно обратить внимание - это файл /etc/fstab. Там нужно указать все необходимые настройки файловых систем nfs.
ВНИМАНИЕ: Не путайте корневые файловые системы сервера и рабочей станции. (Я исправил файл rc.inet1 сервера и долго удивлялся, почему рабочая станция все еще не работает)
Экспортирование файловой системы
Экспортируйте корневой каталог сервера рабочей станции. Смотрите exports(5). Скорее всего, после этого вам придется перезапустить nfsd/mountd. В дистрибутиве RedHat это можно просто проделать командами /etc/rc.d/init.d/nfs stop ; /etc/rc.d/init.d/nfs start .
Настройте RARP где-нибудь в сети. Если вы загружаете ядро без параметра nfsroot, то RARP-сервер должен быть NFS-сервером. Обычно так и бывает. Для этого в ядро должна быть встроена поддержка RARP.
Для включения RARP выполните команду (и впишите ее в соответствующий скрипт в каталоге /etc/rc.d: