Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
FreeBSD - загрузка сценариев установки по NFS 12.06.08 09:07 Число просмотров: 1642
Автор: J'JF <Dmytro Volhushyn> Статус: Elderman
|
Итак, имеем:
- куча рабочих станций на FreeBSD (допустим, RELENG_7_0, не суть важно) с несколько разными параметрами, как то: материнки, имена дисковых устройств, способы разбиения дисков, набор устанавливаемых пакетов и т.п.;
- серевер для установки по сети операционной системы на вышеописанные рабочие станции (полностью настроен и работает - dhcp, pxeboot по tftp, установка по nfs).
Что нужно:
- манипуляция инсталляционными сценариями (пункт "Load Config" в sysinstall) для выбора сценария, "заточенного" для конкретной рабочей станции. При этом требуется, чтобы сами сценарии размещались на том же NFS-сервере, с которого устанавливается ОС.
Суть проблемы заключается в том, что за загрузку сценариев в sysinstall отвечает функция dispatch_load_floppy, описанная в
/usr/src/usr.sbin/sysinstall/dispatch.c
Функция жестко привязана к флопику (принудительно вызывается mediaSetFloppy). В принципе, путь решения понятен - заменить MEDIA_TYPE_FLOPPY на MEDIA_TYPE_NFS. Я сделал это путем выкусывания из исходников функции mediaSetFloppy и подмене ее функцией mediaSetNFS (все равно флопов у меня нет нигде, толку с этого legacy-кода - ноль).
Все собирается без ошибок, залил модифицированный sysinstall в mfsroot (естественно, собирать нужно с LDFLAGS="-static", иначе затолкать в mfsroot его будет слишком геморройно), после чего вызываемый диалог стал действительно обращаться к NFS. Проблема возникла, как говорится, откуда не ждали - сценарий на сервере не обнаруживается, хотя он совершенно точно лежит там, куда указывает значение переменной cp в этих исходниках (кто поковыряется в коде - поймет, о чем я). Возможно, проблема в том, что с NFS нужно работать несколько иначе, чем с floppy, однако как это реализовать в виде кода мне не очень понятно - я с си вообще не дружу. Точнее, подправить что-то могу, а вот написать - нихт :(
В связи с этим вопрос - может быть кто-то уже сталкивался с подобным? Ковырялся в исходниках? Или может быть есть какая-то замена этому древнему sysinstall, имеющая нужный мне функционал? Или вообще что-то иное посоветуете?
|
- FreeBSD - загрузка сценариев установки по NFS - J'JF 12.06.08 09:07 [1642]
|
|
|