(M)  s i s t e m a   o p e r a c i o n a l   m a g n u x   l i n u x ~/ · documentação · suporte · sobre

  Página seguinte Página anterior Índice

72. Diversos

72.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 compactação. Seguem algumas formas de reduzir seu tamanho, listadas 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.

Alterar o interpretador de comandos

Alguns dos mais populares interpretadores de comando 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 interpretadores alternativos estão disponíveis em http://sunsite.unc.edu/pub/Linux/system/shells/. Esteja certo porém de que o interpretador seja capaz de executar todos os comandos e programas configurados nos arquivos rc incluídos no disco de inicialização.

Diminuir 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

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.

72.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 compactado 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 compactados, uma vez que eles podem ser construídos tanto em disquetes como em qualquer outro dispositivo, e não têm que ser compactados. 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á muito menos espaço disponível.

  1. Calcular o espaço disponível para os arquivos do sistema de arquivos 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 compactaçã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.

72.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 Listas de exemplo do conteúdo do 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 compactaçã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