Tenemos sistemas de compilación de FreeBSD muy antiguos (6.3) que utilizamos para mantener la compatibilidad con las bibliotecas del sistema para nuestros binarios propietarios y evitar compilar en todas y cada una de las versiones de FreeBSD.
Pregunta: ¿Es técnicamente posible instalar un FreeBSD 11.x nuevo y encarcelar el sistema anterior? ¿O habrá problemas debido a llamadas al sistema incompatibles?
Creo recordar algunos cambios, supuestamente importantes, de la interfaz del núcleo con respecto al tamaño de time_t
aproximadamente. ¿Existen cambios de este tipo que romperían los archivos binarios antiguos que dependen de la llamada al sistema anterior o que simplemente afectarían a los archivos binarios recién creados/vinculados que están vinculados a la nueva llamada al sistema (correspondiente)?
Respuesta1
Creo que bhyve es tu primer recurso, no el último. Si encierra su entorno de compilación, entonces está probando su producto en un mundo y bibliotecas 6.3, con un kernel 11.x. Sin embargo, sus clientes ejecutarán 6.3 world/libs y un kernel 6.3.
Me imagino que se puede esperar que las diferencias entre los kernels 6.3 y 11.x aumenten con el tiempo. Posiblemente esto podría conducir a situaciones como una en la que el kernel 11.x de su cárcel de prueba hace lo correcto, pero el kernel 6.3 de su cliente no lo hace y, por lo tanto, no puede reproducir el informe de problemas de su cliente.
En mi opinión, bhyve es la mejor herramienta para este trabajo.