Como título, tengo dos archivos vmlinuz colgados para el sistema integrado.
Y no tengo la fuente ni el compilador, el desarrollador de este sistema integrado tampoco funciona.
El primer vmlinuz admite 4 puertos serie y dos VGA.
El segundo vmlinuz admite 6 puertos serie y un VGA.
Quiero tener un vmlinuz que admita 6 puertos serie y dos VGA.
¿Existe alguna forma de copiar el controlador del segundo vmlinuz al primer vmlinuz y reemplazar el original dentro del primer vmlinuz?
Respuesta1
¿Existe alguna forma de copiar el controlador del segundo vmlinuz al primer vmlinuz y reemplazar el original dentro del primer vmlinuz?
A falta de una extensa ingeniería inversa y parches binarios, no.
Quiero tener un
vmlinuz
que soporte 6 puertos seriales y dos VGA.
Es muy probable que esto sea imposible de lograr sin las fuentes.
Incluso si tiene las fuentes, el hecho de que hayan ofrecido dos núcleos con diferentes capacidades (es decir, compensación entre Serial y VGA) implica que puede haber una limitación de hardware (¿recursos FPGA/CPLD?).
No podemos hacer más que especular sin saber cuál es el dispositivo.
Si el fabricante del dispositivo ha publicado fuentes para BSP (p. ej.: Yocto), entonces es posible que puedas consultarlo desde allí, pero probablemente aún necesitarás compilaralgo.
Si el dispositivo es compatible con un kernel principal (es decir, todas las fuentes están en elrepositorio kernel.org), entonces es posible que tenga alguna capacidad para recrear la configuración y reconstruirla.
- Inicie el sistema y ejecútelo
uname -r
: esta es la versión del kernel.- Por ejemplo
4.15.0-48-generic
apunta hacia elv4.15liberar
- Por ejemplo
- Busque un archivo con nombre
/proc/config.gz
; en un sistema integrado o más reciente, es posible que no exista- Esto se puede descomprimir usando
gzip -d < /proc/config.gz > ~/config
y posteriormente usar mientras se configura el kernel. - Esto sólo está disponible cuando el kernel está configurado en consecuencia
- Las distribuciones lo han ido desactivando cada vez más desde hace "preocupaciones de seguridad"
- En un sistema integrado, se puede desactivar para reducir el tamaño de la imagen del kernel.
- Esto se puede descomprimir usando
Otros lugares para buscar la configuración del kernel incluyen /boot
y en un paquete relevante (si está utilizando una distribución).
Si uno o ambos no dan resultados, probablemente no tenga suerte.