Eu sou novo no kernel e Linux incorporado. Recentemente, comprei um Raspberry Pi e o inicializei usando o Raspbian. Fiquei fascinado com o Pi. Para saber mais sobre o Embedded, decidi criar um sistema de automação residencial. Eu queria usar meu próprio kernel e empilhar. ou seja, não quero usar nenhum sistema operacional.
Para isso, baixo o Kernel, target_fs, firmware e cadeia de ferramentas do github oficial. Eu compilei o kernel usando a cadeia de ferramentas.
Agora não sei como colocar isso em um novo sdcard (formatado para um novo começo). Quais são as coisas que tenho que tomar antes de inicializar minha pilha? Como não coloquei servidor / cliente ssh ou telnet, como posso saber se a inicialização foi bem-sucedida. Onde posso obter um daemon ssh / telnet para o pi? Meu objetivo é inicializar apenas o kernel (ou o mínimo necessário) no Raspberry Pi.
Respostas:
O kernel espera duas coisas: um sistema de arquivos raiz e um
init
daemon que reside nele. O init incluído no raspbian é um sistema de estilo sysV . Você não está vinculado a isso - outros sistemas init comumente usados com linux (lembre-se: o kernel é linux ) sãosystemd
eupstart
- mas você precisa de algum tipo de sistema init.Você também pode colocar
init
um initramfs e incorporá- lo ao kernel ; nesse caso, você pode se livrar sem um sistema de arquivos raiz, mas isso parece inútil nesse caso.init
é o único aplicativo da terra do usuário iniciado pelo kernel. Normalmente, ele inicia processos que abrem ttys com um logon e outros serviços que podem iniciar um gerenciador de exibição, sshd etc. Você pode não precisar do logon, mas provavelmente deseja o tty; você também pode iniciar o sshd diretamente.Obtê-lo do mesmo lugar que raspbian fez, a fonte upstream. Nenhuma dessas coisas foi escrita especificamente para o pi. Ou pelo menos, muito, muito pouco. Tem sido usado em uma enorme variedade de sistemas diferentes.
Se você quer um pré-compilado para o pi ... bem, isso é raspbian, etc. 1
Você precisará usar o carregador de inicialização específico do pi, que está na
/boot
partição da imagem raspbian.1. Para ser brutalmente honesto, acho que você está em uma missão massivamente quixotesca que, com base no conhecimento implícito em sua pergunta, não tem praticamente nenhuma esperança de realizar este ano, a menos que saia do emprego e se dedique ao aprendizado em tempo integral, e mesmo assim, sua chance de falhar é muito alta e levará meses para chegar a um ponto em que você tenha alguma chance de sucesso. Isso não é simples. Não é fácil. Dito isto, mesmo se você falhar, provavelmente aprenderá algumas coisas úteis ao longo do caminho. No entanto, pode-se gastar mais tempo aprendendo a entender uma distribuição existente (como raspbian) e como usá-la para criar seu sistema de automação residencial.
fonte
Para começar, acho que você tem o conceito errado de usar computadores incorporados (especialmente no nível do Raspberry Pi). Se você realmente deseja criar um sistema operacional personalizado, sugiro que inicie no Linux a partir do Scratch, LFS, http://www.linuxfromscratch.org/ , mas se quiser entender a computação incorporada, comece pesquisando "sistemas embarcados", Wikipedia ou Embedded. Wiki do Linux http://elinux.org/Main_Page .
fonte
Eu tive o mesmo problema. Eu criei uma coleção de scripts de shell, exatamente para esse propósito.
http://www.dettus.net/detLFS
fonte