Pular para o conteúdo principal

Executando programas 32 bits no Debian Etch amd64

Executando programas 32 bits no Debian Etch amd64

Este artigo descreve como criar uma gaiola de 32 bits para executar programas 32 bits no Debian Etch AMD64

Introdução

Como o surgimento dos processadores de 64 bits pode ser considerado recente muitos programas 32 bits ainda não possuem versões para a plataforma de 64 bits. O objetivo desse artigo é descrever como construir uma gaiola de 32 bits dentro de um sistema de 64 para executar programas 32 bits.

Construindo a gaiola de 32 bits

Para construir a gaiola de 32 bits vamos instalar os pacotes necessários:
# aptitude install debootstrap a32-libs a32-libs-gtk dchroot
Agora construiremos a gaiola:
# debootsrap --arch i386 /opt/chroot/etch-ia32 http://ftp.br.debian.org/debian
O penúltimo parâmetro é o diretório onde a gaiola será construída e o último é o repositório para obter os pacotes para a gaiola. Agora devemos alterar o arquivo /etc/ld.so.conf para permitir que o sistema de 64 use as bibliotecas da gaiola, acrescentaremos as seguintes linhas ao arquivo:
# chroot i386 system libs
/var/chroot/sid-ia32/lib
/var/chroot/sid-ia32/usr/lib
/var/chroot/sid-ia32/usr/X11R6/lib
/var/chroot/sid-ia32/usr/local/lib
Criamos um link para o linker da gaiola de 32 bits
ln -s /opt/chroot/etch-ia32/lib/ld-2.3.2.so /lib/ld-linux.so.2
Agora atualizaremos o cache linker das bibliotecas com o comando:
ldconfig
Agora vamos alterar o arquivo /etc/fstab para que alguns aplicativos da gaiola trabalhem normalmente, adicionaremos as seguintes linhas:
# ia32 chroot
/home /opt/chroot/etch-ia32/home none bind 0 0
/tmp /opt/chroot/etch-ia32/tmp none bind 0 0
proc /opt/chroot/etch-ia32/proc proc defaults 0 0
E em seguida montamos esses diretórios:
# mount /opt/chroot/etch-ia32/home
# mount /opt/chroot/etch-ia32/tmp
# mount /opt/chroot/etch-ia32/proc
Temos que fazer com que a gaiola enxergue os arquivos de configuração do sistema também, para isso vamos copiar esses arquivos para dentro da gaiola (alguns tutoriais dizem que pode-se criar links simbólicos, mas eu não testei):
# cp /etc/passwd /opt/chroot/etch-ia21/etc/
# cp /etc/shadow /opt/chroot/etch-ia21/etc/
# cp /etc/group /opt/chroot/etch-ia21/etc/
# cp /etc/resolv.conf /opt/chroot/etch-ia21/etc/
# cp /etc/networks /opt/chroot/etch-ia21/etc/
Agora podemos entrar dentro da gaiola:
# chroot /opt/chroot/etch-ia32
Atenção os passos que serão descritos agora serão executados dentro da gaiola após o comando anterior. Altere o o arquivo /etc/apt/source.list para instalação de pacotes dentro da gaiola:
deb http://ftp.br.debian.org/debian stable main contrib non-free
Instale os pacotes básicos para execução de outros programas dentro da gaiola:
aptitude install libX11-6 locales
Vamos instalar também o iceweasel e o plugin java que não apresenta versão de 64 bits:
aptitude install iceweasel-l10n-pt-br sun-java6-plugin
Saímos da gaiola:
exit
Agora estamos de volta no sistema de 64 bits fora da gaiola. Vamos configurar o dchroot para que qualquer usuário possa usar os programas da gaiola, alteraremos o arquivos /etc/dchroot.conf e acrescentamos as seguintes linhas:
#ia32 dchroot
ia32 /opt/chroot/etch-ia32
Depois disso, podemos executar programas de dentro da gaiola com o dchroot, por exemplo para executarmos o iceweasel que instalamos dentro da gaiola usamos o seguinte comando:
dchroot -c ia32 -d iceweasel
Agora podemos usar o plugin java em um sistema amd64.

Referências

Comentários

Postagens mais visitadas deste blog

Referências Bibliográficas com ABNTeX e JabRef

É inevitável escrever textos técnicos e científicos sem referências bibliográficas. Quando escrevemos em LaTeX a maneira mais conveniente de trabalhar com referências é a criação de bancos de dados bibliográficos que são incorporados ao documento final com o utilitário BibTeX . Estes bancos de dados são arquivos texto que obedecem uma formatação e possuem extensão "bib" . Para facilitar o nosso trabalho e não termos que nos preocupar com a formatação do arquivo podem ser utilizadas ferramentas específicas para trabalhar com arquivos BibTeX. Nesta postagem vamos explicar como trabalhar com o JabRef , um excelente software livre multiplataforma para lidar com arquivos BibTeX para documentos que usam a classe abnTeX  (Classes LaTeX para as normas ABNT). Antes de criarmos um arquivo e incluir qualquer referência vamos verificar algumas configurações importantes. A primeira delas é definir a codificação padrão para os arquivos através do menu "Options / Preferences" ....

Instalando o ZEOSDBO no Lazarus via Global Links

Neste tutorial iremos demonstrar como instalar os componentes ZEOSDBO para conexão com banco de dados da IDE Lazarus . Utilizaremos o Lazarus 0.9.26.2-2, o ZEOSDBO 6.6.5 e Debian Lenny 5.0.2. O ZEOZDBO deve ser descompactado em um diretório e que por sua vez eve ser copiado para /usr/lib/lazarus/components/ZEOZDBO-6.6.5 . Agora criaremos os global links que são arquivos texto que referenciam os pacotes (veja mais detalhes nesta postagem ) Crie os seguintes arquivos de no diretório /usr/lib/lazarus/packager/globallinks : zcomponent-6.6.5.lpl contendo "$(LazarusDir)/components/ZEOSDBO-6.6.5/packages/lazarus/zcomponent.lpk" zcore-6.6.5.lpl contendo "$(LazarusDir)/components/ZEOSDBO-6.6.5/packages/lazarus/zcore.lpk" zdbc-6.6.5.lpl contendo "$(LazarusDir)/components/ZEOSDBO-6.6.5/packages/lazarus/zdbc.lpk" zparsesql-6.6.5.lpl contendo "$(LazarusDir)/components/ZEOSDBO-6.6.5/packages/lazarus/zparsesql.lpk" zplain-6.6.5.lpl contendo ...

Cross-compile com Lazarus no Linux de maneira fácil

Este artigo descreve como realizar cross-compile de aplicações windows sobre a plataforma Linux de uma maneira mais simples. Introdução O Lazarus é um ambiente de desenvolvimento gráfico multi-plataforma que utiliza o compilador Free Pascal. Com ele é possível desenvolver aplicações de maneira muito semelhante ao Delphi. Na documentação wiki do Lazarus existe uma descrição (em inglês) de como realizar cross-compile de aplicações windows sobre a plataforma Linux. Porém, o principal objetivo deste artigo é descrever esta tarefa de uma maneira mais simples. Instalação Neste artigo serão utilizados Kurumin 6.1, Lazarus 0.9.20 e Freepascal 2.0.4, como será usado Kurumin ( que é um descendente do debian) baixei os pacotes para .deb no SourceForge , são eles: fpc-crosswin32_2.0.4-060919_i386.deb fp-compiler_2.0.4-1_i386.deb fpc-src_2.0.4-1_i386.deb fp-ide_2.0.4-1_i386.deb fp-units-base_2.0.4-1_i386.deb fp-units-db_2.0.4-1_i386.deb fp-units-fcl_2.0.4-1_i386.deb fp-units-fv_2.0.4-1_...