从64位主机Chroot到32位版本的Ubuntu

Xilinx webPack 10.1需要32位Linux。 只有这个旧版本与他们的主板兼容。 如何使32位应用程序在64位操作系统列表上运行 :

  1. 安装32位兼容性库(ia32-libs或Multiarch支持)
    我已经安装了ia32-libs,但它仍然无法正常工作

  2. 一个32位的chroot

  3. 通过KVM或VirtualBox完全虚拟化不,我不想在下学期全部使用vm,这将是痛苦的,我宁愿只将我的整台计算机重新安装到32位操作系统; 这是我不想做的。

  4. 紧要关头的另一个选择是getlibs getlibs听起来它不是基于我所见过的最佳选择。

所以我去做了#2,并为32位Ubuntu Lucid(10.10)设置了一个chroot。 这就是我写的:

[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 

然后我跑了:

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

然后我跑了:

 $ schroot -l 

它显示了正确的chroot,但是当我运行时:

 $ schroot -c hardy-i386 -u root 

我收到以下错误:

 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肯定存在。 我也尝试过用耐寒清除替换所有参考文献,但无济于事。 我确实设置了chrome os环境: http : //www.chromium.org/chromium-os/developer-guide ,它让我使用chmod

那么,任何人都可以找出问题所在吗?

你可以试试

 linux32 ./setup 

这对64位服务器上的32位团队提供了帮助。

来自man:(linux32是一个setarch别名)

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

你的指令上有一个拼写错误,在/etc/schroot/chroot.d/hardy-i386上你正在使用/ srv / chroot / hardy-i386,而对于mkdir / debootstrap你正在使用hardy_i386作为目录。 这解释了错误。

我刚刚修改了/etc/schroot/chroot.d/hardy-i386的路径,经测试,它按预期工作。