Como título, tenho dois arquivos vmlinuz travados para sistema embarcado.
E, não tenho fonte e compilador para isso, o desenvolvedor desse sistema embarcado também não funciona mais.
O primeiro vmlinuz suporta 4 portas seriais e duas VGA.
O segundo vmlinuz suporta 6 portas seriais e uma VGA.
Quero ter um vmlinuz que suporte 6 portas seriais e duas VGA.
Existe alguma maneira de copiar o driver do segundo vmlinuz para o primeiro vmlinuz e substituir o original dentro do primeiro vmlinuz?
Responder1
Existe alguma maneira de copiar o driver do segundo vmlinuz para o primeiro vmlinuz e substituir o original dentro do primeiro vmlinuz?
Exceto por extensa engenharia reversa e patches binários, não.
Eu quero ter um
vmlinuz
que suporte 6 portas seriais e duas VGA.
É muito provável que isto seja impossível de conseguir sem as fontes.
Mesmo se você tiver as fontes, o fato de elas oferecerem dois kernels com habilidades diferentes (ou seja: compensação entre Serial vs VGA) implica que pode haver uma limitação de hardware (recursos FPGA/CPLD?).
Não podemos fazer mais do que especular sem saber qual é o dispositivo.
Se o fabricante do dispositivo lançou fontes para o BSP (por exemplo: Yocto), então você poderá analisá-lo a partir daí - mas provavelmente ainda precisará compilaralgo.
Se o dispositivo for suportado por um kernel principal (ou seja: todas as fontes estão norepositório kernel.org), então você poderá ter alguma capacidade de recriar a configuração e reconstruir.
- Inicialize o sistema e execute
uname -r
- esta é a versão do kernel- Por exemplo
4.15.0-48-generic
aponta para ov4.15liberar
- Por exemplo
- Procure um arquivo chamado
/proc/config.gz
- em um sistema embarcado ou mais recente, ele pode não existir- Isso pode ser descompactado
gzip -d < /proc/config.gz > ~/config
e posteriormente usado durante a configuração do kernel - Isto só está disponível quando o kernel está configurado adequadamente
- As distribuições têm desabilitado cada vez mais por "preocupações com segurança"
- Em um sistema embarcado pode ser desabilitado para reduzir o tamanho da imagem do kernel.
- Isso pode ser descompactado
Outros locais para procurar a configuração do kernel incluem /boot
e em um pacote relevante (se você estiver usando uma distribuição).
Se um ou ambos não produzirem resultados, provavelmente você está sem sorte.