web-dev-qa-db-fra.com

Chroot dans une version 32 bits d'Ubuntu à partir d'un hôte 64 bits

Xilinx webPack 10.1 nécessite Linux 32 bits. Seule cette ancienne version est compatible avec leurs cartes. Comment faire en sorte que les applications 32 bits fonctionnent sur un système d'exploitation 64 bits Listes:

  1. Installation de bibliothèques de compatibilité 32 bits (prise en charge de ia32-libs ou Multiarch)
    J'ai déjà installé ia32-libs, et ça ne fonctionne toujours pas

  2. Un 32 bits chroot

  3. Virtualisation complète via KVM ou VirtualBox Non, je ne veux pas travailler à partir d'un vm tout au long du semestre, ce serait pénible et je préférerais simplement réinstaller tout mon ordinateur sur un système d'exploitation 32 bits; ce que je ne veux pas faire.

  4. Une autre option dans une pincée est getlibs getlibs Cela ne semblait pas être la meilleure option en fonction de ce que j'ai vu.

Je suis donc parti faire la deuxième tâche et installer un chroot pour Ubuntu Lucid 32 bits (10.10). Ce qui revient à dire que j'ai écrit:

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

à

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

J'ai ensuite couru:

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

Puis j'ai couru:

$ schroot -l

Et il a montré le bon chroot, mais quand je cours:

$ schroot -c hardy-i386 -u root

Je reçois l'erreur suivante:

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 existe certainement. Je l'ai également essayé en remplaçant toutes les références par hardy à lucide, en vain. J'ai mis en place l'environnement chrome os: http://www.chromium.org/chromium-os/developer-guide et il m'a fait utiliser quelque chose avec chmod.

Alors, quelqu'un peut-il comprendre quel est le problème?

5
Leif Andersen

vous pouvez essayer

linux32 ./setup

cela aide pour teamspeak 32 bits sur les serveurs 64 bits.

de man: (linux32 est un alias setarch)

   setarch  -  change reported architecture in new program environment and
   set personality flags
3
aatdark

Il y a une faute de frappe dans vos instructions: sur /etc/schroot/chroot.d/hardy-i386, vous utilisez/srv/chroot/hardy-i386, alors que pour mkdir/debootstrap, vous utilisez hardy_i386, pour le répertoire. Cela explique l'erreur.

Je viens de fixer le chemin dans /etc/schroot/chroot.d/hardy-i386, testé, cela a fonctionné comme prévu.

2
João Pinto