У нас очень старые системы сборки FreeBSD (6.3), которые мы используем для поддержания обратной совместимости с системными библиотеками для наших фирменных двоичных файлов и избегания сборки на каждой версии FreeBSD.
Вопрос: Возможно ли технически установить свежий FreeBSD 11.x и заморозить на нем старую систему? Или возникнут проблемы из-за несовместимых системных вызовов?
Думаю, стоит вспомнить некоторые - якобы ломающие - изменения интерфейса ядра относительно размера time_t
или около того. Есть ли такие изменения, которые сломают старые двоичные файлы, полагающиеся на старый системный вызов, или это просто повлияет на недавно собранные/связанные двоичные файлы, которые привязаны к (соответствующему) новому системному вызову?
решение1
Я думаю, bhyve — это ваш первый выход, а не последний. Если вы закрываете свою среду сборки, то вы тестируете свой продукт на 6.3 world и библиотеках с ядром 11.x. Однако ваши клиенты будут использовать 6.3 world/libs и 6.3 kernel.
Я полагаю, что можно ожидать, что различия между ядрами 6.3 и 11.x будут со временем увеличиваться. Это может привести к ситуациям, например, когда ядро 11.x вашего тестового джейла делает то, что нужно, а ядро 6.3 вашего клиента — нет, и, следовательно, вы не сможете воспроизвести сообщение о проблеме вашего клиента.
На мой взгляд, bhyve — лучший инструмент для этой работы.