Wireless LTSP  on Ubuntu 9.04  LTSP (Linux Terminal Server Project) used in wireless networks is very usefull a pratic. I have  noticed there is no tutorial about it in portuguese, The only one I found that describe how to make it  work is  http://www.

lug­kr.de/wiki/ThinClientLokalBooten (in german). His autor, LUG Krefeld,  made an excellent job making it possible. What I will do here is write detailed and aditional  information  that I am sure will help. The two scrips used here were made by de LUG Krefeld. This  tutorial as shown work in ubuntu 9.04 In other ubuntu based distro it will work with few  modifications. In other distros such as Fedora, Suse more modifications will be necessary since the  boot and the init are different. There are two ways to have LTSP working in ubuntu.  1. Method: The ubuntu 9.04 cd alredy comes withs LTSP, just press F4 in the boot menu and choose "Install an  LTSP Server" . Just be aware to choose what interfaces is the internet one because the other will  serve the LTSP requests. 2. Method:  LTSP can be easyly installed in a alredy installed ubuntu.  sudo apt­get update  sudo apt­get install ltsp­server­standalone openssh­server  sudo ltsp­build­client  If Ubuntu 9.04 X86_64 is being used it is recommended to use the command below because  the  client will  probably be i386 sudo ltsp­build­client ­­arch i386  With any of the two methods, LTSP will alredy been installed  A little theory.   In wired networks all that we have to do is to boot by pxe (avaiable in most motherboards ) or, if  unavaiable boot by Etherboot/GPXe. In both case there will be a dhcp requisition, the server will  return an ip and a little image by TFTP  and this image will load the kernel plus the image and  continue boot.      In wireless netwoks is a little diferent because there are no wireless devices that come with boot  embedded. In Eherboot/GPXe also there are no wireless drivers.   The solution I write here is to boot the kernel with a modified initrd.  For who does not know , in the standart boot procedure the little image loaded by TFTP later loads  the kernel and the initrd (that are on the server) and foward the boot procedure. With grub installed 

 packages to allow making a  wireless connection.  mkdir pacotes_wireless  cd pacotes_wireless  sudo aptitude download wireless­tools libiw29 libc6 libssl0.will have to change it in the  script  "wirelessboot" too. What will be done is  incluide alredy in this initrd everything necessary to make wireless LTSP possible. The next command extracts the content of the packages to a folder(wireless)  sudo su  for package in *.lug­kr.de/wiki/ThinClientLokalBooten  The first does not need to be modified. It is better to do this way rather than copy  directely to the LTSP root (/opt/ltsp/i386/) for a matter of organization This tutorial uses two scripts made by LUG Krefeld  http://www. This packages are for ubuntu  9. Think this folder(wireless) as being the  root of a system.8 openvpn liblzo1 zlib1g  This will download the necessary packages to the corrent directory. do dpkg ­x $package wireless . In the ubuntu initrd there are no wireless drivers. Some little varations can happen in other distros or versions.we can load this kernel plus the image localy . I will give examples with grub.deb .04. so I will not translate. On of the scripts is responsible  for making all the inclusions and the other two capture what is typed at boot . The second scrips must be modified  depending of the wireless device used. . the  libiw29  depending in the linux version can be libiw28  Remember that if you change the folder name (wireless). The image and the kernel are in the folder  /opt/ltsp/i386/boot in the server.for example. After the modifications are made the gerenerated image (initrd) and the kernel (which was not  altered) will need to be booted somehow.   This packages are necessary to make possible the wireless connection. they are only loaded after. Some things have to be modified in the initrd: include wireless drivers. like essid and  password. done  The folder wireless must be copied to /opt/ltsp/i386/root . for exemple. and two scrips that were made by LUG Krefeld. Beginning with the packages:  make a folder to download the packages. the result will be the same. One of the scripts will later copy the contents of the folder to the root of the new  image that will then allow the wireless conection.9.

          esac    done    if [ ­n "${device}" ]...                  wirelesskey=*)                          wirelesskey=${x#wirelesskey=}                  .it not necessary to modify ­­­    #!/bin/sh    PREREQ="udev"    prereqs()    {          echo "$PREREQ"    }    case $1 in          prereqs)                  prereqs                  exit 0          .. den WLAN­Treiber zu installieren          sleep 5  .  Give it the name “wireless” and copy  it  to folder  /opt/ltsp/i386/etc/initramfs­tools/scripts/init­premount/ .. do          case $x in                  device=*)                          device=${x#device=}                  . then          # dem USB­System Zeit lassen. then          DEVICE=$device          # den Wert fuer nachfolgende Skripte speichern          echo "DEVICE=${device}" >>/conf/param.                  essid=*)                          essid=${x#essid=}                  .                  hostname=*)                          hostname=${x#hostname=}                  .    esac    for x in $(cat /proc/cmdline).conf    fi    if [ ­n "${essid}" ]..                  openvpn=*)                          openvpn=${x#openvpn=}                  ..The purpose of the first script is catch the command options passed to grub (or another boot  manager)in the boot and connect to the wireless network.

 /tmp/net­${DEVICE}. then          # Als Parameter muss ein lokales Device angegeben werden. schadet anderen aber wohl nicht:          ifconfig $DEVICE up          if [ ­n "${wirelesskey}" ]."          mount $openvpn /mnt/          # zuerst sollte die Basisverbindung konfiguriert werden          ipconfig $DEVICE          # source relevant ipconfig output          . ueber welches Netz ich komme          ifconfig eth0 down          until ifconfig tap1. done          ifconfig tap1 down          mac=`ifconfig eth0|grep eth0`          ifconfig tap1 hw ether ${mac#*HWaddr}          ifconfig tap1 up          # Die weiteren Skripte sollen jetzt vom tun­Device als Hauptdevice ausgehen          echo "DEVICE=tap1" >>/conf/param.conf          # OpenVPN benoetigt seinerseits evtl. do sleep 1."    fi  ­­­  The second script (which needs to be modified) is: ­­­    #!/bin/sh    . /usr/share/initramfs­tools/hook­functions    PREREQ="lvm"    prereqs()    {          echo "$PREREQ"    }    case $1 in  . then                  iwconfig $DEVICE key $wirelesskey          fi          iwconfig $DEVICE essid $essid    fi    if [ ­n "${openvpn}" ].. in dem die Schluessel liegen          echo ­n "OpenVPN startet.conf          # Ich setze die MAC­Adresse des tun­Devices auf die meiner Ethernet­Schnittstelle          # So ist es dem DHCP­Server egal.conf          echo "Fertig.        # Besonderheit fuer rt73­Treiber.conf          # Jetzt sollte das Ding starten:          /usr/sbin/openvpn ­­daemon ­­cd /mnt/openvpn ­­config /mnt/openvpn/${hostname}. auch den Nameserver          echo "nameserver $IPV4DNS0" >/etc/resolv..

    esac    echo "Adding wireless modules"        force_load ide­disk    force_load generic    force_load tun    cp ­a /root/wireless/* "${DESTDIR}/"  This scripts needs to be altered.img­2.. it will 30 or more lines . its difficult is to not carry  garbage. After editing copy all this lines to  before the last script line (cp ­a /root/wireless/* "${DESTDIR}/") Save the script. just and. The easiest way to know which modules are used in the client is to  boot  ubuntu or xubuntu in the client and make the following comand: lsmod > modules This will generate a file that contains the modules used at the left side and the dependencies at the  right side . but soon I or someone will do it. When both scripts are copied to their respective folders do the command below:  sudo chroot /opt/ltsp/i386 update­initramfs ­u  In the folder /opt/ltsp/i386/boot will be the kernel (which is the same) and the new initrd (which will  have more or less 14mb. and depends on the wireless device used in the client.6. In this script we must put the modules used in the client  hardware.    the kernel name will be probably "vmlinuz­2.  Edit this file deleting all the dependencies on the right and adding “forceload”  before  the modules with a space.  .        prereqs)                  prereqs                  exit 0          . It will be similar to this: force_load led­class  force_load lbm_cw­cfg80211  force_load lbm_cw­mac80211  force_load ath5k  .28­11­generic" and the image "initrd.6. Do not execute this scripts. I recommend using all this modules. name it “wirelessboot” and put it in the folder   /opt/ltsp/i386/etc/initramfs­tools/hooks/ The script will include all the necessary modules and the packages need for the wireless LTSP  (/opt/ltsp/i386/root/wireless). Its is not  necessary to remove anything.28­11­generic". Sometimes just the modules related to the wireless device are enought  but this modules  can depend on other modules... The are no generic image. the triple of its original size).

Some notebooks. Remember that wep passphrasses  must have  an "s:" preceding.04. I hope it helps someone. I advice to have a wired LTSP server alredy working correctly before trying this. Fabio Moraes Hache fabiohache@gmail. Modify to suit your network. use restrict wireless drivers. It would be  essid=s:password  Do not put passwords with the character “#” in the  access point because it will not work since it  will comment a line in the script. This tutorial was tested in Ubuntu 9. In my dell 9 mini device=eth0 essid is the name of the network and wirelesskey its password.img  Generally the device=wlan0  but can have other names. it is very  pratic.  Generally this drivers are in a folder named “volatile”. It is  easier to use this tutorial with an  access point and no other dhcp server in the network. but since their  structure are different more modifications will be necessary.ko extension. or CD or flashdrive with  grub installed. Is also work in other ubuntu based distros and in Debian  Lenny with few or even none modifications. but the result are very good.supergrubdisk.such as the dell mini 9. I usually do it with a  flash drive with supergrubdisk www.  The openvpn and hostname are only necessary if vpn is used.Copy this two files to a harddrive.lst. For other distros the ideia is the same. title ThinClient wireless  root (hd0. Email me if you have doubts. It is very usefull in schools with the edubuntu add on.com .org/  add this entries in menu.0)  kernel /boot/vmlinuz device=wlan0 essid=house wirelesskey=password openvpn=/dev/hda1  hostname=myclient initrd /boot/initrd.The are ways to solve this in the internet. This tutorial is a little difficult when made the fisrt time. The most common is  the “wl” If it is the case the drive itself must also be copied manually inside the  /opt/ltsp/i386/root/wireless  as this folder was the root and adding later the path to the drivers as it would be in a normal boot. and have a .

Sign up to vote on this title
UsefulNot useful