x2go Thin Client

Be extremely careful in using those instructions. Many commands are executed in the chroot environment of the Thin Client. If you execute them in the Terminalserver environment instead of chroot, you might destroy your main filesystem.

aptitude install dhcp3-server atftpd nfs-kernel-server debootstrap

mkdir /opt/x2gothinclient

debootstrap --arch i386 lenny /opt/x2gothinclient/ http://ftp2.de.debian.org/debian

cp /etc/resolv.conf /opt/x2gothinclient/etc/resolv.conf

Edit /opt/x2gothinclient/etc/network/interfaces:
auto lo
iface lo inet loopback

echo x2gothinclient >> /opt/x2gothinclient/etc/hostname

echo "127.0.0.1 localhost" >> /opt/x2gothinclient/etc/hosts

echo "192.168.0.250 x2goserver.linux4afrika.local x2goserver" >> /opt/x2gothinclient/etc/hosts

echo "deb http://x2go.obviously-nice.de/deb/ lenny main" >>/opt/x2gothinclient/etc/apt/sources.list


# Changing into the client operating/filesystem !!!
Entering chroot environment

chroot /opt/x2gothinclient /bin/bash

run

PS1='(chroot) '$PS1

to check if you are in chroot environment or to change to chroot environment

# Mounting needed technical filesystems

mount -t proc none /proc
mount -t devpts none /dev/pts/


# Import the x2go repository

aptitude update
aptitude install syslinux locales linux-image-486

For the question; Create a symbolic link to current kernel image Yes

For the question; Do you want to abort now No

dpkg-reconfigure locales


nano /etc/initramfs-tools/initramfs.conf


Modify to : BOOT=nfs

## only for EEEPC:

aptitude install atl2-modules-2.6-486
echo atl2 >>/etc/initramfs-tools/modules


update-initramfs -u -v

aptitude install x2gothinclientsystem
cd /usr/share/x2gothinclientsystem/script

Note: Do not run this command out of chroot environment

./x2gothinclient_install.sh


Before leaving chroot environment you have to unmount:

umount /proc/

umount /dev/pts/

Leave the chroot environment

exit

nano /etc/default/atftpd

USE_INETD=false
OPTIONS="--daemon --port 69 --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5
/tftpboot"


mkdir /tftpboot
chmod 775 /tftpboot


# Disable tftp in inetd
Edit /etc/inetd.conf


/etc/init.d/openbsd-inetd restart
/etc/init.d/atftpd restart
ln -s /opt/x2gothinclient/vmlinuz /tftpboot/vmlinuz
ln -s /opt/x2gothinclient/initrd.img /tftpboot/initrd.img

mkdir /tftpboot/pxelinux.cfg
touch /tftpboot/pxelinux.cfg/default


Create the file /tftpboot/pxelinux.cfg/default and insert the following lines:

label linux
kernel vmlinuz
append root=/dev/nfs nfsroot=192.168.0.250:/opt/x2gothinclient ro initrd=initrd.img ip=dhcp


cp /opt/x2gothinclient/usr/lib/syslinux/pxelinux.0 /tftpboot/

Edit: /etc/dhcp3/dhcpd.conf

Change to the following:

option domain-name "linux4afrika.local";

option domain-name-servers 192.168.0.250;

# x2go thin client range/group

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.199;
filename "/pxelinux.0";
next-server 192.168.0.250;
}


Restart dhcp3-server

/etc/init.d/dhcp3-server restart

Edit: /etc/exports
/opt/x2gothinclient 192.168.0.0/24(ro,async,no_root_squash)

Edit: /opt/x2gothinclient/etc/default/x2gothinclient
x2goclient --pgp-card --ldap="192.168.0.250:389:o=linux4afrika,c=local" --external-login=/ramdrive/logins --no-menu --maximize --link=lan --kbd-layout=de --kbd-type=pc105/de --set-kbd=1 --geometry=fullscreen --add-to-known-hosts --read-exports-from=/ramdrive/export --add-to-known-hosts

/etc/init.d/nfs-kernel-server restart