How to install Boxee in a Ubuntu 64 bit
sudo apt-get install schroot
sudo mkdir /home/chroot (or another location)
sudo mkdir /home/chroot/jaunty-32-bit (or another location)
sudo vi /etc/schroot/schroot.conf
[jaunty-32-bit]
aliases=default
description=Jaunty 32-bit
type=plain
location=/home/chroot/jaunty-32-bit
priority=3
run-setup-scripts=false
personality=linux32
groups=admin
root-users=lafa
sudo apt-get install debootstrap
sudo debootstrap --variant=buildd --arch i386 jaunty /home/chroot/jaunty-32-bit http://archive.ubuntu.com/ubuntu/
sudo mkdir /home/chroot/jaunty-32-bit/etc/etc-from-root
sudo vi /etc/fstab
# reboot the system
# For 32-bit jaunty chroot
/home /home/chroot/jaunty-32-bit/home none rbind 0 0
/dev /home/chroot/jaunty-32-bit/dev none rbind 0 0
/etc /home/chroot/jaunty-32-bit/etc/etc-from-root none bind 0 0
/proc /home/chroot/jaunty-32-bit/proc none rbind 0 0
/media /home/chroot/jaunty-32-bit/media none rbind 0 0
/mnt /home/chroot/jaunty-32-bit/mnt none rbind 0 0
/tmp /home/chroot/jaunty-32-bit/tmp none rbind 0 0
# verify that all the mounts are done after the reboot, by typing mount
sudo vi /home/chroot/jaunty-32-bit/etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu jaunty main universe restricted multiverse# get root access, to install sudo on your new jaunty
# for boxee
deb http://security.ubuntu.com/ubuntu/ jaunty-security universe main multiverse restricted
deb http://archive.ubuntu.com/ubuntu jaunty-updates universe main multiverse restricted
deb http://archive.ubuntu.com/ubuntu jaunty-backports universe main multiverse restricted
sudo bash
schroot -p -c jaunty-32-bit
# to check you are in 32 bit type "uname -m" you should get i686
apt-get update
# install sudo
apt-get install sudo less nano vim
cd /etc
# fix passwords, and hostname
for i in group gshadow hosts hosts.allow hosts.deny passwd resolv.conf shadow; do rm $i; ln -s etc-from-root/$i $i; done
# fix sudoers
cp etc-from-root/sudoers sudoers
# exit schroot
exit
# exit root shell
exit
# as a normal user
schroot -p -c jaunty-32-bit
sudo apt-get update
sudo apt-get upgrade
# install boxee and some other apps that will fix some dependencies for flashplugin and boxee to work without problems
sudo apt-get install software-properties-gtk util-linux firefox libasound2-plugins gnome-terminal x11-apps
# add a software source
sudo software-properties-gtk
# enable communit-maintained, proprietary drivers, software restricted on the "Ubuntu Software" tab
# In "third-Party Software" tab add for boxee
deb http://apt.boxee.tv jaunty main
deb http://apt.boxee.tv jaunty test
# In updates Tab enable Important and recommended updates
# install boxee
sudo apt-get install boxee
#exit schroot
exit
# to run boxee type
schroot -c jaunty-32-bit -p /opt/boxee/Boxee
To create a link on the desktop to boxee, just check the image below:
I tried this on a computer with a intel video chipset.
For nvidia you need extra steps:
schroot -p -c jaunty-32-bit
apt-get install libglitz-glx1 rss-glx xserver-xorg xorg mesa-utils gedit equivs nvidia-180-libvdpau
equivs-control nvidia-kernel-control
# edit the file to look like this
gedit nvidia-kernel-control
### Commented entries have reasonable defaults.# build a fake package to eliminate the kernel dependency
### Uncomment to edit them.
Section: misc
Priority: optional
Standards-Version: 3.6.2
Package: nvidia-180-kernel-source
Version: 180.44-0ubuntu1
# Maintainer: Your Name
# Pre-Depends:
# Depends:
# Recommends:
# Suggests:
# Provides:
# Replaces:
# Architecture: all
# Copyright:
# Changelog:
# Readme:
# Extra-Files:
Description:
long description and info
.
second paragraph
equivs-build nvidia-kernel-control
#install fake package
sudo dpkg -i nvidia-180-kernel-source_180.44-0ubuntu1_all.deb
# make sure the kernel is not installed
sudo apt-get install nvidia-glx-180
# now boxee should work fine
I am confused. You show command to link /etc/passwd, shadow, etc FROM etc-from-root, but no steps before that copy anything to ect-from-root. It is empty.
ReplyDeleteDoesn't work on my system. I have jaunty and changed all intrepid refs to jaunty. I did a different hack too that does not use schroot, but getlibs instead, it does same thing. I start Boxee, the screen clears and an error message about alsa and then segmentation fault. On other hack I just got segmentation fault.
ReplyDeleteHi,
ReplyDeleteI think you have a nvidia card or ati card. I edited updated the post use Jaunty instead of intrepid, and added a section at the end for nvidia. Take a look and see it works now
Worked for me. Running Jaunty on AMD x64 on a home built tower. Nvidia GeForce 9600 GSO in the AGP slot.
ReplyDeleteThanks!
Something is missing. When I copy and paste sudo mkdir /home/chroot/jaunty-32bit, I get the error mkdir: cannot create directory. no such file or directory
ReplyDeletetry to do
ReplyDeletesudo mkdir /home/chroot
before
sudo mkdir /home/chroot/jaunty-32bit
As an NVIDIA user, I had to take a couple of extra steps, in addition to those described in your post:
ReplyDelete# change en_US.UTF-8 as appropriate for your locale
sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales
# comment out these lines in nvidia-kernel-control as shown here
#Description:
#long description and info
#.
#second paragraph
Other than that, the installation process is going great so far with your instructions!
Woot! Got it running very nicely now, complete with 185.18.14 NVIDIA driver, with a little help from the packages here:
ReplyDeletehttps://launchpad.net/~brandonsnider/+archive/ppa
Thanks, lafa, for an excellent set of instructions. :)
Followed the instructions... Boxee starts and plays local content but most off site stuff doesn't work. Apple Movie Trailers, almost all other plugin sites etc. I suspect that I am missing some key codec but I am not sure what to do about it.
ReplyDeleteMatt
run
ReplyDeleteschroot -p -c jaunty-32-bit
to go into 32 bit mode
install whatever you need
using
sudo apt-get install APPNAME
but make sure no 32 bit kernel is installed, since that might corrupt your grub.
You can install synaptic in the 32 ubuntu to make it easier.
Am I the only one sorta wishing I had just used the 32-bit installation of ubuntu?! Oy vey!
ReplyDeletefor the record, I absolutely can't believe that this actually worked! :-) How would I install other 32-bit only apps in chroot?
ReplyDeleteThanks for the great step-by-step.
Jeff - Just follow the tutorial and instead of Boxee install any other 32 bit application. Just make sure no kernel package is installed under the 32 bit mode, because it might corrupt your grub, so pay attention to the dependencies when installing 32 bit apps.
ReplyDeleteWorked great!! Just not getting any sound. Using MSI board with AMD 790FX chipset.
ReplyDeleteMake sure /dev is mounted on the 32 bit and use alsa drivers. I have another post on how to make sound worked with skype on Ubuntu Jaunty, that might give you some tips.
ReplyDeleteThanks for the suggestion. Checked mounts under schroot and it seems only /proc and /sys are mounted. I still consider myself something of a noob, so I'd love a few pointers as to how to get /dev mounted.
ReplyDeleteChecked out the Skype article - really didn't help much as I had already gone through the process of removing pulseaudio and installing esound (no improvement obviously). And I have been trying all the options in the sound preferences to no avail.
Thanks
Remember that you can install Ubuntu 32 bit and avoid all this pain :)
ReplyDeletePlease paste the output of the mount command under 64 bit OS.
You can use the play command under 32 bit command line to validate the the sound is working.
play "/home/lafa/Music/David Gray/White Ladder/02 - Babylon.ogg"
Here is the resulting output (from the 'mount' command in "schroot -p -c jaunt-32-bit")
ReplyDeleteproc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
I actually love how the system is running under 64 bit (in addition to the fact that I was hoping to take advantage of the entire 4gb RAM). It also allows me to learn a little more - like setting up this chroot - as I have to go the extra mile to get some features or programmes working under 64 bit.
Tried to play the file as suggested, but "play: command not found" is returned
Ok, tried it again with "playsound" instead of "play". This is the message returned:
ReplyDeleteALSA lib pcm_dmix.c:1008:(snd_pcm_dmix_open) unable to open slave
Couldn't open audio device!
reason: [Couldn't open /usr/local/lib/timidity/timidity.cfg].
Any suggestions???
Hi Drew,
ReplyDeleteLook like a permissions problem, can you run the mount command on the 64 bit OS and past the output.
Here a sample of mine
$ mount
...
/home on /home/chroot/jaunty-32-bit/home type none (rw,bind)
/dev on /home/chroot/jaunty-32-bit/dev type none (rw,bind)
/etc on /home/chroot/jaunty-32-bit/etc/etc-from-root type none (rw,bind)
/proc on /home/chroot/jaunty-32-bit/proc type none (rw,bind)
/media on /home/chroot/jaunty-32-bit/media type none (rw,bind)
/mnt on /home/chroot/jaunty-32-bit/mnt type none (rw,bind)
/tmp on /home/chroot/jaunty-32-bit/tmp type none (rw,bind)
...
make sure home, dev, etc, proc, media, mnt, tmp are mounted on the 32 bit mode.
Make sure you are using the same user.
Check the tutorial and run this part that links [gshadow hosts hosts.allow hosts.deny passwd resolv.conf shadow] make sure the links are valid after they are created.
ReplyDeleteschroot -p -c jaunty-32-bit
cd /etc
# fix passwords, and hostname
for i in group gshadow hosts hosts.allow hosts.deny passwd resolv.conf shadow; do rm $i; ln -s etc-from-root/$i $i; done
# fix sudoers
cp etc-from-root/sudoers sudoers
# exit schroot
exit
# exit root shell
exit
Hope I'm not wearing you out, here's the result from the last st of commands:
ReplyDeleterm: cannot remove `group': Permission denied
ln: creating symbolic link `group': File exists
rm: cannot remove `gshadow': Permission denied
ln: creating symbolic link `gshadow': File exists
rm: cannot remove `hosts': Permission denied
ln: creating symbolic link `hosts': File exists
rm: cannot remove `hosts.allow': Permission denied
ln: creating symbolic link `hosts.allow': File exists
rm: cannot remove `hosts.deny': Permission denied
ln: creating symbolic link `hosts.deny': File exists
rm: cannot remove `passwd': Permission denied
ln: creating symbolic link `passwd': File exists
rm: cannot remove `resolv.conf': Permission denied
ln: creating symbolic link `resolv.conf': File exists
rm: cannot remove `shadow': Permission denied
ln: creating symbolic link `shadow': File exists
AND
cp: cannot open `etc-from-root/sudoers' for reading: Permission denied
All this was done in "schroot -p -c jaunty-32-bit"
I went as far as to try "sudo" before the commands. No luck!
I forgot to copy 2 extra lines, here it is:
ReplyDelete# get root access, to install sudo on your new jaunty
sudo bash
schroot -p -c jaunty-32-bit
cd /etc
# fix passwords, and hostname
for i in group gshadow hosts hosts.allow hosts.deny passwd resolv.conf shadow; do rm $i; ln -s etc-from-root/$i $i; done
# fix sudoers
cp etc-from-root/sudoers sudoers
# exit schroot
exit
# exit root shell
exit
(Sigh)
ReplyDeleteThe good news is: after installing sudo on the 32bit Jaunty, the commands went through ok.
Bad news:
Still no sound :'(
Tried "playsound" command again -
ALSA lib pcm_dmix.c:1008:(snd_pcm_dmix_open) unable to open slave
Couldn't open audio device!
reason: [Couldn't open timidity.cfg].
I had noticed the timidity.cfg error before so I installed timidity in schroot, but NADA!!
Tried the mount command again just to make sure:
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
Aaaaaaaaaaagggghhhhhh!!!!!!
(Sigh) All a part of the learning curve I suppose
Hi Drewhew,
ReplyDeleteThe mount can't return just that.
you should run the mount command on a comandline window and past the output here.
The results I showed was for the "mount" command run in schroot using Terminal.
ReplyDeleteThe "mount" command in Terminal (in Jaunty 64-bit) yields:
/dev/sdb5 on / type ext3 (rw,relatime,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,nosuid,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
lrm on /lib/modules/2.6.28-14-generic/volatile type tmpfs (rw,mode=755)
/home on /home/chroot/jaunty-32-bit/home type none (rw,bind)
/dev on /home/chroot/jaunty-32-bit/dev type none (rw,bind)
/etc on /home/chroot/jaunty-32-bit/etc/etc-from-root type none (rw,bind)
/proc on /home/chroot/jaunty-32-bit/proc type none (rw,bind)
/media on /home/chroot/jaunty-32-bit/media type none (rw,bind)
/mnt on /home/chroot/jaunty-32-bit/mnt type none (rw,bind)
/tmp on /home/chroot/jaunty-32-bit/tmp type none (rw,bind)
securityfs on /sys/kernel/security type securityfs (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/drewhew/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=drewhew)
sudo vi /home/chroot/jaunty-32-bit/etc/apt/sources
ReplyDelete=>
sudo vi /home/chroot/jaunty-32-bit/etc/apt/sources.list
Thanks, I updated the post.
ReplyDeleteapt-get install sudo less nano vim
ReplyDelete=>
apt-get install sudo less nano vim emacs
:)
(all going according to plan so far...)
Many thanks for this, wow long-winded, but worked a treat (also my first exposure to chroot - cool!). Only thing I did slightly different was using "32-bit" rather than "jaunty-32-bit" in anticipation of Karmic.
ReplyDeletebtw, a while ago I tried installing boxee using getlib(s?) - much shorter process, but it didn't work past startup.
Hi,
ReplyDeleteI am a newbie to Ubuntu. I have loaded Karmic Koala and I do have an ATI card.
Thank you for taking this effort to write it down..
Should I replace references to "jaunty" with "karmic"? Please let me know.
You should keep jaunty, since I don't think there is a version of boxee for karmic yet.
ReplyDeleteThe 64 bit Beta is out & I've installed it in Karmic. So far it is working just fine. I wish I could use it to stream Netflix, though.
ReplyDelete