Skype on 64-bit Ubuntu Feisty Fawn via i386 chroot (and Gizmo Project too)

Most of the software I use is open source software. However, some software I use is just plain free software that has no source associated with it (like Skype and Gizmo Project). I took the challenge of wanting to run a 64-bit desktop, and I guess there are problems, but thats the beauty of Linux – you’ll want to fix said problems.

Google is always helpful – I found the Cedega wiki on how to setup a clean 32-bit chroot with debbootstrap. I improvised a little. I now have Skype running.

Setting up a 32-bit chroot on your 64-bit Ubuntu

  • sudo apt-get install dchroot debootstrap
  • sudo mkdir /chroot (/chroot is arbitrary. You can call it /feisty32 or /hoary32 or whatever you please depending on your requirements.)
  • echo "feisty /chroot" > /etc/dchroot.conf
  • sudo debootstrap --arch i386 feisty /chroot http://archive.ubuntu.com/ubuntu
  • sudo chroot /chroot
  • dpkg-reconfigure locales (I chose en_AU, you probably want to chose whatever else you use)
  • Edit /chroot/etc/apt/sources.list and make it so that its:
    deb http://archive.ubuntu.com/ubuntu feisty main restricted universe multiverse
    deb http://security.ubuntu.com/ubuntu feisty-security main restricted universe multiverse
  • Now, perform the apt-get update; apt-get upgrade routine
  • Out of the chroot, there are some interesting files to copy into the chroot:
  • sudo cp /etc/passwd /chroot/etc/
  • sudo cp /etc/shadow /chroot/etc/
  • sudo cp /etcgroup /chroot/etc/
  • sudo cp /etc/sudoers /chroot/etc/
  • sudo cp /etc/hosts /chroot/etc/
  • Now, edit /etc/fstab and make the following additions (at the bottom of the file, is OK):
    /home   /chroot/home    none    bind 0 0
    /tmp    /chroot/tmp     none    bind 0 0
    
    /dev    /chroot/dev     none    bind 0 0
    
    /proc   /chroot/proc    none    bind 0 0
  • sudo mount -a
  • Now create /usr/local/bin/do_dchroot and add the following. After that, make sure its executable (sudo chmod 755 /usr/local/bin/do_dchroot).
    #!/bin/sh
    
    /usr/bin/dchroot -d "`echo $0 | sed 's|^.*/||'` $*"
  • That’s it. You’ve now got a 32-bit chroot environment, and can install any 32-bit apps you please.

    Installing Skype
    First up, go download the .deb file from Skype. Then:

    • dchroot -d
    • dpkg -i skype.deb (Now, it will complain about missing debs. Then, I ran sudo apt-get install libstdc++5 libqt3-m. It will complain, so just do a sudo apt-get -f install.)
    • Excellent, Skype is now installed. Exit the chroot.
    • sudo ln -s /usr/local/bin/do_dchroot /usr/local/bin/skype
    • Now, run Skype!

    I did this similarly for Gizmo Project. Sound works a charm (thanks to /dev being mounted). The applications seem to run just fine.

    Technorati Tags: , , , , , ,

    17 Comments

    1. RMS says:

      I think you mean freeware, not “free software”. Free software referes to liberty, not beer. skhype is not free software.

    2. byte says:

      makes me wonder if rms is actually in melbourne now, as we speak… ;-0)

    3. Gustavo Guedes says:

      Hi, friend!

      There’s a little error in your article… the command:

      sudo debootstrap —arch i386 feisty /chroot http://archive.ubuntu.com/ubuntu

      is incorrect. One have to put a double hifen before the parameter “arch”, like below:

      sudo debootstrap –arch i386 feisty /chroot/ http://archive.ubuntu.com/ubuntu

      otherwise the command doesn’t run correctly, and the following steps will not work.

      Just that… :)

    4. byte says:

      Thanks Gustavo. I did state double-hifen, but the CSS magic on this website made it look like one long emdash! Sorry for the inconvenience…

    5. Manuel says:

      Sorry….I got stuck at third step
      –> echo “feisty /chroot” > /etc/dchroot.conf

      Console returns me a permission denied. Don’t really know what’s wrong.

    6. sam says:

      I got the same problem. Stuck at third step … same console returns me a permission denied. is it a vital step? I have some idea after looking at it, but I’m still not 100% sure what it does

    7. Andrew says:

      Manuel, Sam: try typing su to enter superuser mode first. This will require you to have set a root password using ‘sudo password root’ first. Be careful with this though, misuse of root can seriously break your box. And be sure to exit root by typing exit as soon as you’re done with the third step.

    8. seva says:

      algo mas sencillo

      descarga el tar.gz desde web oficial de skype, compilar y listo

      :) saludos

    9. Duncan says:

      Brilliant guide, thank you very much :-)

      Re: Andrew’s comment…. You can type “sudo -i” and enter your own password to gain access to a root prompt. This avoids setting a root password.

      I also had some problems setting a locale (step 6). It complained about not being able to set the local when I ran “dpkg-reconfigure locale”:

      locale: Cannot set LC_ALL to default locale: No such file or directory.

      To solve the problem I installed (via “apt-get install”) the following packages:

      locales, localeconf, language-pack-en

      Then I ran “dpkg-reconfigure localeconf”. You should choose the option to allow debconf to manage your locales, and then pick your chosen locale from the list shown on the following screen.

    10. Gianpaolo says:

      It fails while launching chroot /chroot

      it returns “chroot: cannot run command `/bin/bash’: No such file or directory”

      Tried as root of course.

      Thanks in advance,
      Gianpaolo

    11. Owen5 says:

      For the

      echo “feisty /chroot” > /etc/dchroot.conf

      error mentioned above, I simply used

      sudo gedit(or editor of choice) /etc/dchroot.conf

      and created the file with the line of text

      feisty /chroot

    12. Jonas Jensen says:

      What about getting the sound working? Should I configure the soundcard in chroot and if so how?

      Both microphone and speakers are currently working through OSS.

    13. byte says:

      Sound “just works”. didn’t do anything in the chroot, and I configure via volume control in the 64-bit environment

    14. Eemil Lagerspetz says:

      Hello,
      Skype inside chroot cannot open web links.
      It will tell You
      “Error showing url: There was an error launching the default action command associated with this location.”
      recent Skype installed with –force-architecture and with the proper 32-bit libs installed will not show display pictures.
      This is my dilemma. Any solutions?

    15. colin says:

      seems to work for me, the opening web links bit. but thats probably because i also run firefox in a chroot (so that i can get flash, and so on)

    16. Carlo Wood says:

      When I run ‘skype’ nothing happens, it just returns to the prompt.
      After setting $ export DISPLAY=localhost:0.0 it works though.

    17. Mayur says:

      I tried all you said, finally failed I don’t know what went wrong so i tried,
      dpkg -i –force-all skype.deb
      WORKED for me
      where skype.deb is in the folder..


    i