Como começo a construir um sistema Linux do zero?

9

Eu tentei criar um sistema operacional com meu kernel customizado. Não funcionou muito bem. Estou usando o Ubuntu e baixei o Linux 3.2.7 do kernel.org. Eu não estou tentando mudar o kernel no meu sistema Ubuntu. Eu quero fazer meu próprio sistema operacional com o Grub, o kernel do Linux e eu quero ser capaz de ter este sistema operacional homebrew em um tipo de arquivo (como iso) que eu posso colocar em um cd e inicializar em outro computador. Minha pergunta é: o que exatamente eu preciso para fazer este sistema operacional? Quaisquer comentários ou tutoriais seriam úteis.

    
por Coder404 28.02.2012 / 12:31

3 respostas

15

Veja o que você está procurando: link

    
por 28.02.2012 / 13:46
4

Um lugar para começar seria Buildroot .

O que é isso? É um conjunto de scripts / makefiles que permite que você produza um sistema Linux literalmente a partir do zero. Ele puxa para baixo todos os componentes relevantes, constrói o compilador cruzado no host. - praticamente tudo.

Ele é projetado principalmente para trabalho incorporado - como tal, ele contém uclibc em vez de glibc e está faltando etapas de compilação para muitos componentes, por exemplo, Gnome e alguns ambientes de desktop - no entanto, se você está fazendo um CD ao vivo, é absolutamente brilhante. Não se limita a CDs ao vivo, é claro. Eu digo isso - vem com Qt embutido.

A versão estável mais recente vem com o grub 0.97, que pode não atender aos seus requisitos.

Eu mencionei isso porque, enquanto o Linux From Scratch é ótimo, ele diz a você como completar todo o processo, é longo, consome tempo e exige muita paciência. Buildroot pode ser adaptado para incluir o que você precisa; Como uma experiência de aprendizado, a capacidade de usar os menus menuconfig style e obter algo que inicializa e funciona é ótima. Você também pode ver como ele faz tudo antes de adicionar recursos posteriores.

Em termos de configuração do seu kernel, não recomendo vivamente a remoção da configuração existente (normalmente disponível em /boot ), copie-a para a árvore do kernel como .config e execute make oldconfig e percorra as novas opções. As opções padrão são praticamente garantidas para trabalhar a partir de sua distribuição; se você começar do zero, pode muito bem construir algo inutilizável.

    
por 28.02.2012 / 13:09
3

O mínimo que você precisa é o kernel e algum processo que você pode executar como init, junto com quaisquer carregadores e bibliotecas necessários para o processo init. Você inicializa o kernel dizendo para rodar o processo init, e para onde vai é daí o seu negócio.

    
por 28.02.2012 / 13:09