Questão Há algum padrão de inicialização para computadores baseados em ARM?


Como afirmado no título da questão - é de conhecimento geral que existem padrões, segundo os quais, se você formatar seu pendrive, instalando um gerenciador de inicialização x86 e uma partição com o sistema, você pode obter um pendrive x86 que irá inicializar qualquer computador. Existem padrões semelhantes para computadores (como laptops) com processadores ARM?


5


origem


Você está perguntando sobre o Linux ou qualquer sistema operacional ou kernel? - sawdust
Mais preferencialmente, qualquer sistema operacional. - d33tah
"... inicialize em qualquer computador" - Você realmente quer dizer "qualquer PC que seja baseado no IBM PC original e seu BIOS". - sawdust


Respostas:


Costumava haver um documento multi-paginado em "Booting ARM Linux". Infelizmente, o link da Web para esse documento está quebrado, mas uma cópia parece ser Aqui. Esse documento, no entanto, não especificou ou avisou um gerenciador de inicialização específico ou qualquer organização de arquivo / dados na mídia de inicialização.

Itens que eu me lembro de coisas como o kernel devem ser ligados para serem executados no início da memória principal física + 0x8000.

O ARM Linux também requer uma lista de vários parâmetros de memória, placa e máquina (conhecidos como ARM Tags ou lista ATAG) a serem passados ​​em um buffer de memória para o kernel na inicialização. O bootloader seria responsável pela construção dos ATAGs e da linha de comando do kernel nos buffers de memória. ATAGs aparentemente foi preterido, e substituído pela Árvore de Dispositivos nas versões mais recentes do kernel do Linux.

O bootloader também foi esperado para configurar e inicializar a RAM (o que implica a instalação de relógios / osciladores), inicializar uma porta serial ou console e detecte o tipo de máquina ARM.

Note que a maioria dos SoCs ARM emprega uma sequência de inicialização multiestágio, e o bootloader que realmente carrega o kernel do Linux é, às vezes, o bootloader de terceiro estágio.


2





Não há padrões. Todo fornecedor de SoC usa seu próprio gerenciador de inicialização.


0



Se você pudesse adicionar algum contexto às suas respostas e / ou fornecer alguns links, isso tornaria sua resposta mais útil - Shekhar
@Shakehar, vi código de bootloader de 3 principais fornecedores de SoC. Todos os 3 deles são diferentes (usam diferentes estruturas de dados internas / etc) - que contexto muito estou disposto a divulgar. Se você tiver mais informações, poste sua própria resposta. - Alex P.
Eu não estava desafiando a sua resposta, a sugestão era apenas melhorar a qualidade da resposta, tornando-a mais informativa para as pessoas que mais tarde se deparam com essa discussão. - Shekhar