Veja o que você está procurando: link
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.
Veja o que você está procurando: link
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.
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.