Costumização total
Outro diferencial do
GoblinX, partilhado com os Live-CD's que utilizam o
Linux Live, é o sistema modular. O sistema modular no GoblinX recebe atenção especial por causa do poder de costumização dado ao usuário. O GoblinX traz seus próprios scripts para costumização e personalização, aumentando ainda mais o poder de recriação da distro. Neste quesito, destaque especial para o 'liveupgrade'.
O 'liveupgrade' permite a remasterização e confecção de um novo LiveCD de forma automática e sem necessidade de qualquer instalação ou mesmo do uso de um disco rígido, inclusive é possível remasterizar o GoblinX a partir da memória RAM. O 'liveupgrade' tem dezenas de passos para uma costumização total e abrangente, desde a alteração de parâmetros de boot, passando por mudanças de configurações de root, e chegando à inclusão de módulos extras, inclusive baixando os módulos se o usuário estiver conectado à internet e, no fim do processo, o usuário ainda tem a ISO sem compressão se quiser alterar algo mais, e a ISO preparada para ser queimada.
Existem ainda diversos scripts preparados para facilitar o uso de módulos. Além dos originais scripts para modo texto do Linux Live, o GoblinX traz versões Xdialog/Kdialog destes scripts e algo além, como um script especial para converter um módulo em pacote (.tgz), um script para instalação de módulos e ainda scripts para edição de módulos que permitem remover ou adicionar pacotes aos módulos padrão. E junto com estes scripts o usuário tem ainda servicemenus para o Konqueror que facilitam o uso de módulos, já que o mesmo identifica o módulo e oferece rápido acesso aos serviços.
Ainda para auxiliar, todos estes scripts podem ser acessados no Centro Mágico de Módulos. Os Centros Mágicos são centro de controles especiais criados para o GoblinX, e entre estes o mais especial é o para uso com módulos, já que
é um diferencial da distribuição.
Edição total
Em item separado acrescento uma notável característica do sistema modular empregado no GoblinX, a partir de uma idéia do Slax: a modulação de acordo com a categoria dos aplicativos, o que significa que dependendo do tipo do aplicativo este será separado para um módulo especial. No caso do GoblinX cada módulo corresponde a uma categoria de aplicativos, o que torna ainda mais poderoso o sistema modular.
O GoblinX é constituído por módulos, que são pacotes comprimidos pelo Squashfs, o que aumenta o nível de compressão e melhora a velocidade de descompressão, para tipos distintos de aplicativos. O módulo base.mo traz o sistema básico, que corresponde aos pacotes fundamentais como aaa_base, coreutils, iptables, alsa_lib, mais alguns aplicativos importantes para o modo texto como wget, links, cdrecord e mutt, mais as bibliotecas fundamentais como libpng, libjpeg, libvorbis, em suma, é um sistema básico dentro de um módulo, que tem cerca de 54MB. O outro módulo fundamental é o kernel.mo, que traz os drivers (módulos) do kernel, em separado para facilitar a atualização deste.
A partir destes dois módulos um sistema básico pode ser construído. A seguir três outros módulos compõem a base de uma distro mais completa, os módulos padrão, que são o deflibs.mo, defX.mo e default.mo. O defX.mo traz o X.org, mais o XFCE, e é o módulo básico do sistema gráfico. o deflibs traz as bibliotecas necessárias aos aplicativos dos módulos defX e default, como gtk+, gconf, libbonobo, cairo, e o módulo default.mo traz um conjunto de aplicativos padrão incluídos em todas as versões do GoblinX, entre estes o Firefox, Abiword, Gnumeric, GAIM e XMMS.
Estes cinco módulos citados são padrões, porém podem ser editados com scripts como o add2mo e o modless, para adição ou a remoção de pacotes, e como o kernel se encontra separado, o usuário pode editar o Live-CD, trocar de kernel e passar a usar o novo.
Outros módulos são preparados e fazem parte de versões diferentes, seguindo a idéia acima, o que facilita o uso e remasterização. O KDE, por exemplo, tem um módulo próprio, o kde.mo, os jogos estão em outro módulo, games.mo, a pasta de root também, root.mo, e ainda temos os módulos especiais da versão Premium, como devel.mo e extradrv.mo, além do mini.mo que acrescenta alguns aplicativos ao GoblinX Mini.
Olhando a ISO
Uma ISO sem compressão do GoblinX traz os arquivos em separado o que facilita a edição total, é possível alterar todo o Live-CD, desde os parâmetros do kernel até a imagem mostrada antes do boot (splash.lss). É ainda possível, como dito acima, atualizar o kernel e mesmo o Linux Live. Basta mudar a imagem do kernel 'vmlinuz' e editar a initrd.gz para adequar o sistema a estas alterações. Além disso, você tem três diferentes diretórios para dispôr os módulos, sendo que os contidos em /base e /modules são automaticamente inseridos no sistema, exceto se o parâmetro 'noload' for ativado, enquanto os contidos em /optional são inseridos apenas através do parâmetro 'load'.
A base da ISO ainda traz mais um diretório chamado rootcopy que serve para copiar diretamente no sistema, após a inserção dos módulos, quaisquer arquivos e diretórios. Um exemplo: /rootcopy/etc/rc.d/rc.local altera este arquivo antes de iniciar o init.
O rootcopy é bastante útil para modificar poucos scripts ou acrescentar algo sem a necessidade de se criar mais um módulo. Você ainda pode contar com dois excutáveis para gerar uma imagem ISO a partir do diretório de dados (ISO sem compressão) que são o make_iso.sh, para Linux, e o make_iso.bat para Windows. E ainda tem um diretório com as ferramentas do Linux Live (/tools) em separado, e o diretório /boot contendo os principais arquivos para a inicialização, como initrd e imagem do kernel.
A ISO do GoblinX facilita a edição, basta que esta seja montada - o kernel precisa ter suporte a dispositivos de loop - com o comando:
# mount -t iso9660 -o ro,loop GoblinX-1.3.iso /mnt/algumponto
Depois é só copiar todo o conteúdo - já que a ISO é montada 'read-only' (somente leitura) - para outro diretório e editar o que quiser. Para gerar novamente a ISO já com as modificações basta usar o comando make_iso.sh dentro da pasta da ISO, assim:
# make_iso.sh GoblinX-1.3.iso