Как сделать выбор изображения BSDP NetBoot из сценария на OS X 10.9 +?

Фон: BSDP является протоколом Apple, используемым, чтобы обнаружить и сделать выборы на серверах NetBoot в сети (Чтобы не быть перепутанным с начальной загрузкой PC-style PXE). спецификации (документ в формате Word). Длинная короткая история - это - протокол, который находится выше DHCP, использование СООБЩАЮТ сообщениям для передачи информации между клиентом и сервером.

Я должен автоматизировать среду, где тестовые машины будут загружать различные загрузочные образы в сети. Самый простой путь (для меня), чтобы сделать это должно выполнить выбор загрузочного образа из сценария, работающего на клиенте. Это от представления сервера и сети, эквивалентного выбору загрузочного образа в Установках системы-> Загрузочный диск

Я нашел ссылки на bsdpc, старую утилиту от Apple, которая больше не является частью никакой стандартной установки OS X или Серверной версией / пакет, который я мог достать. Его источник доступен от Apple здесь, но код не создает использование стандартного SDK, и я не могу найти информацию, относительно которой библиотеки/версии необходимы для создания его успешно.

Кто-либо может предложить легкое решение? В этой точке я не уверен, если попытка заставить источник Apple компилировать на самом деле легче, чем запись клиента с нуля.

3
задан 7 January 2015 в 17:41
1 ответ

Отказ от ответственности: Я не тестировал это, и в основном это это обсуждение нации JAMF , с некоторыми дополнительными примечаниями из старой статьи AFP548 .

Вы должны использовать команду благословение (которая является частью стандартной установки OS X). Простой формат настройки NetBoot:

sudo bless --netboot --server bsdp://${ipAddress}

... но, к сожалению, он настраивает только адрес для отправки BSDP-запросов; если у вас более одного NetBoot-образа, обслуживаемого с одного и того же сервера, он не позволяет указать, какой из них использовать. (Я думаю, он будет использовать то, что определено по умолчанию в настройках сервера). Очевидный способ указать конкретный образ - по его ID номеру образа... но я не могу найти способа установить это на клиенте.

Что вы можете сделать, так это полностью обойти BSDP и сказать клиенту, где получить реальные загрузочные ресурсы (т.е. дать ему информацию, которую он обычно получает в ответе BSDP):

bless --verbose --netboot \
    --booter "tftp://${ipAddress}/NetBoot/NetBootSP0/${nbiName}/i386/booter" \
    --kernelcache "tftp://${ipAddress}/NetBoot/NetBootSP0/${nbiName}/i386/x86_64/kernelcache" \
    --options "rp=nfs:${ipAddress}:/private/tftpboot/NetBoot/NetBootSP0:${nbiName}/${dmgName}"

Обратите внимание, что последняя команда предполагает, что вы загружаете 64-разрядное ядро (все 10. 9 прилагается), это настоящий образ NetBoot (т.е. не NetInstall или NetRestore), и что вы обслуживаете его по nfs, а не по HTTP (моя рекомендация; я продолжаю сталкиваться с проблемами с образами, обслуживаемыми по HTTP, несмотря на то, что Apple сделала это по умолчанию несколько версий назад). Если вам нужен другой вариант, проверьте ссылку JAMF Nation на наличие дополнительных опций и/или попробуйте настроить одного клиента вручную, а затем воспользуйтесь nvram -p, чтобы посмотреть, какие настройки прошивки получились сырыми (см. ссылку AFP548).

.
1
ответ дан 3 December 2019 в 07:27

Теги

Похожие вопросы