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

# 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
# reboot the system
# 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

# 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
# get root access, to install sudo on your new jaunty
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.
### 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
# build a fake package to eliminate the kernel dependency
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


Comments

  1. 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.

    ReplyDelete
  2. Doesn'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.

    ReplyDelete
  3. Hi,
    I 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

    ReplyDelete
  4. Worked for me. Running Jaunty on AMD x64 on a home built tower. Nvidia GeForce 9600 GSO in the AGP slot.

    Thanks!

    ReplyDelete
  5. 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

    ReplyDelete
  6. try to do
    sudo mkdir /home/chroot
    before
    sudo mkdir /home/chroot/jaunty-32bit

    ReplyDelete
  7. As an NVIDIA user, I had to take a couple of extra steps, in addition to those described in your post:

    # 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!

    ReplyDelete
  8. Woot! Got it running very nicely now, complete with 185.18.14 NVIDIA driver, with a little help from the packages here:

    https://launchpad.net/~brandonsnider/+archive/ppa

    Thanks, lafa, for an excellent set of instructions. :)

    ReplyDelete
  9. 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.

    Matt

    ReplyDelete
  10. run
    schroot -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.

    ReplyDelete
  11. Am I the only one sorta wishing I had just used the 32-bit installation of ubuntu?! Oy vey!

    ReplyDelete
  12. for the record, I absolutely can't believe that this actually worked! :-) How would I install other 32-bit only apps in chroot?

    Thanks for the great step-by-step.

    ReplyDelete
  13. 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.

    ReplyDelete
  14. Worked great!! Just not getting any sound. Using MSI board with AMD 790FX chipset.

    ReplyDelete
  15. Make 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.

    ReplyDelete
  16. Thanks 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.

    Checked 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

    ReplyDelete
  17. Remember that you can install Ubuntu 32 bit and avoid all this pain :)
    Please 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"

    ReplyDelete
  18. Here is the resulting output (from the 'mount' command in "schroot -p -c jaunt-32-bit")

    proc 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

    ReplyDelete
  19. Ok, tried it again with "playsound" instead of "play". This is the message returned:

    ALSA 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???

    ReplyDelete
  20. Hi Drew,
    Look 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.

    ReplyDelete
  21. 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.

    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

    ReplyDelete
  22. Hope I'm not wearing you out, here's the result from the last st of commands:

    rm: 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!

    ReplyDelete
  23. I forgot to copy 2 extra lines, here it is:

    # 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

    ReplyDelete
  24. (Sigh)

    The 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

    ReplyDelete
  25. Hi Drewhew,
    The mount can't return just that.
    you should run the mount command on a comandline window and past the output here.

    ReplyDelete
  26. The results I showed was for the "mount" command run in schroot using Terminal.

    The "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)

    ReplyDelete
  27. sudo vi /home/chroot/jaunty-32-bit/etc/apt/sources
    =>
    sudo vi /home/chroot/jaunty-32-bit/etc/apt/sources.list

    ReplyDelete
  28. apt-get install sudo less nano vim
    =>
    apt-get install sudo less nano vim emacs
    :)

    (all going according to plan so far...)

    ReplyDelete
  29. 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.
    btw, a while ago I tried installing boxee using getlib(s?) - much shorter process, but it didn't work past startup.

    ReplyDelete
  30. Hi,
    I 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.

    ReplyDelete
  31. You should keep jaunty, since I don't think there is a version of boxee for karmic yet.

    ReplyDelete
  32. The 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

Post a Comment