Carregue o sistema do cartão SD na memória e, em seguida, inicialize a partir da memória

0

Eu vi várias respostas onde há dicas sobre como criar uma partição na memória, copiar o conteúdo de um cartão SD para essa partição e, em seguida, inicializar um sistema operacional (linux) a partir dessa partição de memória.

Qual carregador de boot eu usaria para algo assim e onde posso encontrar documentação sobre como configurá-lo?

    
por John Lee 20.01.2016 / 19:41

2 respostas

0

O gerenciador de inicialização não está envolvido, esta tarefa é normalmente executada pelo kernel do Linux depois que ele é carregado na memória do cartão SD pelo gerenciador de inicialização localizado no cartão SD.

A maneira moderna de "inicializar" da memória requer que você escreva um script initramfs personalizado que detectará a mídia de onde o Linux é inicializado (já que os bootloaders não fornecem informações úteis, embora alguns deles possam detectar a mídia onde inicializam from), "open" é o filesystem no modo readonly, aloca tmpfs space para o futuro sistema de arquivos root e então copia tudo de media para ele, então apenas switchroot e executa /sbin/init de lá.

Você pode encontrar um bom exemplo aqui - um script que detecta onde encontrar uma mídia para copiar, e você precisará criar a imagem initramfs, geralmente à mão, veja este script para algumas instruções chave.

Se você não sabe como o initramfs funciona, você deve verificar as boas informações primeiro, considere ler Documentação / sistemas de arquivos / ramfs-rootfs-initramfs.txt , bem como Linux de Scratch - Sobre o initramfs e o google "linux initramfs".

    
por 21.01.2016 / 10:00
0

Você pode ver uma distribuição ao vivo, como o GRML, que suporta a cópia de todos os squashfs para RAM na inicialização (usando o argumento grml2ram ) e que pode ser facilmente customizada (consulte grml-live ); ou você poderia dispor o seu sistema como um initramfs e ter o bootloader carregado junto com o kernel.

Com menos elegância, você pode ficar com um initramfs de ações e adicionar um script a ele que carregue o conteúdo do seu sdcard na memória, e então use isso como o rootfs.

    
por 20.01.2016 / 22:25