Difference between revisions of "Cool Solution - XenApp/XenDesktop on Thinclient with only 1GB Flash"

From Univention Wiki

Jump to: navigation, search
(add Citrix receiver installation →‎Manual installation of extra packages)
Line 127: Line 127:
 
  mount -o loop /tmp/tmprUgkUj/ucc-1.0-rev2-thinclient-image-1G.img /mnt/img/
 
  mount -o loop /tmp/tmprUgkUj/ucc-1.0-rev2-thinclient-image-1G.img /mnt/img/
 
and free some space:
 
and free some space:
 
+
chroot /mnt/img/
 
  apt-get clean
 
  apt-get clean
 
should free var/cache/apt/archives/ and the lists we can delete manually:
 
should free var/cache/apt/archives/ and the lists we can delete manually:
  rm /mnt/img/var/lib/apt/lists/appcenter*
+
  rm /var/lib/apt/lists/*
rm /mnt/img/var/lib/apt/lists/univention*
 
 
there should remain a 'partial' directory in there
 
there should remain a 'partial' directory in there
 +
exit
  
 
Second, let us create and mount the new filesystems
 
Second, let us create and mount the new filesystems
 
  dd if=/dev/zero of=/tmp/cache-apt bs=1M count=500 && mkfs.ext4 -F /tmp/cache-apt
 
  dd if=/dev/zero of=/tmp/cache-apt bs=1M count=500 && mkfs.ext4 -F /tmp/cache-apt
 
  dd if=/dev/zero of=/tmp/apt-lists bs=1M count=500 && mkfs.ext4 -F /tmp/apt-lists
 
  dd if=/dev/zero of=/tmp/apt-lists bs=1M count=500 && mkfs.ext4 -F /tmp/apt-lists
 
 
Now they can be mounted
 
Now they can be mounted
 
  mount -o loop /tmp/cache-apt /mnt/img/var/cache/apt/
 
  mount -o loop /tmp/cache-apt /mnt/img/var/cache/apt/
Line 143: Line 142:
 
  mount -o loop /tmp/apt-lists /mnt/img/var/lib/apt/lists/
 
  mount -o loop /tmp/apt-lists /mnt/img/var/lib/apt/lists/
 
  mkdir /mnt/img/var/lib/apt/lists/partial
 
  mkdir /mnt/img/var/lib/apt/lists/partial
 +
 +
The 'Citrix Receiver for Linux' and the 'USB Support Package' can  be downloaded from [https://www.citrix.com/downloads/citrix-receiver/linux/ Here]
 +
Please copy them into the cache directory
 +
cp icaclient-12.1.0_i386.deb /mnt/img/var/cache/apt/
 +
cp ctxusb-2.2.0_i386.deb /mnt/img/var/cache/apt/
 +
 
with all ready, we can go into the image
 
with all ready, we can go into the image
 
  chroot /mnt/img/
 
  chroot /mnt/img/
Line 148: Line 153:
 
  apt-get update
 
  apt-get update
 
  apt-get install --no-install-recommends univention-ucc-session-xenapp
 
  apt-get install --no-install-recommends univention-ucc-session-xenapp
 +
Install the receiver and the USB support (the system outside the chroot should also be i386. [https://forge.univention.org/bugzilla/show_bug.cgi?id=31787 Bug])
 +
dpkg -i /var/cache/apt/icaclient-12.1.0_i386.deb
 +
dpkg -i /var/cache/apt/ctxusb-2.2.0_i386.deb
 +
 +
Now the image is complete, so we exit and unmount:
 
  apt-get clean
 
  apt-get clean
Now the image is complete, so we exit and unmount:
 
 
  sync
 
  sync
 
  exit
 
  exit
Line 157: Line 166:
 
  umount /mnt/img
 
  umount /mnt/img
  
Thanks to the 50MB buffer that the image has other utilities as flash player, the xen package can later be added for the user itself. This is also necesary since the user has to agree with the respective licenses of these programs.
+
Thanks to the 50MB buffer that the image has, other utilities as flash player can be added later, once the client is rolled out.
  
 
= Further Info =
 
= Further Info =

Revision as of 13:26, 22 August 2013

Produktlogo UCC Version 1.0

Note: Cool Solutions are articles documenting additional functionality based on Univention products. Not all of the shown steps in the article are covered by Univention Support. For questions about your support coverage contact your contact person at Univention before you want to implement one of the shown steps.

Also regard the legal notes at Terms of Service.


Introduction

Thin Clients may have smaller storage devices (i.e. Compact Flash or onboard Flash) than the default 1,2G of the UCC default image.

This is an example for a thin client image for 1GB Flash supporting XenApp.

The configuration file, tested on a HP t5745(1GB), can be found at the bottom of this article.

Software packages required

Here we are going to create a small UCC Thin Client image targeting full Citrix support, tested in a HP t5745 with 1GB flash storage.

In a typical deployment, some of our customers often require these features in order of priority:

  • XenApp Session (+Firefox), including german localisation
  • Typical ressoures: Sound, Flash, HDX
  • if possible special enhancements: truecrypt
  • if also possible RDP session as a fallback

General procedure

For this we are going to need two diferent approaches, first we will use the ucc-image utility to build an image with an edited configuration file, and second we manually will install the packages left from the previous step.

Step 1 - Configuration File

This file is based on the official file for a thin client

/usr/share/doc/ucc-image-toolkit/example/ucc-thinclient.cfg

Please read UCC Manual Generation of adapted images

The official images are also explained in Building_UCC_images

Another configuration file to generate a <1GB image Configuration_file_for_a_reduced-sized_thin_client

The image size is set at 794MB:

# Image size in GB
size: 0.794

Important packages

A graphical system is still installed, but without desktop manager:

packages_no_recommends:

univention-lightdm (Integration of lightDM login manager into UCC)
indicator-session (Session management, status and user switching)
indicator-power (Power state)

X window system (and input drivers)

xserver-xorg 
xserver-xorg-input-mouse
xserver-xorg-input-kbd

Drivers for some typical video card families

xserver-xorg-video-ati
xserver-xorg-video-intel
xserver-xorg-video-vesa
xserver-xorg-video-nouveau
xserver-xorg-video-sis

Audio server:

pulseaudio

Tools: (no sessions are installed in this step)

openssh-server (Remote secure shell (SSH) server)
language-pack-de
firefox-locale-de
ntpdate (client for NTP time servers)
libmotif4
curl
nspluginwrapper
libcap2

UCC Cool-Solutions

univention-ucc-status

Integration with the UCC domain, always required:

univention-ucc-theme (Univention theme)
univention-corporate-client (Metapackage for client systems)

This packages will be installed :

# Kernel
linux-image-generic (Linux kernel image)
# Grub
univention-ucc-grub (Grub2 configuration)

Partition scheme

/boot is set to 45MB. This is usually enough for one kernel, meaning that kernel updates should be performed by generating the image once again.

partition2_name: boot
partition2_size: 45
partition2_fs: ext4
partition2_mountpoint: /boot


The slash partition (/) will take all the available space.

partition3_name: root
partition3_size: expand
partition3_fs: ext4
partition3_mountpoint: /

The GPT would start at 2MB for alignment, and it will use 10MB of space. No "swap" partition is considered.

Now, after calling ucc-image -c thinclient-image-1G.cfg we will get the initial image

let's say in /tmp/tmprUgkUj/ucc-1.0-rev2-thinclient-image-1G.img*

Manual installation of extra packages

The idea is to first free some space used by apt-get and then temporarily mount additional disks so we get enough cache for packages.

That is to delete the cache of packages in var/cache/apt and var/lib/apt

First let us mount the image in /mnt/img/

mkdir /mnt/img
mount -o loop /tmp/tmprUgkUj/ucc-1.0-rev2-thinclient-image-1G.img /mnt/img/

and free some space:

chroot /mnt/img/
apt-get clean

should free var/cache/apt/archives/ and the lists we can delete manually:

rm /var/lib/apt/lists/*

there should remain a 'partial' directory in there

exit

Second, let us create and mount the new filesystems

dd if=/dev/zero of=/tmp/cache-apt bs=1M count=500 && mkfs.ext4 -F /tmp/cache-apt
dd if=/dev/zero of=/tmp/apt-lists bs=1M count=500 && mkfs.ext4 -F /tmp/apt-lists

Now they can be mounted

mount -o loop /tmp/cache-apt /mnt/img/var/cache/apt/
mkdir -p /mnt/img/var/cache/apt/archives/partial
mount -o loop /tmp/apt-lists /mnt/img/var/lib/apt/lists/
mkdir /mnt/img/var/lib/apt/lists/partial

The 'Citrix Receiver for Linux' and the 'USB Support Package' can be downloaded from Here Please copy them into the cache directory

cp icaclient-12.1.0_i386.deb /mnt/img/var/cache/apt/
cp ctxusb-2.2.0_i386.deb /mnt/img/var/cache/apt/

with all ready, we can go into the image

chroot /mnt/img/

Once inside we can install xenapp session (~200MB in this case)

apt-get update
apt-get install --no-install-recommends univention-ucc-session-xenapp

Install the receiver and the USB support (the system outside the chroot should also be i386. Bug)

dpkg -i /var/cache/apt/icaclient-12.1.0_i386.deb
dpkg -i /var/cache/apt/ctxusb-2.2.0_i386.deb

Now the image is complete, so we exit and unmount:

apt-get clean
sync
exit

umount /mnt/img/var/cache/apt/
umount /mnt/img/var/lib/apt/lists/
umount /mnt/img

Thanks to the 50MB buffer that the image has, other utilities as flash player can be added later, once the client is rolled out.

Further Info

Personal tools