Chroot em uma versão de 32 bits do Ubuntu a partir de um host de 64 bits

5

O Xilinx webPack 10.1 requer o Linux de 32 bits. Apenas esta versão antiga é compatível com suas placas. Como criar aplicativos de 32 bits trabalhar em um sistema operacional de 64 bits :

  1. Instalação de bibliotecas de compatibilidade de 32 bits (ia32-libs ou suporte a Multiarch)
    Já instalei ia32-libs e ainda não está funcionando

  2. Um chroot de 32 bits

  3. Virtualização completa através do KVM ou do VirtualBox Não, eu não quero estar trabalhando de um vm no próximo semestre, isso seria doloroso e eu prefiro apenas reinstalar todo o meu computador em um 32 bit os; que eu não quero fazer.

  4. Outra opção em um beliscão é getlibs getlibs Não parece que foi a melhor opção baseada no que eu vi.

Então eu fui fazer o # 2 e configurar um chroot para o Ubuntu Lucid de 32 bits (10.10). O que quer dizer que escrevi:

[hardy-i386]
description=Ubuntu 8.04 Hardy for i386
directory=/srv/chroot/hardy-i386
personality=linux32
root-users=leif
type=directory
users=leif

para

/etc/schroot/chroot.d/hardy-i386

Eu então corri:

$ sudo mkdir -p /srv/chroot/hardy_i386
$ sudo debootstrap --variant=buildd --arch i386 hardy /srv/chroot/hardy_i386 http://archive.ubuntu.com/ubuntu/

Então eu corri:

$ schroot -l

E ele mostrou o chroot correto, mas quando eu corro:

$ schroot -c hardy-i386 -u root

Eu recebo o seguinte erro:

E: 10mount: error: Directory '/srv/chroot/hardy-i386' does not exist
E: 10mount: warning: Mount location /var/lib/schroot/mount/hardy-i386-80359697-2164-4b10-a05a-89b0f497c4f1 no longer exists; skipping unmount
E: hardy-i386-80359697-2164-4b10-a05a-89b0f497c4f1: Chroot setup failed: stage=setup-start

/srv/chroot/hardy-i386 certamente existe. Eu também tentei substituir todas as referências com hardy para lúcida, sem sucesso. Eu configurei o ambiente do Chrome OS: link e ele me fez usar algo com chmod .

Então, alguém pode descobrir qual é o problema?

    
por Leif Andersen 08.01.2011 / 02:33

2 respostas

3

você pode tentar

linux32 ./setup

isso ajuda em 32 bits de equipes em servidores de 64 bits.

do man: (linux32 é um alias de setarch)

   setarch  -  change reported architecture in new program environment and
   set personality flags
    
por aatdark 08.01.2011 / 16:07
2

Há um erro de digitação em suas instruções, em /etc/schroot/chroot.d/hardy-i386 você está usando / srv / chroot / hardy-i386, enquanto que para o mkdir / debootstrap você está usando o hardy_i386 para o diretório. Isso explica o erro.

Acabei de corrigir o caminho em /etc/schroot/chroot.d/hardy-i386, testado, funcionou como esperado.

    
por João Pinto 08.01.2011 / 18:36