4) Um Exemplo de Criação de uma RAM Disk Comprimida
---------------------------------------------------------------------------------------------------
Para criar uma imagem RAM disk, você precisará de um dispositivo de bloco reserva sobre o qual construir. Esse pode ser o dispositivo RAM disk em si, ou uma partição de disco não usada (como, por exemplo, uma partição swap não montada). Para esse exemplo, usaremos o dispositivo RAM disk, "/dev/ram0".
Note que essa técnica não deve ser usada em uma máquina com menos de 8 MBytes de RAM. Se estiver usando uma partição de disco reserva em vez do /dev/ram0, então essa restrição não se aplica.
a) Decida sobre o tamanho da RAMdisk que você deseja. Digamos 2 MB para esse exemplo.
A Crie para que possa escrever no dispositivo RAM disk. (Esse passo não é exigido atualmente, mas pode ser no futuro). É inteligente zerar saída da área (especialmente para discos) de forma que a compressão máxima seja alcançada para os blocos não usados da imagem em torno dos quais você está para criar.
dd if=/dev/zero of=/dev/ram0 bs=1k count=2048
b) Crie um sistema de arquivo nela. Digamos o ext2fs para esse exemplo.
mke2fs -vm0 /dev/ram0 2048
c) Monte-a, copie os arquivos que você deseja para ela (por exemplo, /etc/* /dev/* ...) e desmonte-a de novo.
d) Compacte o conteúdo da RAM disk. O nível de compressão será de aproximadamente 50% do espaço usado pelos arquivos. O espaço não usado na RAM disk será comprimido em quase nada.
dd if=/dev/ram0 bs=1k count=2048 | gzip -v9 > /tmp/ram_image.gz
e) Coloque o kernel no disquete.
dd if=zImage of=/dev/fd0 bs=1k
f) Coloque a imagem da RAMdisk no disquete, depois do kernel. Use um offset que seja ligeiramente maior que o kernel, de sorte que você possa colocar um outro (possivelmente maior) kernel no mesmo disquete posteriormente sem sobrescrever a imagem da RAM disk. Um offset de 400 KB para kernels com tamanho em torno de 350 KB seria razoável. Garanta que offset+tamanho de ram_image.gz não seja maior do que o espaço total do seu disquete (normalmente 1440 KB).
dd if=/tmp/ram_image.gz of=/dev/fd0 bs=1k seek=400
g) Use "rdev" para definir o dispositivo de boot, o offset da RAM disk, o flag de prompt, etc.
rdev /dev/fd0 /dev/fd0
rdev -r /dev/fd0 49552
Pronto! Você agora tem seu disquete de boot/root com a RAMdisk comprimida. Alguns usuários podem desejar combinar os passos (d) e (f) usando um pipe.
--------------------------------------------------------------------------
Paul Gortmaker 12/95
Changelog:
----------
James Nelson (james4765@gmail.com)
12-95: Documento Original
Nenhum comentário:
Postar um comentário