Prendendo a antiga máquina de compilação do FreeBSD no FreeBSD moderno

Prendendo a antiga máquina de compilação do FreeBSD no FreeBSD moderno

Temos sistemas de compilação do FreeBSD muito antigos (6.3) que usamos para manter a compatibilidade retroativa com as bibliotecas do sistema para nossos binários proprietários e evitar compilar em cada versão do FreeBSD.

Pergunta: É tecnicamente possível instalar um FreeBSD 11.x novo e prender o sistema antigo nele? Ou haverá problemas devido a chamadas de sistema incompatíveis?

Acho que devo lembrar algumas mudanças - supostamente significativas - na interface do kernel em relação ao tamanho time_tou algo assim. Existem alterações que quebrariam os binários antigos que dependem do antigo syscall ou isso afetaria apenas os binários recém-construídos/vinculados que estão vinculados ao novo syscall (correspondente)?

Responder1

Acho que bhyve é seu primeiro recurso, não o último. Se você prender seu ambiente de construção, estará testando seu produto em um mundo e bibliotecas 6.3, com um kernel 11.x. Seus clientes, entretanto, estarão executando um world/libs 6.3 e um kernel 6.3.

Pode-se esperar que as diferenças entre os kernels 6.3 e 11.x aumentem com o tempo, eu imagino. Isso poderia levar a situações como aquela em que o kernel 11.x da sua jail de teste faz a coisa certa, mas o kernel 6.3 do seu cliente não e, portanto, você não pode reproduzir o relatório de problemas do seu cliente.

IMO, bhyve é a melhor ferramenta para este trabalho.

informação relacionada