CDDeInstalação

A teoria...

A seqüencia de boot Canônica

O computador começa executando código da BIOS, que eh instruída para executar código da trilha/setor/cilindro 0 do "boot device". Geralmente, nesta posição há ou código de um boot loader, como GRUB, que localiza e inicia a execuçãp de um kernel, ou um kernel de um sistema operacional.

Depois de carregado, o Kernel procura por um "root filesystem" para carregar como "/"... Isto eh feito a partir da leitura de uma região especial da imagem do kernel chama "Ramdisk word", que fala como e onde encontrar o root filesystem.

NOTA: Normalmente esta imagem de root filesystem estah gziped com compressãoo máxima, pois ela deve ser carregada a partir de um disco ou disquete na memória (ramdisk). Mas, depois de gunzipada, eh um filesystem ext2 normal.

Depois que este filesystem está devidamente carregado na memória, você lê uma mensagem do tipo:

VFS: Mounted root (ext2 filesystem) readonly.

Agora o programa init eh executado e ele acessa o arquivo /etc/inittab a procura da linha "sysinit" que diz que script deve ser rodado agora.

  • exemplo: si::sysinit:/sbin/rc sysinit

Este script faz coisas como rodar fsck no disco rígido, montar discos seguindo o arquivo /etc/fstab, iniciar o sistema de swapping, iniciar a rede, carregar módulos do kernel necessários, etc.

Quando o script da linha sysinit termina, o init ganha o controle novamente e procura pela linha "initdefault" do arquivo /etc/inittab.

  • exemplo: id:3:initdefault:

Depois disso inicia-se a parte mais normal do boot: inicializar os serviços indicados para iniciar automaticamente... Seja descendo a árvore de diretórios em /etc/rc.d (SysVinit structure) ou seja inicializando os links de /etc/runlevels/default (Gentoo linux structure), ou qualquer coisa que vc conheça...

Normalmente, a última coisa que estes scripts fazem eh chamar o programa "getty", que cuida da interface entre o console e os "/dev/tty"...no caso do gentoo, o programa utilizado eh o "agetty", /sbin/agetty. --Iuri

O CD bootavel do Gnudenberg

O esquema é montar um sistema BEM LEVE e que no final chama o instalador... Eu não sei se compensa pegar uma iso do slack e tunar ela pra instalar o gnuden... Como pra fazer isso será necessário entender o processo, eu vou fazer um CD que faz isso... talvez soh por diversão, sei lá... =)

Portanto, há de se fazer um sistema operacional (com o suficiente pra rodar o instalador) em ramdisk... Ele então acessa os slackbuilds no CD de instalação durante o processo e isso é tudo. Para fazer isso, eu acho que calha de usar um squashfs contendo os slackbuils e tal. Preciso pesquisar mais para entender porque é uma boa opção... (soh lembro que da outra vez que pesquisei foi essa a conclusão...)