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ó.