An extra kernel in the X2Go -PXE boot environment
X2Go thin client PXE boot environment works on top of the debian linux distribution. The standard linux kernels are proved to be stable, but most likely rather outdated and often don't support the graphics device of actual thin clients out of the box.
There are several ways to address this issue. We prefer to include an extra kernel from the debian backport project in the X2Go PXE boot environment. This way you don't brake the standard PXE boot environment build by X2Go.
Import new linux kernel from debian backport
Login to the X2Go PXE boot server. If there, enter the X2Go PXE boot environment typing:
Add the debian backport repository as a source for debian packages to look for:
echo 'deb backports.debian.org/debian-backports squeeze-backports main'
all in one single line.
Reimport the debian package descriptions, have a look which new linux kernels are available and import (the newest) one:
aptitude search linux
aptitude install linux-image-<KV> linux-modules-<KV>
with <KV> as the linux kernel version. Keep old initramfs.conf for save, or accept the new version from the maintainer and change in /etc/initramfs-tools/initramfs.conf the string
Leave PXE boot environment:
Configure the tftp environment
Change to the tftp config directory:
Have a look what is the name of your new installed kernel:
ls -rlt /opt/x2gothinclient/chroot
Let us assume it calls vmlinuz. Create appropriate symlinks:
ln -s /opt/x2gothinclient/chroot/vmlinuz
ln -s /opt/x2gothinclient/chroot/initrd.img
Add the boot menu configuration for the new kernel in the file x2go-tce.cfg, e.g:
MENU LABEL X2go ^Thin Client with Kernel MyNewKernel
APPEND initrd=initrd.img nfsroot=/opt/x2gothinclient/chroot
boot=nfs ro quiet nomodeset
With all after APPEND on one single line. Replace MewLabelName and MyNewKernel with strings easy to understand for people working on the tin client. If you have the line MENU DEFAULT in this section, it will be high lighted in the startup menu.
If you wish the new kernel to boot as the default one, edit the file default.cfg and replace the string following ONTIMEOUT with your above LABEL name.
That is all you have to do. Restart the tftp service:
service atftpd restart
and boot the thin clients,
If ever a thin client with an Intel graphics device (GMA) seams to hang at he login session (kworker process consumes most of the CPU), then execute on the command line of your PXE boot server the single statment:
echo “options drm_kms_helper poll=N”
and reboot the thin client.