Customização do Knoppix

Um negócio bem interessante para quem trabalha na área de infra-estrutura de TI é a customização e padronização de sistema operacional. Nesta semana me deparei com uma situação simples, de que era preciso montar um CD de Linux Live (que carregasse o sistema operacional direto do CD, sem precisar instalar no HD) e que após o boot ele acessasse diretamente um servidor Terminal Server, em fullscreen.

A solução mais rápida para este caso foi a ´remasterização´ do Knoppix, um Linux Live criado para esta finalidade. Em linhas gerais, o que foi feito para que isto desse certo foi o seguinte:

1 – Dar boot do Knoppix em um computador, e montar uma partição de trabalho do disco local. Nesta partição iremos copiar e customizar os arquivos do Knoppix, para depois gerar o disco de boot. Neste exemplo, a partição de trabalho é a /dev/hda1 e está montada em /mnt/hda1.

2 – Crie alguns diretórios de trabalho e monte a unidade de cd-rom:

  • mkdir -p /mnt/hda1/knx/master/KNOPPIX
  • mkdir -p /mnt/hda1/knx/source/KNOPPIX
  • mkdir /cdrom
  • mount /dev/sr0 /cdrom

3 -Copie o conteúdo do Knoppix para o diretório de trabalho

cp -Rp /KNOPPIX/* /mnt/hda1/knx/source/KNOPPIX

cp -ar /cdrom/boot /mnt/hda1/knx/master/boot

cp /cdrom/index.html /mnt/hda1/knx/master/

cd /cdrom && find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/ \;

4 – Prepare o ambiente de chroot

  • mount --bind /dev /mnt/hda1/knx/source/KNOPPIX/dev
  • mount --bind /proc /mnt/hda1/knx/source/KNOPPIX/proc
  • mount --bind /sys /mnt/hda1/knx/source/KNOPPIX/sys
chroot /mnt/hda1/knx/source/KNOPPIX

5 – Pronto, agora você poderá editar os arquivos para sua versão customizada do Knoppix. No meu caso, em que eu gostaria que ele acessasse diretamente um servidor Terminal Server, eu precisei alterar a configuração de apenas um arquivo, o /etc/X11/xinit/xinitrc. Foi necessario apenas comentar a ultima linha do arquivo ( que que ele chama o /etc/X11/Xsession) e adicionar as seguintes no final do arquivo:

exec /usr/bin/rdesktop -5 -f -a 16 192.168.1.2

halt

6 – Pronto, neste caso, assim que carregar o X, ele ira abrir diretamente a aplicação rdesktop em modo fullscreen. Agora precisamos criar a iso do Knoppix customizado. Antes aperte Crtl+D para sair do ambiente chroot e voltar a shell principal. Depois execute os seguintes comandos:

umount /mnt/hda1/knx/source/KNOPPIX/dev
umount /mnt/hda1/knx/source/KNOPPIX/proc
umount /mnt/hda1/knx/source/KNOPPIX/sys

mkisofs -R -U -V "KNOPPIX.net filesystem" -publisher "KNOPPIX www.knoppix.net" \
     -hide-rr-moved -cache-inodes -no-bak -pad /mnt/hda1/knx/source/KNOPPIX \
  | nice -5 /usr/bin/create_compressed_fs - 65536 > /mnt/hda1/knx/master/KNOPPIX/KNOPPIX

mkisofs -pad -l -r -J -v -V "KNOPPIX" -no-emul-boot -boot-load-size 4 \
   -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \
   -hide-rr-moved -o /mnt/hda1/knx/knoppix.iso /mnt/hda1/knx/master
cd /mnt/hda1/knx/master

find -type f -not -name sha1sums -not -name boot.cat -not -name isolinux.bin \
   -exec sha1sum '{}' \; > KNOPPIX/sha1sums

7 – Pronto, a iso está armazenada em /mnt/hda1/knx/knoppix.iso.

Este texto foi baseado na documentação oficial sobre remasterização do Knoppix, que contém outras informações importantes sobre o assunto.

2 Comments

marciofevereiro 16th, 2011 at 10:15 AM

tenho uma outra dica, usa o live cd do ubuntu que já vem com o rdesktop, e se quiser customize ele usando o remastersys.

Gustavo Nóbregafevereiro 16th, 2011 at 10:17 AM

Que legal! Vou testar essa solução! Valeu!

Leave a comment

Your comment

*