Differences
This shows you the differences between two versions of the page.
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 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: |
- | /home/slitaz/hacked/rootcd/boot/memtest | + | |
- | 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: | + | |
- | # 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 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: | |
- | # find . -print | cpio -o -H newc | lzma e -si -so > ../rootfs.gz | + | |
- | Ou com o gzip: | + | |
- | # find . -print | cpio -o -H newc | gzip -9 > ../rootfs.gz | + | |
- | 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 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 -a 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 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: | + | 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 o 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> |