rev |
line source |
paul@142
|
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
paul@142
|
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
claudinei@236
|
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt">
|
paul@142
|
4
|
paul@142
|
5 <head>
|
claudinei@236
|
6 <title>Manual SliTaz (pt) - Hackeando LiveCD</title>
|
paul@142
|
7 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
|
claudinei@236
|
8 <meta name="description" content="slitaz portuguese handbook" />
|
paul@142
|
9 <meta name="expires" content="never" />
|
paul@142
|
10 <meta name="modified" content="2008-07-20 06:08:00" />
|
paul@142
|
11 <meta name="publisher" content="www.slitaz.org" />
|
paul@142
|
12 <meta name="author" content="Christophe Lincoln" />
|
paul@142
|
13 <link rel="shortcut icon" href="favicon.ico" />
|
paul@142
|
14 <link rel="stylesheet" type="text/css" href="book.css" />
|
paul@142
|
15 </head>
|
paul@142
|
16 <body bgcolor="#ffffff" >
|
paul@142
|
17
|
paul@142
|
18 <!-- Header and quick navigation -->
|
paul@142
|
19 <div id="header">
|
paul@142
|
20 <div id="quicknav" align="right">
|
paul@142
|
21 <a name="top"></a>
|
claudinei@236
|
22 <a href="web-server.html">Servidor Web</a> |
|
claudinei@236
|
23 <a href="index.html">Conteúdo</a>
|
paul@142
|
24 </div>
|
claudinei@236
|
25 <h1><font color="#3e1220">Manual SliTaz (pt)</font></h1>
|
paul@142
|
26 </div>
|
paul@142
|
27
|
paul@142
|
28 <!-- Content. -->
|
paul@142
|
29 <div id="content">
|
paul@142
|
30 <div class="content-right"></div>
|
paul@142
|
31
|
claudinei@236
|
32 <h2><font color="#df8f06">Hackeando o SliTaz LiveCD</font></h2>
|
paul@142
|
33
|
paul@142
|
34 <ul>
|
claudinei@236
|
35 <li><a href="#intro">Introdução.</a></li>
|
claudinei@236
|
36 <li><a href="#pre">Organização e Preparação.</a></li>
|
claudinei@236
|
37 <li><a href="#add-files">Adicionando arquivos à ISO.</a></li>
|
claudinei@236
|
38 <li><a href="#isolinux">Modificando a configuração do isolinux.</a></li>
|
claudinei@236
|
39 <li><a href="#memtest">Instalando e usando o Memtest86.</a></li>
|
claudinei@236
|
40 <li><a href="#rootfs">Manipulando o sistema root Live.</a></li>
|
claudinei@236
|
41 <li><a href="#gen-iso">Gerando uma imagem ISO bootável com o isolinux.</a></li>
|
paul@142
|
42 </ul>
|
paul@142
|
43
|
paul@142
|
44 <a name="intro"></a>
|
claudinei@236
|
45 <h3>Introdução</h3>
|
paul@142
|
46 <p>
|
claudinei@236
|
47 <em>Hackeando o LiveCD</em> ou como se divertir manipulando a imagem ISO do LiveCD.
|
claudinei@236
|
48 Note que você também pode <a href="gen-livecd.html">criar uma variação do LiveCD
|
claudinei@236
|
49 usando o Tazlito</a>. Criar as suas próprias imagens ISO bootáveis é fácil e os
|
claudinei@236
|
50 passos para tal serão descritos cuidadosamente neste documento. A manipulação de
|
claudinei@236
|
51 uma imagem ISO permite adicionar novos arquivos ou modificar os existentes no
|
claudinei@236
|
52 LiveCD do SliTaz. A imagem ISO do SliTaz ocupa menos de 30 MB, ao passo que um
|
claudinei@236
|
53 CD-R ou CD-RW possui cerca de 700 MB, então há muito espaço para expansão. Por
|
claudinei@236
|
54 exemplo, você pode armazenar suas imagens e até mesmo criar um slideshow <em>live</em>
|
claudinei@236
|
55 usando o GQview. <em>Hackear</em> a imagem ISO permite modificar os arquivos de
|
claudinei@236
|
56 configuração do gerenciador de boot, imagens <em>splash</em> (mostradas durante
|
claudinei@236
|
57 o processo de inicialização) e o próprio GRUB. Pode-se também adicionar o utilitário
|
claudinei@236
|
58 Memtest86 (usado para testar a memória RAM do sistema). Com as mesmas técnicas é
|
claudinei@236
|
59 possível modificar o sistema de arquivos - o que requer manipulação extra e um
|
claudinei@236
|
60 pouco mais de tempo.
|
claudinei@236
|
61 </p>
|
paul@142
|
62
|
paul@142
|
63 <a name="pre"></a>
|
claudinei@236
|
64 <h3>Organização e Preparação</h3>
|
paul@142
|
65 <p>
|
claudinei@236
|
66 Para começar, precisamos definir um local de trabalho, criando diretórios e diversos
|
claudinei@236
|
67 subdiretórios que irão armazenar diferentes arquivos. O <em>hacking</em> da imagem
|
claudinei@236
|
68 ISO pode ser feito utilizando-se o próprio SliTaz ou outra distribuição GNU/Linux,
|
claudinei@236
|
69 como o Debian, Fedora, PCLInuxOS, etc. Se você utiliza o SliTaz como LiveCD
|
claudinei@236
|
70 (quando pode remover o cd assim que o sistema já foi carregado na memória RAM e
|
claudinei@236
|
71 assim queimar uma nova ISO) é recomendável usar uma mídia USB para gravar os
|
claudinei@236
|
72 diretórios de trabalho, caso contrário tudo o que for feito será perdido após
|
claudinei@236
|
73 o desligamento do sistema. Comece criando um diretório para o <em>hacking</em> na raíz
|
claudinei@236
|
74 de seu espaço de usuário, ou seja, o diretório <code>/home/slitaz</code> (na
|
claudinei@236
|
75 versão estável do LiveCD). O uso de <code>/home/slitaz</code> permite o armazenamento
|
claudinei@236
|
76 de uma imagem ISO original e dá a opção de criar um diretório <code>src/</code>
|
claudinei@236
|
77 para o download de possíveis pacotes de fontes. Todos os estágios do <em>hacking</em>
|
claudinei@236
|
78 pode ser feitos na linha de comando via um terminal X (Xterm) ou em modo console
|
claudinei@236
|
79 no terminal Linux. Recomendamos que todos os comandos sejam executados pelo
|
claudinei@236
|
80 usuário <em>root</em> para se evitar problemas relacionados à permissões. Para
|
claudinei@236
|
81 se tornar <em>root</em> e criar o diretório <code>/home/slitaz/hacked</code>,
|
claudinei@236
|
82 digite os comandos:
|
paul@142
|
83 </p>
|
paul@142
|
84 <pre> $ su
|
paul@142
|
85 # mkdir -p /home/slitaz/hacked
|
paul@142
|
86 (# mkdir -p /home/slitaz/src)
|
paul@142
|
87 # cd /home/slitaz/hacked
|
paul@142
|
88 </pre>
|
claudinei@236
|
89 <h4>Obtendo o conteúdo da ISO</h4>
|
paul@142
|
90 <p>
|
claudinei@236
|
91 Agora que você está no diretório de trabalho, deve criar a raíz da ISO modificada
|
claudinei@236
|
92 e obter os arquivos da ISO original do SliTaz - o kernel Linux (<code>bzImage</code>),
|
claudinei@236
|
93 o sistema de arquivos comprimido (<code>rootfs.gz</code>) e os arquivos do
|
claudinei@236
|
94 gerenciador de boot Isolinux. Para a obtenção destes arquivos há duas opções, de
|
claudinei@236
|
95 um cdrom gravado ou de uma imagem ISO armazenada localmente. Para criar a raíz
|
claudinei@236
|
96 do seu CD (<code>rootcd</code>) e copiar os arquivos de um cdrom que se encontra
|
claudinei@236
|
97 em <code>/dev/cdrom</code> montado em <code>/media/cdrom</code>:
|
paul@142
|
98 </p>
|
paul@142
|
99 <pre> # mount -t iso9660 /dev/cdrom /media/cdrom
|
paul@142
|
100 # mkdir rootcd
|
paul@142
|
101 # cp -a /media/cdrom/* rootcd
|
paul@142
|
102 </pre>
|
paul@142
|
103 <p>
|
claudinei@236
|
104 Para montar uma imagem ISO usando <em>loop</em> em um diretório temporário
|
claudinei@236
|
105 <code>/tmp/loop</code> (usando a imagem <code>slitaz-cooking.iso</code>), criar
|
claudinei@236
|
106 a raíz do CD (<code>rootcd</code>), copiar todos os arquivos e desmontar a imagem:
|
paul@142
|
107 </p>
|
paul@142
|
108 <pre> # mkdir /tmp/loop
|
paul@142
|
109 # mount -o loop slitaz-cooking.iso /tmp/loop
|
paul@142
|
110 # mkdir rootcd
|
paul@142
|
111 # cp -a /tmp/loop/* rootcd
|
paul@142
|
112 # umount /tmp/loop
|
paul@142
|
113 </pre>
|
paul@142
|
114 <p>
|
claudinei@236
|
115 Voilà, todos os arquivos necessário devem estar agora presentes no diretório
|
claudinei@236
|
116 <code>rootcd</code>. Para ter certeza, você pode listar todos os arquivos
|
claudinei@236
|
117 recursivamente com o comando <code>ls</code>:
|
paul@142
|
118 </p>
|
paul@142
|
119 <pre> # ls -R rootcd
|
paul@142
|
120 </pre>
|
paul@142
|
121
|
paul@142
|
122 <a name="add-files"></a>
|
claudinei@236
|
123 <h3>Adicionando arquivos à ISO</h3>
|
paul@142
|
124 <p>
|
claudinei@236
|
125 A adição de vários arquivos e diretórios para a imagem ISO consiste simplesmente
|
claudinei@236
|
126 em copiar os dados para a raíz do cdrom (<code>rootcd/</code>) e gerar uma nova
|
claudinei@236
|
127 imagem. Os dados devem ser organizados em um ou dois diretórios criados na raíz
|
claudinei@236
|
128 do CD. Uma vez que a imagem ISO for queimada para um CD-R/CD-RW você pode usar
|
claudinei@236
|
129 o SliTaz como antes, montado em <code>/media/cdrom</code> e acessar os arquivos
|
claudinei@236
|
130 com o emelFM2, Clex ou pela linha de comando. Seus dados poderão ser lidos por
|
claudinei@236
|
131 qualquer sistema GNU/Linux, BSD ou até mesmo... Windows.
|
paul@142
|
132 </p>
|
claudinei@236
|
133 <h4>Criando diretórios e copiando dados</h4>
|
paul@142
|
134 <p>
|
claudinei@236
|
135 Para criar e copiar arquivos, você pode começar usando a linha de comando e então
|
claudinei@236
|
136 continuar por meio de algum programa gráfico como um simples usuário. Nós iremos
|
claudinei@236
|
137 criar um diretório <code>images/</code> como usuário <em>root</em> e então vamos
|
claudinei@236
|
138 mudar as permissões para que todos os usuários tenham acesso de escrita:
|
paul@142
|
139 </p>
|
paul@142
|
140 <pre> # mkdir rootcd/images
|
paul@142
|
141 # chmod 777 rootcd/images
|
paul@142
|
142 </pre>
|
paul@142
|
143 <p>
|
claudinei@236
|
144 Agora que o diretório existe e qualquer usuário pode escrever nele, você pode
|
claudinei@236
|
145 adicionar arquivos no diretório. Quando terminar você pode então
|
claudinei@236
|
146 <a href="#gen-iso">gerar uma imagem ISO bootável</a>.
|
paul@142
|
147 </p>
|
paul@142
|
148
|
paul@142
|
149 <a name="isolinux"></a>
|
claudinei@236
|
150 <h3>Modificando a configuração do isolinux</h3>
|
paul@142
|
151 <p>
|
claudinei@236
|
152 A modificação do isolinux permite a criação de entradas customizadas por meio
|
claudinei@236
|
153 dos parâmetros de <em>pre-boot</em>, por exemplo pode-se adicionar um
|
claudinei@236
|
154 <code>label</code> que inicializa o SliTaz com as opções <code>lang=en</code>
|
claudinei@236
|
155 e <code>kmap=en</code>. Pode-se também modificar o design, mudando-se a imagem
|
claudinei@236
|
156 <em>splash</em> que é mostrada na inicialização. O aplicativo <code>isolinux</code>
|
claudinei@236
|
157 gerencia o início do <em>gerenciador de boot</em> do LiveCD e é fornecido pelo
|
claudinei@236
|
158 pacote Syslinux. O arquivo fonte do Syslinux fornece vários aplicativos que são
|
claudinei@236
|
159 usados para inicializar um sistema GNU/Linux. O binário <code>isolinux.bin</code>
|
claudinei@236
|
160 controla o carregamento do boot de fato. O gerenciador de boot é simples, rápido
|
claudinei@236
|
161 e facilmente configurável tanto graficamente quanto usando um editor de texto.
|
claudinei@236
|
162 A síntaxe do arquivo de configuração <code>isolinux.cfg</code> é fácil de
|
claudinei@236
|
163 compreender - para adicionar novas entradas apenas copie e cole a partir do
|
claudinei@236
|
164 arquivo original. Para editar o arquivo usando o leafpad:
|
paul@142
|
165 </p>
|
paul@142
|
166 <pre> # leafpad rootcd/boot/isolinux/isolinux.cfg &
|
paul@142
|
167 </pre>
|
claudinei@236
|
168 <h4>Arquivo de configuração isolinux.cfg</h4>
|
paul@142
|
169 <p>
|
claudinei@236
|
170 O arquivo <code>isolinux.cfg</code> encontrado na versão padrão do LiveCD do
|
claudinei@236
|
171 SliTaz inicia com o valor <code>display</code>, que mostra tanto um arquivo de
|
claudinei@236
|
172 texto quando um arquivo <code>isolinux.msg</code> que se utiliza de 24 caracteres
|
claudinei@236
|
173 ASCII e uma imagem <em>splash</em>. O valor <code>default</code> define o nome da
|
claudinei@236
|
174 <code>label</code> iniciada por padrão depois de dado período de tempo
|
claudinei@236
|
175 (<code>timeout</code>). <em>Timeout</em> é o número de segundos a esperar antes
|
claudinei@236
|
176 de bootar o sistema, pode-se utilizar o valor "0" para bootar o sistema imediatamente
|
claudinei@236
|
177 ou um tempo de espera tão longo quanto "80" segundos. O <code>prompt</code> pode
|
claudinei@236
|
178 ser desativado usando o valor <code>0</code>, F1, F2, F3 ativarão arquivos de
|
claudinei@236
|
179 ajuda e F4 mostra um arquivo de texto:
|
paul@142
|
180 </p>
|
paul@142
|
181 <pre class="script">display isolinux.msg
|
paul@142
|
182 default slitaz
|
paul@142
|
183 label slitaz
|
paul@142
|
184 kernel /boot/bzImage
|
paul@142
|
185 append initrd=/boot/rootfs.gz rw root=/dev/null vga=788
|
paul@142
|
186 implicit 0
|
paul@142
|
187 prompt 1
|
paul@142
|
188 timeout 80
|
paul@142
|
189 F1 help.txt
|
paul@142
|
190 F2 options.txt
|
paul@142
|
191 F3 isolinux.msg
|
paul@142
|
192 F4 display.txt
|
paul@142
|
193 </pre>
|
paul@142
|
194 <p>
|
claudinei@236
|
195 Exemplo de uma <em>label</em> <code>slitazen</code> na qual pode-se adicionar ao
|
claudinei@236
|
196 arquivo original opções para configurar diretamente a linguagem do sistema para
|
claudinei@236
|
197 inglês e usar o layout de teclado UK:
|
claudinei@236
|
198 </p>
|
paul@142
|
199 <pre class="script">label slitazen
|
paul@142
|
200 kernel /boot/bzImage
|
claudinei@236
|
201 append initrd=/boot/rootfs.gz rw root=/dev/null lang=en kmap=en
|
claudinei@236
|
202 </pre>
|
paul@142
|
203 <p>
|
claudinei@236
|
204 Uma vez terminadas as modificações no arquivo de configuração, não se esqueça de
|
claudinei@236
|
205 salvar suas mudanças e <a href="#gen-iso">gerar uma imagem ISO bootável</a>
|
claudinei@236
|
206 com o isolinux.
|
paul@142
|
207 </p>
|
paul@142
|
208
|
paul@142
|
209 <a name="memtest"></a>
|
claudinei@236
|
210 <h3>Instalando e usando o Memtest86</h3>
|
paul@142
|
211 <p>
|
claudinei@236
|
212 O aplicativo memtest86 (92 kb) é uma ferramenta para testar a memória RAM do
|
claudinei@236
|
213 sistema. Ele faz testes profundos que, se falharem, apontam fortemente para uma
|
claudinei@236
|
214 falha de hardware. A ferramenta se encontra no diretório <code>boot/</code> e
|
claudinei@236
|
215 e pode ser iniciada diretamente digitando-se <code>memtest</code> no prompt do
|
claudinei@236
|
216 isolinux. Vá até <code>/home/slitaz/src</code> (se o diretório não existir:
|
claudinei@236
|
217 <code>mkdir -p /home/slitaz/src</code>), faça o download do fonte e descompacte:
|
claudinei@236
|
218 </p>
|
paul@142
|
219 <pre> # cd /home/slitaz/src
|
paul@142
|
220 # wget http://www.memtest86.com/memtest86-3.3.tar.gz
|
paul@142
|
221 # tar xzf memtest86-3.3.tar.gz
|
paul@142
|
222 </pre>
|
paul@142
|
223 <p>
|
claudinei@236
|
224 Ao descompactar o fonte do pacote memtest86 você encontrará o arquivo <code>README</code>
|
claudinei@236
|
225 que fornece informações sobre a ferramenta. Agora você pode instalar o aplicativo
|
claudinei@236
|
226 na <em>raíz do CD</em> de sua imagem ISO hackeada. Baseado na premissa de que
|
claudinei@236
|
227 seu diretório de trabalho é <code>/home/slitaz/hacked</code>, vamos copiar o binário
|
claudinei@236
|
228 pré-compilado para o diretório <code>boot/</code> na raíz do CD:
|
paul@142
|
229 </p>
|
paul@142
|
230 <pre> # cp memtest86-3.3/precomp.bin \
|
paul@142
|
231 /home/slitaz/hacked/rootcd/boot/memtest
|
paul@142
|
232 </pre>
|
paul@142
|
233 <p>
|
claudinei@236
|
234 Agora que o binário está instalado na <em>raíz do CD</em>, podemos adicionar uma
|
claudinei@236
|
235 entrada para o memtest86 no arquivo de configuração do isolinux e
|
claudinei@236
|
236 <a href="#gen-iso">gerar uma imagem ISO bootável</a>. Vá até
|
claudinei@236
|
237 <code>/home/slitaz/hacked</code> e edite o arquivo <code>isolinux.cfg</code>
|
claudinei@236
|
238 usando o Leafpad:
|
paul@142
|
239 </p>
|
paul@142
|
240 <pre> # cd /home/slitaz/hacked
|
paul@142
|
241 # leafpad rootcd/boot/isolinux/isolinux.cfg &
|
paul@142
|
242 </pre>
|
paul@142
|
243 <pre class="script">label memtest
|
paul@142
|
244 kernel /boot/memtest
|
paul@142
|
245 </pre>
|
paul@142
|
246 <p>
|
claudinei@236
|
247 Website oficial do <a href="http://www.memtest86.com/">Memtest86</a>
|
paul@142
|
248 </p>
|
paul@142
|
249
|
paul@142
|
250 <a name="rootfs"></a>
|
claudinei@236
|
251 <h3>Manipulando o sistema root Live</h3>
|
paul@142
|
252 <p>
|
claudinei@236
|
253 Mudanças na raíz do sistema Live permitem a você, por exemplo, adicionar novos
|
claudinei@236
|
254 usuários e senhas, customizar os gráficos ou executar comando automaticamente no
|
claudinei@236
|
255 momento do boot. As operações necessárias para mudar o sistema de arquivos root são:
|
claudinei@236
|
256 extrair o sistema de arquivos comprimido <code>rootfs.gz</code>, modificar,
|
claudinei@236
|
257 reconstruir a imagem e gerar a ISO. Baseado no pressuposto de que você
|
claudinei@236
|
258 <a href="#pre">preparou um diretório de trabalho</a>, iremos começar criando um
|
claudinei@236
|
259 diretório para conter arquivos no sistema modificado. Como o sistema de
|
claudinei@236
|
260 arquivos comprimido é nomeado <code>rootfs.gz</code>, sugerimos que você
|
claudinei@236
|
261 utilize um diretório chamado <code>rootfs/</code> para extrai-lo. Vá até o diretório
|
claudinei@236
|
262 <code>hacked/</code>, crie o diretório raiz e copie o sistema de arquivos comprimido
|
claudinei@236
|
263 para <code>rootcd/boot/</code> (a raíz do cdrom):
|
paul@142
|
264 </p>
|
paul@142
|
265 <pre> # cd /home/slitaz/hacked
|
paul@142
|
266 # mkdir rootfs
|
paul@142
|
267 # cp rootcd/boot/rootfs.gz rootfs
|
paul@142
|
268 </pre>
|
paul@142
|
269 <p>
|
claudinei@236
|
270 Agora que uma cópia do sistema de arquivos comprimido está em seu devido lugar,
|
claudinei@236
|
271 apenas descomprima com o <code>cpio</code>. Tecnicamente, o <code>rootfs.gz</code>
|
claudinei@236
|
272 é um arquivo cpio comprimido com lzma ou gzip. É reconhecido pelo kernel Linux
|
claudinei@236
|
273 como uma imagem <code>initramfs</code>. No momento em que a máquina é iniciada,
|
claudinei@236
|
274 o kernel é carregado na memória e então descomprime a imagem do sistema e
|
claudinei@236
|
275 executa os scripts de inicialização.
|
claudinei@236
|
276 </p>
|
claudinei@236
|
277 <p>
|
claudinei@236
|
278 Para extrair o sistema de arquivos para <code>rootfs/</code> e deletar a cópia
|
claudinei@236
|
279 não arquivada (lembre-se que você pode copiar & colar os comando):
|
paul@142
|
280 </p>
|
paul@142
|
281 <pre> # cd rootfs
|
paul@142
|
282 # (zcat rootfs.gz 2>/dev/null || lzma d rootfs.gz -so) | cpio -id
|
paul@142
|
283 # rm rootfs rootfs.gz
|
paul@142
|
284 </pre>
|
paul@142
|
285 <p>
|
claudinei@236
|
286 O sistema está pronto para ser hackeado, você pode listar todos os arquivos na
|
claudinei@236
|
287 raíz de seu sistema usando o comando <code>ls</code>
|
paul@142
|
288 </p>
|
claudinei@236
|
289 <h4>Modificando um arquivo</h4>
|
paul@142
|
290 <p>
|
claudinei@236
|
291 Para manter as coisas simples a ajudar você a entender os princípios, nós vamos
|
claudinei@236
|
292 mudar um script no intuito de executar alguns comandos automaticamente após o CD
|
claudinei@236
|
293 inicializar o sistema. O alvo é o arquivo <code>etc/init.d/local.sh</code>, abra-o
|
claudinei@236
|
294 com seu editor favorito, ou com o Geany:
|
paul@142
|
295 </p>
|
paul@142
|
296 <pre> # geany etc/init.d/local.sh &
|
paul@142
|
297 </pre>
|
paul@142
|
298 <p>
|
claudinei@236
|
299 Iremos adicionar um comando que mostra uma messagem e faz o sistema "dormir" por
|
claudinei@236
|
300 4 segundos. Exemplo usando o script referido:
|
paul@142
|
301 </p>
|
paul@142
|
302 <pre class="script">echo "* Hacked SliTaz version booting..."
|
paul@142
|
303 sleep 4
|
paul@142
|
304 </pre>
|
claudinei@236
|
305 <h4>Reconstruindo a imagem do sistema comprimido</h4>
|
paul@142
|
306 <p>
|
claudinei@236
|
307 Uma vez tendo feito as mudanças, pode-se reconstruir a imagem comprimida de seu
|
claudinei@236
|
308 sistema usando o <code>find</code> para encontrar os arquivos, <code>cpio</code>
|
claudinei@236
|
309 para arquivar, <code>lzma</code> e <code>gzip</code> para comprimir e o sinal de
|
claudinei@236
|
310 "pipe" <code>|</code> para conectar todos os comandos. Isto deve ser feito a
|
claudinei@236
|
311 partir do sistema de arquivos raiz (<code>rootfs/</code>) e cria um arquivo
|
claudinei@236
|
312 comprimido <code>rootfs.gz</code> no diretório precedente:
|
paul@142
|
313 </p>
|
claudinei@236
|
314 <pre>
|
claudinei@236
|
315 # find . -print | cpio -o -H newc | lzma e -si -so > ../rootfs.gz
|
claudinei@236
|
316 Ou com o gzip:
|
paul@142
|
317 # find . -print | cpio -o -H newc | gzip -9 > ../rootfs.gz
|
paul@142
|
318 </pre>
|
paul@142
|
319 <p>
|
claudinei@236
|
320 Finalmente copie o arquivo do sistema comprimido para o diretório <code>boot/</code>
|
claudinei@236
|
321 na raíz do CD e <a href="#gen-iso">gere uma imagem ISO bootável</a> com o
|
claudinei@236
|
322 isolinux. Para copiar o novo <em>rootfs</em> comprimido no diretório de trabalho:
|
paul@142
|
323 </p>
|
claudinei@236
|
324 <pre>
|
claudinei@236
|
325 # cd ../
|
paul@142
|
326 # cp -a rootfs.gz rootcd/boot
|
paul@142
|
327 </pre>
|
paul@142
|
328
|
paul@142
|
329 <a name="gen-iso"></a>
|
claudinei@236
|
330 <h3>Gerando uma imagem ISO bootável</h3>
|
paul@142
|
331 <p>
|
claudinei@236
|
332 O seguinte comando cria uma imagem com o <em>gerenciador de boot</em>
|
claudinei@236
|
333 <code>isolinux</code>, usando o aplicativo <code>genisoimage</code> com algumas
|
claudinei@236
|
334 opções. O nome da ISO é especificado no começo, depois da opção <code>-o</code>
|
claudinei@236
|
335 e o diretório raiz (<code>rootcd</code>) ao final, depois da opção
|
claudinei@236
|
336 <code>-boot-info-table</code>:
|
paul@142
|
337 </p>
|
claudinei@236
|
338 <pre>
|
claudinei@236
|
339 # genisoimage -R -o slitaz-hacked.iso -b boot/isolinux/isolinux.bin \
|
paul@142
|
340 -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
|
paul@142
|
341 -V "SliTaz-Hacked" -input-charset iso8859-1 -boot-info-table rootcd
|
paul@142
|
342 </pre>
|
paul@142
|
343 <p>
|
claudinei@236
|
344 Se você quiser checar o conteúdo da imagem ISO antes de queimá-la num CD, apenas
|
claudinei@236
|
345 monte a imagem em <code>loop</code> e liste os arquivos. No SliTaz e na maioria
|
claudinei@236
|
346 das distribuições GNU/Linux, você pode queimar imagens em formato ISO para cd's
|
claudinei@236
|
347 com o utilitário <code>wodim</code>.
|
paul@142
|
348 </p>
|
claudinei@236
|
349 <h4>Gere uma nova ISO a partir de um script</h4>
|
paul@142
|
350 <p>
|
claudinei@236
|
351 Se você quiser testar diversas novas possibilidades e gerar diversas imagens ISO,
|
claudinei@236
|
352 pode querer também semi-automatizar o processo através de um simples SHell script.
|
claudinei@236
|
353 Este pequeno script pode ser editado na linha de comando ou graficamente,
|
claudinei@236
|
354 mas não se esqueça de fazê-lo executável. Você pode criar o script com o <code>cat</code>,
|
claudinei@236
|
355 note que <code>EOF</code> significa <em>"End Of File"</em> (fim do arquivo). Para
|
claudinei@236
|
356 criar o script <code>gen_hacked_iso.sh</code> usando duas variáveis para mudar
|
claudinei@236
|
357 o nome da imagem ISO e o "path" (caminho) para o diretório raíz do cdrom:
|
paul@142
|
358 </p>
|
claudinei@236
|
359 <pre> # cat > gen_hacked_iso.sh << "EOF"</pre>
|
paul@142
|
360 <pre class="script">#!/bin/sh
|
claudinei@236
|
361 # Gera uma nova imagem ISO hackeada.
|
paul@142
|
362 #
|
paul@142
|
363 ISO_NAME="slitaz-hacked.iso"
|
paul@142
|
364 ROOTCD="rootcd"
|
paul@142
|
365
|
paul@142
|
366 genisoimage -R -o $ISO_NAME -b boot/isolinux/isolinux.bin \
|
paul@142
|
367 -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
|
paul@142
|
368 -V "SliTaz-Hacked" -input-charset iso8859-1 -boot-info-table $ROOTCD
|
paul@142
|
369
|
paul@142
|
370 EOF
|
paul@142
|
371 </pre>
|
paul@142
|
372 <p>
|
claudinei@236
|
373 Para usar o script, torne-o executável:
|
paul@142
|
374 </p>
|
paul@142
|
375 <pre> # chmod +x gen_hacked_iso.sh
|
paul@142
|
376 # ./gen_hacked_iso.sh
|
paul@142
|
377 </pre>
|
paul@142
|
378
|
paul@142
|
379 <!-- End of content -->
|
paul@142
|
380 </div>
|
paul@142
|
381
|
paul@142
|
382 <!-- Footer. -->
|
paul@142
|
383 <div id="footer">
|
paul@142
|
384 <div class="footer-right"></div>
|
claudinei@236
|
385 <a href="#top">Topo da Página</a> |
|
claudinei@236
|
386 <a href="index.html">Conteúdo</a>
|
paul@142
|
387 </div>
|
paul@142
|
388
|
paul@142
|
389 <div id="copy">
|
claudinei@236
|
390 Copyright © 2008 <a href="http://www.slitaz.org/pt/">SliTaz</a> -
|
paul@142
|
391 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
|
paul@142
|
392 Documentation is under
|
paul@142
|
393 <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
|
paul@142
|
394 and code is <a href="http://validator.w3.org/">valid xHTML 1.0</a>.
|
paul@142
|
395 </div>
|
paul@142
|
396
|
paul@142
|
397 </body>
|
paul@142
|
398 </html>
|