Fase 4: Compilación e Instalación de LTP (Linux Test Project)
Descripción General
Esta fase comprende la preparación, depuración de compatibilidad, compilación masiva y despliegue final de la suite de pruebas Linux Test Project (LTP) en el entorno de build aislado bajo Rocky Linux 10.
Objetivos Alcanzados
Resolución de incompatibilidades de código C heredado (tests de CVE antiguos) frente a toolchains modernos (GCC 14.x / Glibc 2.39).
Depuración de bloqueos en la fase de empaquetado/instalación asociados al rastro en
.gitignore.Generación del árbol binario completo y despliegue funcional en la ruta aislada
/opt/ltp.Registro centralizado de auditoría en
/var/log/BuilderLogs/.
Estrategia de Exclusión y Parcheo de Makefile
Durante el proceso de compilación inicial, el compilador moderno interrumpió el flujo global debido a errores en la estructura de tests antiguos de vulnerabilidades (CVEs entre 2014 y 2017) e interfaces de red obsoletas.
Para mantener la integridad de la suite sin alterar el comportamiento general del framework, se aplicó una estrategia de filtrado selectivo en el archivo testcases/cve/Makefile utilizando la variable FILTER_OUT_MAKE_TARGETS.
Ajustes en testcases/cve/Makefile
Se excluyeron explícitamente los módulos incompatibles mientras se conservaron operativos los tests modernos (p. ej., Meltdown, Stack Clash):
# Exclusión selectiva de CVEs legacy no compatibles con GCC 14 / Glibc 2.39
FILTER_OUT_MAKE_TARGETS := cve-2014-0196 \
cve-2015-3290 \
cve-2016-7042 \
cve-2017-2618 \
icmp_rate_limit01
Compilación Paralela y Registro de Auditoría
Con las reglas de exclusión aplicadas, se procedió a la compilación masiva en paralelo aprovechando la totalidad de vCPUs asignadas al entorno buildlab.
Comando de Compilación
make -j$(nproc) 2>&1 | tee /var/log/BuilderLogs/build_ltp2.log
El proceso completó la traza de forma satisfactoria sin errores fatales en el árbol de testcases.
Resolución de Conflictos en la Fase de Instalación
Conflicto Detectado
Durante la ejecución inicial del objetivo de instalación (make install), el proceso abortaba con errores de tipo cannot stat al no localizar binarios en subdirectorios como testcases/kernel/syscalls/abort/abort01.
Causa Raíz
Debido al fallo previo durante la primera compilación no filtrada, los módulos posteriores al bloque de CVEs no llegaron a construirse en disco. Adicionalmente, las reglas del archivo .gitignore local ocultaban la ausencia de dichos ejecutables durante la inspección del árbol.
Despliegue Final
Una vez solventada la compilación completa de la raíz, se ejecutó la instalación limpia desviando la salida al registro correspondiente:
make install 2>&1 | tee /var/log/BuilderLogs/install_ltp2.log
Estructura del Despliegue Resultante
La instalación generó la jerarquía operativa esperada en el directorio aislante:
Directorio / Archivo |
Descripción |
|---|---|
|
Motores de orquestación ( |
|
Colección de binarios de prueba e infraestructura |
|
Script principal de ejecución de testsuites |
|
Identificador de versión / commit desplegado |
Punto de Control Hito
Con el despliegue verificado mediante pruebas de humo en /opt/ltp, el sistema alcanza el hito de infraestructura GOLDEN-03.
Note
Se procede al marcado del volumen VDO mediante reflink para consolidar la imagen de la máquina virtual con la suite LTP totalmente funcional.