您的位置:首页 > 其它

HOWTO: 32-Bit Chroot on 64-Bit Installs (ubuntu)

2012-10-04 02:58 351 查看
Original: http://ubuntuforums.org/showthread.php?t=24575

Most of
this comes from http://digital-conquest.ath.cx/wiki/...h_debbootstrap but
I wanted to put together a cleaned up version that worked for me here (There are typos and inaccuracies on the wiki page).

REPLACE 'hoary' WITH YOUR CURRENT UBUNTU CODE NAME.



Quote:
Step 1:

sudo apt-get install dchroot debootstrap
sudo mkdir /chroot/
sudo gedit /etc/dchroot.conf

Add this line: hoary /chroot

sudo debootstrap --arch i386 hoary /chroot/ http://archive.ubuntu.com/ubuntu
sudo chroot /chroot/
dpkg-reconfigure locales

Step 2:

In another terminal window (or by existing chroot):

sudo gedit /chroot/etc/apt/sources.list
Add the following lines:

deb http://archive.ubuntu.com/ubuntu hoary main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu hoary-security main restricted universe multiverse

(We do this step because gedit has yet to be installed in the chroot environment)

Step 3:

In your chrooted environment (chroot /chroot):

apt-get update ; apt-get upgrade

Step 4:

In another terminal window (or by existing chroot):

sudo cp /etc/passwd /chroot/etc/
sudo cp /etc/shadow /chroot/etc/
sudo cp /etc/group /chroot/etc/
sudo cp /etc/sudoers /chroot/etc/
sudo cp /etc/hosts /chroot/etc/
sudo gedit /etc/fstab
Add the following lines:

/home /chroot/home none bind 0 0
/tmp /chroot/tmp none bind 0 0
/dev /chroot/dev none bind 0 0
/proc /chroot/proc proc defaults 0 0
/media/cdrom0 /chroot/media/cdrom0 none bind 0 0
/usr/share/fonts /chroot/usr/share/fonts none bind 0 0

sudo mkdir /chroot/media/cdrom0
sudo mount -a
sudo gedit /usr/local/bin/do_dchroot
Add the following:

#!/bin/sh
/usr/bin/dchroot -d "`echo $0 | sed 's|^.*/||'` $*"

sudo chmod 755 /usr/local/bin/do_dchroot

Step 5:

In a new terminal:

dchroot -d
sudo apt-get install synaptic
sudo ln -s /usr/sbin/synaptic /usr/sbin/synaptic32
exit
sudo ln -s /usr/local/bin/do_dchroot /usr/local/bin/synaptic32
sudo synaptic32

At this point
you should have a 32 bit environment setup with synaptic setup. When you run synaptic32 from your main environment it will chroot execute it and all installations will be made to your 32 bit environment. If you want to be able to easily launch 32 bit chroot
apps from your 64 bit environment symlink the app name to /usr/local/bin/do_dchroot. If you're using this as desktop system you'll probably want to use synaptic to install x, gnome, ubuntu specific themes, etc.

UPDATE:

To get Firefox
setup with Flash I did the following:

Ran sudo synaptic32 (as noted in the above thread
Installed mozilla-firefox
dchroot -d
sudo ln -s /usr/lib/libesd.so.0 /usr/lib/libesd.so.1
sudo ln -s /usr/bin/firefox /usr/bin/firefox32
exit
sudo ln -s /usr/local/bin/do_dchroot /usr/local/bin/firefox32
Made sure all instances of firefox are closed (you can not run both 32 and 64 bit firefoxes at the same time afaik... it just spawns a new 64 bit thread when you launch the old.
firefox32
Visited a site with flash on it and ran the automated firefox flash install.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐