An extra kernel in the X2Go -PXE boot environment

X2Go Logo

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 squeeze-backports main'
    > /etc/apt/sources.list.d/backport.list


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 update
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:


 cd /srv/tftp


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:


LABEL x2go-tce-MewLabelName 
        MENU LABEL  X2go ^Thin Client with Kernel MyNewKernel 
        KERNEL vmlinuz 
        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” 
    > /opt/x2gothinclient/chroot/etc/modprobe.d/local.conf


and reboot the thin client.

Nach Oben