Sou novo na programação do Kernel do Linux, e estou muito empacado com (o que eu acho) o último passo na criação da minha imagem inicializável.
Por algum motivo, estamos tentando fazer upload de uma imagem completa do sistema operacional para o processador PPC440 endurecido dentro de um FPGA Virtex 5 via JTAG. Estamos mudando de um sistema operacional obsoleto para um kernel Linux personalizado da Xilinx com suporte contínuo. O arquivo necessário para este upload é um único ELF contendo todo o sistema operacional e seus aplicativos, que (acreditamos) consiste em um gerenciador de inicialização, kernel, árvore de dispositivos e imagem do disco RAM.
Tivemos algum sucesso com a compilação usando o ELDK, que produz o arquivo correto e é executado no processador; no entanto, o suporte para o ELDK é limitado e inclui bibliotecas antigas ( libc
2.6, por exemplo) e utilitários antigos. Seria melhor para a capacidade de manutenção criar um conjunto de ferramentas e programas mais atualizados.
Ignorando algumas etapas, podemos construir o que acreditamos ser os principais componentes do ELF. Temos o u-boot para o nosso gerenciador de inicialização, um kernel zImage
, o blob da árvore de dispositivos compilada e uma imagem de ramdisk com todas as nossas bibliotecas necessárias.
O que eu estou tentando entender é como envolvê-los em um único arquivo. O u-boot contém um utilitário mkimage
que permite concatenar os últimos três itens e carregá-los com um comando do prompt de inicialização, mas é possível concatenar todos os quatro, já que o ELDK produz um único arquivo com ( acredite) todas essas peças dentro.
Alguém sabe o que eu estou sentindo falta aqui? Essa etapa de concatenação é simples ou estamos fora de controle?
Obrigado!