SliTaz GNU/Linux official and community documentation wiki.
.png

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
pt:handbook:hacklivecd [2010/02/23 09:44]
claudinei created
pt:handbook:hacklivecd [2010/07/08 17:14] (current)
Line 57: Line 57:
 ==== Arquivo de configuração isolinux.cfg ==== ==== Arquivo de configuração isolinux.cfg ====
  
-O arquivo isolinux.cfg encontrado na versão padrão do LiveCD do SliTaz inicia com o valor display, que mostra tanto um arquivo de texto quando um arquivo isolinux.msg que se utiliza de 24 caracteres ASCII e uma imagem splash. O valor default define o nome da label iniciada por padrão depois de dado período de tempo (timeout). Timeout é o número de segundos a esperar antes de bootar o sistema, pode-se utilizar o valor "​0"​ para bootar o sistema imediatamente ou um tempo de espera tão longo quanto "​80"​ segundos. O prompt pode ser desativado usando o valor 0, F1, F2, F3 ativarão arquivos de ajuda e F4 mostra um arquivo de texto:+O arquivo ​//isolinux.cfg// encontrado na versão padrão do LiveCD do SliTaz inicia com o valor display, que mostra tanto um arquivo de texto quando um arquivo ​//isolinux.msg// que se utiliza de 24 caracteres ASCII e uma imagem splash. O valor default define o nome da label iniciada por padrão depois de dado período de tempo (timeout). Timeout é o número de segundos a esperar antes de bootar o sistema, pode-se utilizar o valor "​0"​ para bootar o sistema imediatamente ou um tempo de espera tão longo quanto "​80"​ segundos. O prompt pode ser desativado usando o valor 0, F1, F2, F3 ativarão arquivos de ajuda e F4 mostra um arquivo de texto:
  
-display isolinux.msg+<​code>​display isolinux.msg
 default slitaz default slitaz
 label slitaz label slitaz
Line 71: Line 71:
 F3 isolinux.msg F3 isolinux.msg
 F4 display.txt F4 display.txt
-Exemplo de uma label slitazen na qual pode-se adicionar ao arquivo original opções para configurar diretamente a linguagem do sistema para inglês e usar o layout de teclado UK:+</​code>​
  
-label slitazen+Exemplo de uma label //​slitazen//​ na qual pode-se adicionar ao arquivo original opções para configurar diretamente a linguagem do sistema para inglês e usar o layout de teclado UK: 
 + 
 +<​code>​label slitazen
       kernel /​boot/​bzImage       kernel /​boot/​bzImage
       append initrd=/​boot/​rootfs.gz rw root=/​dev/​null lang=en kmap=en       append initrd=/​boot/​rootfs.gz rw root=/​dev/​null lang=en kmap=en
 +</​code>​
 +
 Uma vez terminadas as modificações no arquivo de configuração,​ não se esqueça de salvar suas mudanças e gerar uma imagem ISO bootável com o isolinux. Uma vez terminadas as modificações no arquivo de configuração,​ não se esqueça de salvar suas mudanças e gerar uma imagem ISO bootável com o isolinux.
  
-Instalando e usando o Memtest86+===== Instalando e usando o Memtest86 ​=====
  
-O aplicativo memtest86 (92 kb) é uma ferramenta para testar a memória RAM do sistema. Ele faz testes profundos que, se falharem, apontam fortemente para uma falha de hardware. A ferramenta se encontra no diretório boot/ e e pode ser iniciada diretamente digitando-se memtest no prompt do isolinux. Vá até /​home/​slitaz/​src (se o diretório não existir: mkdir -p /​home/​slitaz/​src),​ faça o download do fonte e descompacte:​+O aplicativo memtest86 (92 kb) é uma ferramenta para testar a memória RAM do sistema. Ele faz testes profundos que, se falharem, apontam fortemente para uma falha de hardware. A ferramenta se encontra no diretório ​//boot/// e e pode ser iniciada diretamente digitando-se ​//memtest// no prompt do isolinux. Vá até ///​home/​slitaz/​src// (se o diretório não existir: ​//mkdir -p /​home/​slitaz/​src//), faça o download do fonte e descompacte:​
  
- # cd /​home/​slitaz/​src +<​code>​# cd /​home/​slitaz/​src 
- # wget http://​www.memtest86.com/​memtest86-3.3.tar.gz +# wget http://​www.memtest86.com/​memtest86-3.3.tar.gz 
- # tar xzf memtest86-3.3.tar.gz +# tar xzf memtest86-3.3.tar.gz 
-Ao descompactar o fonte do pacote memtest86 você encontrará o arquivo README que fornece informações sobre a ferramenta. Agora você pode instalar o aplicativo na raíz do CD de sua imagem ISO hackeada. Baseado na premissa de que seu diretório de trabalho é /home/​slitaz/​hacked,​ vamos copiar o binário pré-compilado para o diretório boot/ na raíz do CD:+</code>
  
- # cp memtest86-3.3/​precomp.bin \ +Ao descompactar o fonte do pacote ​memtest86 ​você encontrará o arquivo README que fornece informações sobre a ferramenta. Agora você pode instalar ​aplicativo ​na raíz do CD de sua imagem ISO hackeadaBaseado na premissa de que seu diretório de trabalho é ///​home/​slitaz/​hacked//, vamos copiar ​binário pré-compilado para diretório //boot/// na raíz do CD:
-   /​home/​slitaz/​hacked/​rootcd/​boot/​memtest +
-Agora que binário está instalado ​na raíz do CD, podemos adicionar uma entrada para o memtest86 no arquivo ​de configuração do isolinux e gerar uma imagem ISO bootávelVá até /​home/​slitaz/​hacked ​e edite arquivo isolinux.cfg usando ​Leafpad:+
  
- # cd /​home/​slitaz/​hacked +<​code>#​ cp memtest86-3.3/​precomp.bin \ 
- # leafpad rootcd/​boot/​isolinux/​isolinux.cfg & +  /​home/​slitaz/​hacked/​rootcd/​boot/​memtest 
-label memtest+</​code>​ 
 + 
 +Agora que o binário está instalado na raíz do CD, podemos adicionar uma entrada para o memtest86 no arquivo de configuração do isolinux e gerar uma imagem ISO bootável. Vá até ///​home/​slitaz/​hacked//​ e edite o arquivo //​isolinux.cfg//​ usando o Leafpad: 
 + 
 +<​code>​# cd /​home/​slitaz/​hacked 
 +# leafpad rootcd/​boot/​isolinux/​isolinux.cfg & 
 +</​code>​ 
 + 
 +E então adicione as seguintes linhas: 
 + 
 +<​code>​label memtest
       kernel /​boot/​memtest       kernel /​boot/​memtest
-Website oficial do Memtest86+</​code>​
  
-Manipulando o sistema root Live+[[http://​www.memtest86.com/​|Website oficial do Memtest86]]
  
-Mudanças na raíz do sistema Live permitem a você, por exemplo, adicionar novos usuários e senhas, customizar os gráficos ou executar comando automaticamente no momento do boot. As operações necessárias para mudar o sistema de arquivos root são: extrair o sistema de arquivos comprimido rootfs.gz, modificar, reconstruir a imagem e gerar a ISO. Baseado no pressuposto de que você preparou um diretório de trabalho, iremos começar criando um diretório para conter arquivos no sistema modificado. Como o sistema de arquivos comprimido é nomeado rootfs.gz, sugerimos que você utilize um diretório chamado rootfs/ para extrai-lo. Vá até o diretório hacked/, crie o diretório raiz e copie o sistema de arquivos comprimido para rootcd/​boot/​ (a raíz do cdrom):+===== Manipulando o sistema root Live ===== 
 + 
 +Mudanças na raíz do sistema Live permitem a você, por exemplo, adicionar novos usuários e senhas, customizar os gráficos ou executar comando automaticamente no momento do boot. As operações necessárias para mudar o sistema de arquivos root são: extrair o sistema de arquivos comprimido ​//rootfs.gz//, modificar, reconstruir a imagem e gerar a ISO. Baseado no pressuposto de que você preparou um diretório de trabalho, iremos começar criando um diretório para conter arquivos no sistema modificado. Como o sistema de arquivos comprimido é nomeado rootfs.gz, sugerimos que você utilize um diretório chamado ​//rootfs/// para extrai-lo. Vá até o diretório ​//hacked///, crie o diretório raiz e copie o sistema de arquivos comprimido para //rootcd/boot/// (a raíz do cdrom): 
 + 
 +<​code>#​ cd /​home/​slitaz/​hacked 
 +# mkdir rootfs 
 +# cp rootcd/​boot/​rootfs.gz rootfs 
 +</​code>​
  
- # cd /​home/​slitaz/​hacked 
- # mkdir rootfs 
- # cp rootcd/​boot/​rootfs.gz rootfs 
 Agora que uma cópia do sistema de arquivos comprimido está em seu devido lugar, apenas descomprima com o cpio. Tecnicamente,​ o rootfs.gz é um arquivo cpio comprimido com lzma ou gzip. É reconhecido pelo kernel Linux como uma imagem initramfs. No momento em que a máquina é iniciada, o kernel é carregado na memória e então descomprime a imagem do sistema e executa os scripts de inicialização. Agora que uma cópia do sistema de arquivos comprimido está em seu devido lugar, apenas descomprima com o cpio. Tecnicamente,​ o rootfs.gz é um arquivo cpio comprimido com lzma ou gzip. É reconhecido pelo kernel Linux como uma imagem initramfs. No momento em que a máquina é iniciada, o kernel é carregado na memória e então descomprime a imagem do sistema e executa os scripts de inicialização.
  
-Para extrair o sistema de arquivos para rootfs/ e deletar a cópia não arquivada (lembre-se que você pode copiar & colar os comando):+Para extrair o sistema de arquivos para //rootfs/// e deletar a cópia não arquivada (lembre-se que você pode copiar & colar os comando):
  
- # cd rootfs +<​code>​# cd rootfs 
- # (zcat rootfs.gz 2>/​dev/​null || lzma d rootfs.gz -so) | cpio -id +# (zcat rootfs.gz 2>/​dev/​null || lzma d rootfs.gz -so) | cpio -id 
- # rm rootfs rootfs.gz +# rm rootfs rootfs.gz 
-O sistema está pronto para ser hackeado, você pode listar todos os arquivos na raíz de seu sistema usando o comando ls+</​code>​
  
-Modificando um arquivo+O sistema está pronto para ser hackeado, você pode listar todos os arquivos na raíz de seu sistema usando o comando //ls//.
  
-Para manter as coisas simples a ajudar você a entender os princípios,​ nós vamos mudar um script no intuito de executar alguns comandos automaticamente após o CD inicializar o sistema. O alvo é o arquivo etc/​init.d/​local.sh,​ abra-o com seu editor favorito, ou com o Geany:+==== Modificando um arquivo ==== 
 + 
 +Para manter as coisas simples a ajudar você a entender os princípios,​ nós vamos mudar um script no intuito de executar alguns comandos automaticamente após o CD inicializar o sistema. O alvo é o arquivo ​//etc/​init.d/​local.sh//, abra-o com seu editor favorito, ou com o Geany: 
 + 
 +<​code>#​ geany etc/​init.d/​local.sh &</​code>​
  
- # geany etc/​init.d/​local.sh & 
 Iremos adicionar um comando que mostra uma messagem e faz o sistema "​dormir"​ por 4 segundos. Exemplo usando o script referido: Iremos adicionar um comando que mostra uma messagem e faz o sistema "​dormir"​ por 4 segundos. Exemplo usando o script referido:
  
-echo "* Hacked SliTaz version booting..."​+<​code>​echo "* Hacked SliTaz version booting..."​
 sleep 4 sleep 4
-Reconstruindo a imagem do sistema comprimido+</​code>​
  
-Uma vez tendo feito as mudanças, pode-se reconstruir ​a imagem ​comprimida de seu sistema usando o find para encontrar os arquivos, cpio para arquivar, lzma e gzip para comprimir e o sinal de "​pipe"​ | para conectar todos os comandos. Isto deve ser feito a partir ​do sistema ​de arquivos raiz (rootfs/) e cria um arquivo ​comprimido ​rootfs.gz no diretório precedente:+==== Reconstruindo ​a imagem do sistema comprimido ​====
  
-  +Uma vez tendo feito as mudanças, pode-se reconstruir a imagem comprimida de seu sistema usando o //find// para encontrar os arquivos, ​cpio para arquivar, ​lzma e gzip para comprimir e sinal de "​pipe" ​para conectar todos os comandosIsto deve ser feito a partir ​do sistema ​de arquivos raiz (rootfs/cria um arquivo comprimido rootfs.gz no diretório ​precedente:
- # ​find . -print | cpio -o -H newc | lzma e -si -so > ../​rootfs.gz +
- Ou com o gzip+
- # find . -print | cpio --H newc gzip -9 > ../​rootfs.gz +
-Finalmente copie o arquivo ​do sistema ​comprimido para o diretório bootna raíz do CD gere uma imagem ISO bootável com o isolinuxPara copiar o novo rootfs comprimido ​no diretório ​de trabalho:+
  
    
- cd ../ +<​code>​find . -print | cpio -o -H newc | lzma e -si -so > ../rootfs.gz</​code>​ 
- # ​cp -rootfs.gz ​rootcd/boot + 
-Gerando uma imagem ISO bootável+Ou com o gzip: 
 + 
 +<​code>​find . -print | cpio -o -H newc | gzip -9 > ../rootfs.gz</code>
  
-O seguinte comando cria uma imagem com o gerenciador de boot isolinux, usando ​aplicativo genisoimage com algumas opções. O nome da ISO é especificado ​no começo, depois da opção -o e o diretório ​raiz (rootcd) ao final, depois da opção -boot-info-table:+Finalmente copie o arquivo do sistema comprimido para o diretório //boot/// na raíz do CD e gere uma imagem ​ISO bootável ​com o isolinux. Para copiar ​novo rootfs comprimido ​no diretório ​de trabalho:
  
    
-   # genisoimage -R -o slitaz-hacked.iso -b boot/​isolinux/​isolinux.bin \ +<​code>#​ cd ../ 
-   ​-c boot/​isolinux/​boot.cat -no-emul-boot -boot-load-size 4 \ +# cp -a rootfs.gz rootcd/​boot 
-   ​-V "​SliTaz-Hacked"​ -input-charset iso8859-1 -boot-info-table rootcd+</​code>​ 
 + 
 +===== Gerando uma imagem ISO bootável ===== 
 + 
 +O seguinte comando cria uma imagem com o gerenciador de boot isolinux, usando o aplicativo genisoimage com algumas opções. O nome da ISO é especificado no começo, depois da opção //-o// e o diretório raiz (rootcd) ao final, depois da opção //​-boot-info-table//:​ 
 + 
 +<​code>​# genisoimage -R -o slitaz-hacked.iso -b boot/​isolinux/​isolinux.bin \ 
 +  -c boot/​isolinux/​boot.cat -no-emul-boot -boot-load-size 4 \ 
 +  -V "​SliTaz-Hacked"​ -input-charset iso8859-1 -boot-info-table rootcd 
 +</​code>​ 
 Se você quiser checar o conteúdo da imagem ISO antes de queimá-la num CD, apenas monte a imagem em loop e liste os arquivos. No SliTaz e na maioria das distribuições GNU/Linux, você pode queimar imagens em formato ISO para cd's com o utilitário wodim. Se você quiser checar o conteúdo da imagem ISO antes de queimá-la num CD, apenas monte a imagem em loop e liste os arquivos. No SliTaz e na maioria das distribuições GNU/Linux, você pode queimar imagens em formato ISO para cd's com o utilitário wodim.
  
-Gere uma nova ISO a partir de um script+==== Gere uma nova ISO a partir de um script ​====
  
-Se você quiser testar diversas novas possibilidades e gerar diversas imagens ISO, pode querer também semi-automatizar o processo através de um simples SHell script. Este pequeno script pode ser editado na linha de comando ou graficamente,​ mas não se esqueça de fazê-lo executável. Você pode criar o script com o cat, note que EOF significa "End Of File" (fim do arquivo). Para criar o script gen_hacked_iso.sh usando duas variáveis para mudar o nome da imagem ISO e o "​path"​ (caminho) para o diretório raíz do cdrom:+Se você quiser testar diversas novas possibilidades e gerar diversas imagens ISO, pode querer também semi-automatizar o processo através de um simples SHell script. Este pequeno script pode ser editado na linha de comando ou graficamente,​ mas não se esqueça de torna-lo executável. Você pode criar o script com o //cat//, note que EOF significa "End Of File" (fim do arquivo). Para criar o script ​//gen_hacked_iso.sh// usando duas variáveis para mudar o nome da imagem ISO e o "​path"​ (caminho) para o diretório raíz do cdrom:
  
- # cat > gen_hacked_iso.sh << "​EOF"​+<​code>​# cat > gen_hacked_iso.sh << "​EOF"​
 #!/bin/sh #!/bin/sh
 # Gera uma nova imagem ISO hackeada. # Gera uma nova imagem ISO hackeada.
Line 161: Line 188:
  
 EOF EOF
 +</​code>​
 +
 Para usar o script, torne-o executável:​ Para usar o script, torne-o executável:​
  
- # chmod +x gen_hacked_iso.sh +<​code>​# chmod +x gen_hacked_iso.sh 
- # ./​gen_hacked_iso.sh+# ./​gen_hacked_iso.sh 
 +</​code>​