K12LTSP5 EL + K12Linux Sound working and localdev (sort of)

William Fragakis william at fragakis.com
Mon Nov 17 19:37:55 UTC 2008

I've been able to modify a K12LTSP5 EL installation to use LTSP5 with
working sound and (sort of, see below) working local devices. I hope the
following helps. Let me know if you run into any problems following what
I have below because I was never the best at taking notes.

It requires the use of some f8 and f9 rpms and you are definitely skiing
off-piste here - you are on your own. But it does work in my limited
testing. Unfortunately, I had to reinvent Warren Togami's wheel a bit
because I had googled for Centos instead of RHEL and ended up sorting
out what he quite elegantly details in his nice guide into getting a
base install of LTSP 5 onto RHEL5 here:

I began with a vanilla install of K12LTSP 5 EL (Centos 5) 32 bit and ran
yum update which brought the installation up to ver. 5.2. Lacking
Warren's tutorial, I copied the relevant files over from a working F9
K12Linux install and edit configuration files accordingly. I had to copy
the /opt/ltsp/i386 directly via ssh because uncompressing or burning the
directory kept generating errors because of the symlinks that were
beyond my proficiency to correct. I retained the legacy networking
scheme. If you are unfamiliar with installing k12Linux, I highly
recommend proceeding from Warren's tutorial. For those of you who want
to skip to the good part...

from Warren -
rpm -Uhv

yum install ltsp-server

copy in new client root (copy from working installation or Warren's
run ltsp-update-sshkeys and ltsp-update-kernels

set up networking and enable new services

post (after) Warren's tutorial
for sound:
yum remove ltsp_esound* 
(this may obsolete the next step but I came from a different direction.
Please let me know)
rpm -ev esound --nodeps

or your favorite f8 mirror, install the following:

these are require to install alsa-lib, iirc


next install
alsa-plugins-pulseaudio.i386             1.0.15-3.fc8.1          

 the pulse packages come from rhel5 repository, iirc
gstreamer-plugins-pulse.i386             0.9.5-0.5.svn20070924   
pulseaudio.i386                          0.9.10-1.el5.1              
pulseaudio-core-libs.i386                0.9.10-1.el5.1              
pulseaudio-esound-compat.i386            0.9.10-1.el5.1         i     
pulseaudio-libs.i386                     0.9.10-1.el5.1            
pulseaudio-libs-glib2.i386               0.9.10-1.el5.1              
pulseaudio-libs-zeroconf.i386            0.9.10-1.el5.1            
pulseaudio-module-gconf.i386             0.9.10-1.el5.1             
pulseaudio-module-x11.i386               0.9.10-1.el5.1           
pulseaudio-module-zeroconf.i386          0.9.10-1.el5.1               
pulseaudio-utils.i386                    0.9.10-1.el5.1         

while you are adding stuff:
afaik, you'll need this to support nbd swap;

add /etc/asound.conf with the following contents

#Generated by system-config-soundcard, do not edit by hand
#DEV 0
defaults.pcm.card 0 
defaults.pcm.device 0 
defaults.ctl.card 0 
pcm.pulse {
    type pulse

ctl.pulse {
    type pulse
pcm.!default {
    type pulse
ctl.!default {
    type pulse

compare/create  /etc/alsa/pulse-default.conf  so it looks like this:

# PulseAudio plugin configuration
# $Id: pulse-default.conf,v 1.3 2008/03/09 15:50:49 lkundrak Exp $

# Let's create a virtual device "pulse" for mixer and PCM

pcm.pulse {
    type pulse
    hint {
        description "PulseAudio Sound Server"

ctl.pulse {
    type pulse
    hint {
        description "PulseAudio Sound Server"

# Let's make it the default!

pcm.!default {
    type pulse
    hint {
        description "Default"

ctl.!default {
    type pulse
    hint {
        description "Default"

go to System -> Preferences -> Sound and choose Alsa for your output. If
you get gsink errors, make sure that your pulse-default.conf and
asound.conf files are correct. You should be able to play test tones on
your client.

update or install flash-plugin (Flash 10)

Now, you should be able to watch something fun like Snow Patrol on


for local devices - 

for using local devices, I could only get usb sticks to work. After
upgrading to the most recent ltspfs package, I couldn't
generate  /dev/cdrom. Anyone have any ideas? I don't know if it's an
issue with ltspfs or cdpinger, etc. I could at least get an cdrom icon
before the update.

Double check this file or fuse will create incorrect permissions.
(correct Group from root to fuse)

KERNEL=="fuse", NAME="%k", MODE="0666",OWNER="root",GROUP="fuse"

add your regular user to the fuse group. 

Your usb stick will show up in /media/foouser/ 
K12Linux uses gvfs to automatically have an icon appear for you. Perhaps
someone can wrestle with ltspfsmounter (?) and generate an icon/link on
the user desktop, etc.

post mortem
fail dep resolution - require lib.esd

usb stick appears in obscure location.

Sound works great.

My thanks to Peter Scheie who allowed me to bounce some ideas off of

William Fragakis

More information about the K12Linux-devel-list mailing list