Programas Linux no FreeBSD

1
3635

Com algumas configurações veremos que programas Linux podem rodar no FreeBSD.

1º Passo vamos Carregar o módulo Linux no kernel, caso contrário, a compilação irá falhar.

Digitamos no terminal:

#kldload linux

2º Passo vamos verificar se o módulo foi carregado.

Digitamos no terminal:

#kldstat

Teremos uma saída bem parecida com essa.

Id Refs Address    Size     Name
1    2 0xc0100000 16bdb8   kernel
7    1 0xc24db000 d000     linux.ko

3º Passo vamos instalar um conjunto básico de bibliotecas e binários do Linux no FreeBSD.

Digitamos no terminal:

#printf “compat.linux.osrelease=2.6.18\n” >> /etc/sysctl.conf

Digitamos no terminal:

#sysctl compat.linux.osrelease=2.6.18

Digitamos no terminal:

#pkg install emulators/linux_base-c6

4º Passo Para a compatibilidade com o  Linux ser ativado no
momento da inicialização, adicione essa linha no /etc/rc.conf

Digitamos no terminal: ee /etc/rc.conf e adicionamos a linha abaixo.

linux_enable=”YES”

para usuários Linux acostumados a usar o nano como editor e só baixar com o comando.

pkg install nano

Se um aplicativo Linux der erro sobre a falta de bibliotecas
compartilhadas depois de configurar o Linux compatibilidade, vamos determinar quais bibliotecas compartilhadas estão faltando e vamos  instalá-las manualmente.

A partir de um sistema Linux o comando, ldd pode ser usado para determinar quais bibliotecas compartilhadas fazem parte da aplicação.

Por exemplo, para verificar quais bibliotecas compartilhadas o programa XXX precisa para funcionar, vamos executar este comando a partir de um sistema Linux que tenha o programa instalado:

 

#ldd XXX

libXt.so.3 (DLL Ir 3.1) => /usr/X11/lib/libXt.so.3.1.0
libX11.so.3 (DLL Ir 3.1) => /usr/X11/lib/libX11.so.3.1.0
libc.so.4 (DLL Ir 4.5pl26) => /lib/libc.so.4.6.29
Em seguida copiar todos os arquivos da última coluna da
saída do Linux para o FreeBSD em /compat/linux/
Uma vez copiado, criar links simbólicos para os nomes na
primeira coluna. Este exemplo resultará nos seguintes arquivos no sistema FreeBSD:

#/compat/linux/usr/X11/lib/libXt.so.3.1.0
#/compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0
#/compat/linux/usr/X11/lib/libX11.so.3.1.0
#/compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0
#/compat/linux/lib/libc.so.4.6.29
#/compat/linux/lib/libc.so.4 -> libc.so.4.6.29

Geralmente, a pessoa precisa copiar manualmente as bibliotecas compartilhadas que o Linux  precisa apenas nas
primeiras vezes que um programa Linux e instalado no
FreeBSD. Depois de um tempo, haverá um conjunto suficiente de bibliotecas compartilhadas no sistema para ser
capaz de executar os programas do Linux recém-instalado sem qualquer trabalho extra.

Por enquanto e só.

1 COMMENT

LEAVE A REPLY