Página seguinte Página anterior Índice

8. Diversos.

8.1 Reduzindo o tamanho do sistema de arquivos raiz.

Algumas vezes o sistema de arquivos raiz é muito grande para caber em um disquete, mesmo após a sua compressão. Seguem algumas formas de reduzir seu tamanho, listados em ordem decrescente de efetividade:

Aumentar a densidade do disco

Por padrão, disquetes são formatados em 1400K, mas formatos de maior densidade estão disponíveis. fdformat poderá formatar nos seguintes tamanhos: 1600, 1680, 1722, 1743, 1760, 1840, e 1920. Muitos dispositivos de 1440K suportarão 1722K, e é este que sempre usamos para disquetes de inicialização. A página de manual fdformat e o arquivo /usr/src/linux/Documentation/devices.txt fornecem maiores informações sobre o tema.

Altere o ambiente de trabalho

Alguns dos mais populares ambiente de trabalho para Linux, como bash e tcsh, são grandes e requerem diversas bibliotecas. Alternativas mais leves existem, tais como ash, lsh, kiss e smash, os quais são muito menores e requerem menos (ou nenhuma) bibliotecas. Muitos dos ambientes alternativos estão disponíveis em http://sunsite.unc.edu/pub/Linux/system/shells/. Esteja certo porém de que o ambiente seja capaz de executar todos os comandos e programas configurados nos arquivos rc incluídos no disco de inicialização.

Diminua as bibliotecas e os binários

Muitas bibliotecas e binários estão tipicamente com todos os símbolos de depuração inclusos, o que aumenta seu tamanho. Executando-se 'file' nestes arquivos , ele apresentará a mensagem 'not stripped' caso essa afirmativa seja verdadeira. Ao copiar binários para o seu sistema de arquivos raiz, é aconselhável utilizar:

        objcopy --strip-all FROM TO

stripping/ Ao copiar bibliotecas deve ser usado:

        objcopy --strip-debug FROM TO

Mover arquivos não críticos para um disco de utilitários

Caso alguns binários não sejam necessários durante a inicialização ou no acesso ao sistema, eles podem ser movidos para um disquete adicional. Veja a Seção Construindo um disquete de utilitários para maiores detalhes. Deve-se ainda considerar também a movimentação de módulos.

8.2 Sistemas de arquivos raiz não residentes em discos na memória.

A Seção Construindo um sistema de arquivos raiz apresenta instruções sobre como construir um sistema de arquivos raiz comprimido o qual é carregado em um disco em memória quando o sistema é iniciado. Este método tem diversas vantagens e é o mais comumente utilizado. De qualquer forma, alguns sistemas com pouca memória podem não suportar toda a RAM necessária para isso; e nestes casos o sistema de arquivos raiz é montado diretamente ao invés de ser copiado para um disco em memória.

Tais sistemas de arquivos são na verdade mais simples de serem construídos do que sistemas comprimidos, uma vez que eles podem ser construídos tanto em disquetes como em qualquer outro dispositivo, e não tem que ser comprimidos. Apresentaremos os procedimentos necessários e as suas diferenças em relação ao descrito até aqui. Caso seja esta a sua opção, deve-se ter em mente que se terá f muito menos espaço disponível.

  1. Calcular o espaço disponível para os arquivos do raiz. Caso se esteja construindo um único disco de inicialização e raiz, todos os blocos do kernel mais os do sistema de arquivos raiz devem caber em um disquete.
  2. Utilizar o programa mke2fs, para criar um sistema de arquivos raiz em um disquete com o tamanho apropriado.
  3. Incluir os arquivos do sistema de arquivos conforme descrito acima.
  4. Ao finalizar, desmontar o sistema de arquivos e transferi-lo para um arquivo de disco, sem compressão.
  5. Transferir o kernel para um disquete, conforme descrito anteriormente. Ao calcular a palavra do disco em memória, configurar o bit 14 para zero, para indicar que o sistema de arquivos raiz não será carregado para um disco em memória. Executar o comando rdev conforme descrito.
  6. Transferir o sistema de arquivos raiz conforme descrito anteriormente.
Há diversos atalhos que podem ser executados. Caso se esteja construindo um conjunto de dois disquetes, pode-se construir o sistema de arquivos raiz diretamente no segundo disquete, não sendo necessário transferi-lo para o disco rígido e após para o disquete novamente. Ainda, caso se esteja construindo um único disquete de raiz e inicialização utilizando-se o LILO, pode-se construir um único sistema de arquivos no disco inteiro, contendo o kernel, arquivos do LILO e do raiz, e simplesmente executar o LILO como o último passo.

8.3 Construindo um disquete de utilitários.

Construir um disquete de utilitários é bastante simples, basta simplesmente criar um sistema de arquivos em um disquete formatado e copiar os arquivos para ele. Para usá-lo com o disco de inicialização, deve-se montá-lo manualmente após o sistema ser carregado.

Conforme descrito anteriormente, o disquete de utilitários pode ser montado como /usr. Neste caso, os binários podem ser colocados no diretório /bin no disquete de utilitários, sendo que uma indicação a /usr/bin na variável de ambiente de caminho permitirá o acesso direto a eles. Bibliotecas adicionais podem ser colocadas no diretório /lib no disquete de utilitários.

Há vários pontos importantes para atentar-se ao se construir um disco de utilitários, a saber:

  1. Não colocar binários ou bibliotecas que sejam críticos para o início do sistema, uma vez que o disquete não será montado antes da inicialização do sistema.
  2. Não é possível acessar uma unidade de disquete e uma unidade de fita simultaneamente. Isso significa que caso se tenha uma unidade de fita, não será possível acessá-la enquanto o disco de utilitários estiver montado.
  3. O acesso aos arquivos no disco de utilitários será lento.

Apêndice Exemplo de lista de arquivos de um disco de utilitários mostra um lista de exemplo de arquivos em um disquete de utilitários. Aqui estão colocadas algumas idéias que podem ser úteis: programas para examinar e manipular discos ( (format, fdisk) e sistemas de arquivos (mke2fs, fsck, isofs.o), um editor de textos leve (elvis, jove), utilitários de compressão e arquivamento (gzip, tar, cpio, afio), utilitários para fitas (mt, tob, taper),comunicação (ppp.o, slip.o, minicom) e dispositivos (setserial, mknod).


Página seguinte Página anterior Índice