Um detalhe importante é que (no Kurumin) você deve montar a partição via terminal e não usando os atalhos no desktop. Eles montam as partições adicionando o parâmetro “nodev”, que impede que os scripts direcionem suas saídas para o “/dev/null”, causando uma série de erros. Vou usar como exemplo a partição “/dev/hda6”.
O próximo passo é criar duas pastas, uma para abrigar a imagem descompactada e outra para guardar os arquivos que irão no CD (fora da imagem compactada), como os arquivos de boot e os manuais. Lembre-se de que os arquivos dentro da imagem compactada ficam acessíveis apenas dando boot pelo CD, enquanto os arquivos fora da imagem podem ser acessados a partir de qualquer sistema operacional, como se fosse um CD-ROM comum.
Na época em que comecei a desenvolver o Kurumin, a única referência (embora bem resumido) era o “Knoppix how-to” do Eadz. Em homenagem, continuo até hoje usando os nomes de pastas indicados nele:
# mkdir /mnt/hda6/knxsource
# mkdir /mnt/hda6/knxsource/KNOPPIX
A pasta “knxmaster” é usada para armazenar uma cópia simples dos arquivos do CD, usada para gerar o ISO final. A pasta “knxsource/KNOPPIX” por sua vez armazena a cópia descompactada do sistema, onde fazemos as modificações.
Comece fazendo a cópia completa dos arquivos do CD para dentro da pasta “knxmaster/”. Ao dar boot pelo CD, os arquivos ficam disponíveis dentro da pasta “/cdrom”:
Em seguida, vamos criar a imagem descompactada do sistema na pasta knxsource/KNOPPIX/. Para o comando abaixo você deve ter dado boot a partir do CD; ele nada mais é do que uma forma de copiar o sistema de arquivos montado durante o boot para a pasta indicada:
Esta etapa demora um pouco, pois além de ler os arquivos no CD, o processador tem o trabalho de descompactar tudo, como se estivesse instalando o sistema no HD. Terminada a cópia, você verá a árvore de diretórios do sistema dentro da pasta:
Você deve estar se perguntando se o próximo passo será acessar a pasta e sair editando os arquivos de configuração e instalando aplicativos manualmente. Bem, isso até seria possível para alguém sem muito o que fazer, mas existe uma forma muito mais fácil de trabalhar dentro da pasta de desenvolvimento, utilizando o comando “chroot“. Ele permite transformar a pasta no diretório raiz do sistema, de modo que você possa instalar programas, instalar e remover pacotes e até mesmo abrir o KDE e sair alterando suas configurações. Tudo o que você fizer dentro da janela do chroot alterará seu novo CD bootável. Para ativá-lo, use o comando:
(como root)
A partir daí, a pasta passa a ser vista pelo sistema como se fosse o diretório raiz, fazendo com que todos os comandos sejam executados dentro do seu sistema de desenvolvimento:
Antes de começar a trabalhar, monte o diretório /proc dentro do chroot. Sem isso a funcionalidade será limitada e você receberá erros diversos ao instalar programas:
Nas versões recentes, que utilizam o udev (usado a partir do Kurumin 6.0), é necessário montar também a pasta “/sys” e o “/dev/pts”. Sem os dois, você não conseguirá carregar o modo gráfico, como explico adiante:
# mount -t devpts /dev/pts /dev/pts
Para acessar a internet de dentro do chroot e assim poder usar o apt-get para instalar programas, edite o arquivo “/etc/resolv.conf“, colocando os endereços dos servidores DNS usados na sua rede, como em:
nameserver 200.177.250.138
A partir daí, você pode instalar novos pacotes via apt-get, como se fosse um sistema instalado. Se precisar instalar pacotes manualmente, copie os arquivos para dentro de uma pasta no diretório e instale usando o comando “dpkg -i”. No Kurumin, por exemplo, uso a pasta “/knxsource/KNOPPIX/packages/”, que é vista como “/packages” dentro do chroot.
Inicialmente, o chroot permite usar apenas comandos de modo texto. Você pode editar arquivos manualmente usando editores de modo texto, como o mcedit e o vi e usar o apt-get, mas não tem como usar ferramentas gráficas ou mudar configurações no centro de controle do KDE, por exemplo.
É possível carregar o modo gráfico de dentro do chroot, configurando a variável DISPLAY do sistema para que seja usado um servidor X externo. Isso permite carregar o KDE ou outros ambientes gráficos, útil principalmente quando você precisar alterar as opções visuais do sistema, editar o menu do KDE ou alterar a configuração dos aplicativos.
É até possível fazer isso via linha de comando (eu faço 😉 editando os arquivos de configuração do KDE (que vão dentro da pasta “.kde/”, no home) mas é muito mais simples através do Kcontrol.
Existem duas opções aqui. Você pode abrir um segunda seção do X, ou usar o Xnest (a opção mais simples, porém mais precária), que abre uma instância do X dentro de uma janela.
Para abrir o servidor X “real”, use o comando:
Isso abrirá um X “pelado”, com a tela cinza e o cursor do mouse. Volte para o X principal pressionando “Ctrl+Alt+F7” e retorne para ele pressionando “Ctrl+Alt+F8”.
Para abrir o Xnest, use (neste caso com seu login de usuário, não o root), os comandos:
$ Xnest :1
Em ambos os casos, você terá aberta uma segunda seção do X (:1), que podemos usar de dentro do chroot. Note que, para usar o Xnest, você precisa instalar o pacote “xnest” via apt-get.
Existem algumas considerações antes de continuar. Inicialmente, você está logado como root dentro do chroot. Ao alterar as configurações do sistema (configurações visuais, menu, programas que serão carregados na abertura do KDE, etc.) precisamos fazer isso como o usuário usado por padrão no sistema, “knoppix” no Knoppix ou “kurumin” no Kurumin.
As configurações padrão vão inicialmente na pasta “/etc/skel”. O conteúdo é copiado para a pasta home durante o boot, criando a pasta “/home/kurumin” ou “/home/knoppix”. Precisamos refazer esse processo artificialmente, de forma a carregar o ambiente gráfico (e com o usuário certo 😉 a partir do chroot.
Comece (ainda como root) copiando os arquivos para a pasta home do usuário desejado. Vou usar como exemplo o usuário kurumin. Lembre-se de que tudo isso é feito dentro da janela do chroot:
# cp -R /etc/skel kurumin
# chown -R kurumin.kurumin kurumin/
# rm -rf /var/tmp/*
Agora logue-se como o usuário kurumin (ainda dentro do chroot) e abra o KDE na instância extra do X que abrimos anteriormente:
$ cd /home/kurumin/
$ export DISPLAY=localhost:1
$ startkde
Isso abrirá o KDE dentro da segunda seção do X. Se precisar carregar outra interface, substitua o “startkde” pelo comando adequado.
Ao usar o Xnest, é normal que sejam exibidas mensagens de erro diversas (no terminal) durante a abertura do KDE. Alguns aplicativos podem ser comportar de forma estranha, o que também é normal já que ele não oferece todos os recursos do servidor X “real”. Pense nele como uma forma rápida de alterar as configurações do sistema que está sendo remasterizado e não como algo livre de falhas.
Depois de alterar todas as configurações desejadas, feche o KDE pelo “Iniciar > Fechar Sessão > Finalizar sessão atual” e, de volta ao terminal do chroot, copie os arquivos modificados do “/home/kurumin” de volta para o “/etc/skel”, sem se esquecer de restabelecer as permissões originais:
# cd /home
# cp -Rf kurumin/* /etc/skel/
# chown -R root.root /etc/skel
# rm -rf /home/kurumin
Deixe seu comentário