Capítulo 16. Emulação do Linux

Índice
16.1. Instalando a emulação
16.2. Estrutura dos diretórios

O NetBSD reescrito para as máquinas i386 é capaz de executar também uma grande parte dos programas do Linux em modo de emulação. Geralmente, quando se fala de emulação, pensa-se em algo de muito lento e ineficiente já que, habitualmente, as emulações comportam a reprodução através de softwares de arquiteturas de hardware muito diferentes daquela em que se trabalha. No caso da emulação do Linux, todavia, trata-se simplesmente do acréscimo de um sutil estrato de softwares já "adaptados" a uma série de chamadas do sistema que já são muito similares ao sistema emulado. O código do próprio aplicativo já foi elaborado nativamente para a mesma CPU e, portanto, não se deve temer redução da performance. Há até mesmo quem, não sem uma dose de exagero, chega a dizer que os programas para Linux definitivamente rodam melhor no NetBSD.

No presente capítulo explica-se como configurar a emulação do Linux para instalar um programa nativo desse sistema que, no exemplo, será o conhecidíssimo Acrobat Reader versão 4.

16.1. Instalando a emulação

A página do manual compat_linux(8) descreve em detalhe a instalação do emulador de Linux em um sistema NetBSD. Trata-se de uma das páginas mais amigáveis do manual: fica clara a intenção de ajudar o usuário a realizar uma operação, ao invés de fornecer um pacote de especificações e de detalhes técnicos. Para instalar a emulação Linux são necessários dois passos:

16.1.2. Instalação das bibliotecas Linux

As bibliotecas Linux podem ser retiradas de uma distribuição Linux, contanto que suficientemente atualizada. Para simplificar a operação convém recorrer ao sistema de gerenciamento dos pacotes, que efetua a instalação de modo automático, utilizando bibliotecas do Suse Linux. As principais operações que serão realizadas são:

Ambas as operações serão realizadas pelo sistema de gerenciamento dos pacotes, sem necessidade de intervenções manuais por parte do usuário.

Antes de passar à instalação das bibliotecas propriamente ditas, carece instalar o pacote necessário para a gestão dos arquivos em formato RPM. Trata-se do rpm-2.5.4, que permitirá a extração dos arquivos das bibliotecas do Suse.

A seguir é necessário instalar o pacote suse_base. Os arquivos RPM Suse podem ser obtidos por download diretamente do sistema de pacotes ou, quem tem um CD-ROM Suse pode copiá-los no diretório /usr/pkgsrc/distfiles/suse e depois executar make e make install.

Com o mesmo método instalam-se suse_compat, suse_libc5 e suse_x11, obtendo-se ao fim esta configuração:

# pkg_info -a | grep suse
suse_base-6.1p1     Linux compatibility package
suse_x11-6.1p1      Linux compatibility package for X11 binaries
suse_compat-6.1p1   Linux compatibility package with old shared libraries
suse_libc5-6.1p1    Linux compatibility package for libc5 binaries      

16.2. Estrutura dos diretórios

Examinando os resultados da instalação das bibliotecas e do programa, constatamos que /emul/linux é um link simbólico que aponta para /usr/pkg/emul/linux, onde se encontram os seguintes diretórios:

bin/
boot/
cdrom/
dev/
etc/
floppy/
home/
lib/
mnt/
opt/
proc/
root/
sbin/
usr/    

Quanto espaço é necessário para instalar a emulação do Linux? Com a instalação já feita a estimativa do espaço dá os seguintes resultados:

# cd /usr/pkg/emul
# du -k linux
...
60525   linux/    

Acrobat Reader, o programa propriamente dito, foi instalado no diretório usual dos pacotes pré-compilados, /usr/pkg/bin/.