Compiling the XO 1.5 Kernel on an F14 Desktop

Oh, goodness.  Whenever I think I have stuff down, the olpc devs go and stir things up.  Seems now when I try to compile the XO 1.5 kernel on an F11 desktop, I get a lot of errors about dracut-modules-olpc being too old.  Well, fine, but where do I get the newest version?  That dracut-modules-olpc has some mysterious and inscrutable git source code with no INSTALL instructions, so I couldn’t manage to compile nor install it from source.  It’s in the F14 repos, though, so gimme a sec while I torrent F14 beta and burn a DVD…


…So I set up Fedora 14 beta on another machine and managed to compile the XO 1.5 kernel with some funky yum fiddling.

First off, we all know we need to yum groupinstall “Development Tools” for compiling goodness.

This might all be out of order, so I apologize if you run into issues with the order of these steps.  But I have just about had it with this stuff tonight, so here’s pretty much what I did:

Downgrade these packages:

yum downgrade glibc-2.12.90-15.i686 glibc-2.12.90-15.i686 glibc-common-2.12.90-15.i686 libxcb-1.5-3.fc14.i686

Install Development Tools (you might need to downgrade some packages listed above after you do this):

yum groupinstall “Development Tools”

And install some other stuff:

yum install unifdef dracut dracut-modules-olpc

Optional for a gui for creating the .config:

yum install qt3-devel qt-devel

Go here to see the latest kernel sources:

http://dev.laptop.org/git/olpc-2.6/

Make sure you’re a regular user.  Go into the folder you want the kernel source to live, then:

git clone git://dev.laptop.org/olpc-2.6
cd olpc-2.6
git checkout origin/olpc-2.6.35

make xo_1.5_defconfig

make xconfig

make xo_1_5-kernel-rpm

To install the kernel rpms on the XO 1.5, the previous instructions I wrote up on this post still work:

http://birminghamxo.blogspot.com/2010/09/compiling-xo-15-kernel-on-f11-desktop.html

Yeah, I managed to successfully compile, install, and boot up into my kernel on the XO 1.5 under this new F14 beta stuff.  I live for the challenge!

Teamspeak 3 Client and Server

Teamspeak is a standalone client/server voice chat application you can run over your LAN, no internet required as long as the clients and server are connected to the LAN.  It makes a nifty little intercom and you can even share files.


The Teamspeak 3 client requires SSE support.  To see if the CPU is supported,

cat /proc/cpuinfo

and look for SSE in the flags.  The XO-1 doesn’t have SSE support, but the XO 1.5 does.

Teamspeak 2 works quite well on the XO-1, as does the Teamspeak 3 server.  However, Teamspeak 2 and 3 are completely incompatible – you can’t connect to a Teamspeak 3 server with the Teamspeak 2 client and vice versa.

To install the Teamspeak 3 client on the XO 1.5:

Get the x86 Linux client from the download link on the Teamspeak site:

http://www.teamspeak.com/

The file name should look something like TeamSpeak3-Client-linux_x86-3.0.0-beta31.run

chmod +x TeamSpeak3-Client-linux_x86-3.0.0-beta31.run
./TeamSpeak3-Client-linux_x86-3.0.0-beta31.run

Agree to the license (this is not FOSS) and it’ll extract a folder.  Get into it.

cd TeamSpeak3-Client-linux_x86

Copy over the libraries it wants to see:

sudo cp lib* /usr/lib

Now this should run Teamspeak 3:

./ts3client_linux_x86

The setup wizard is really easy.  I like to use the left side “hand” key for push to talk, and the right side “hand” key for mute.

To add Teamspeak to the GNOME menu, install this so you can edit the menu in a nice GUI:

yum install alacarte

Go to System -> Preferences -> Main Menu and add TeamSpeak3-Client-linux_x86/ts3client_runscript.sh as a menu item.

We’ve got our client set up, but it’s no good without a server!  You can run the client and server on a single XO 1.5 and other Teamspeak 3 clients will be able to connect over the LAN.

Get the x86 Linux Server package from the downloads page on teamspeak.com

Unpack the tarball

tar xzvf teamspeak3-server_linux-x86-3.0.0-beta29.tar.gz

Get into the directory

cd teamspeak3-server_linux-x86

Start it up for the first time:

./ts3server_startscript.sh start

You’ll see output like this.  Copy and paste it into a text file.

——————————————————————

                      I M P O R T A N T                          

——————————————————————

              Server Query Admin Acccount created                

         loginname= “serveradmin”, password= “3ZMR+NMi”

——————————————————————

——————————————————————

                      I M P O R T A N T                          

——————————————————————

      ServerAdmin privilege key created, please use it to gain

      serveradmin rights for your virtualserver. please

      also check the doc/token_guide.txt for details.



       token=mP1oVeoCN+Hv8x4+V46LZPSxDxH33wUNHRdWo5pH

——————————————————————

Hit ctrl+c to get the prompt back.  Get your IP on the LAN

ifconfig eth0

Open your client and go to Connections -> Connect  In the address tab, enter in your IP and connect.  Go to Permissions -> Use Priviledge Key.  Paste everything after token= into the dialog box.  Now you’ll be the server admin.

To stop the server:

./ts3server_startscript.sh stop

To restart the server:

./ts3server_startscript.sh restart

Enable File Transfers

This is the most incredible new feature in Teamspeak 3.

Right click on “Default Channel” and select “Channel Permissions.”  Scroll down to “File Transfer,” right click, and “Add Permission Group.”  Now you can right click on “Default Channel” and bring up the File Browser.  Click on the “Upload Files” icon and select a file to upload.  Now any client can right click on “Default Channel,” select the File Browser, and right click on files to download them.  Any client can upload as well.

I haven’t gotten into security issues, as we’re just running this on the LAN for now.  If you open the ports up to the wild, woolly Internetz, then you’ll probably want to secure things a bit better.

Note on sound volume:

If you can barely hear the audio on the XO 1.5, as it tends to be very low, turn it up to max with alsamixer.

alsamixer