What is a Operating System Extension?

A operating System extension will bring a new feature, driver or Software in the Thin Client Operating System. By design it is nothing more like an automated installer. The term "Operating System Extension" is not official used by IGEL Technology, IGEL is using the "solution" name "Custom Partition" or "Partial Update" but it means nearly the same: Install something new to the Thin Client.


What is a "Partial Update"?

A Partial Update is a installer package for Windows Embedded based devices, it will currently work with IGEL Universal Desktop ES and IGEL Universal Desktop W7. Old Windows CE based devices are not supported... A partial update contains at min. two files, a header file called manifest.lua and a script file called script.lua but a partial update can also contain a lot of more files like .msi installer packages or script files and much more.  There is also a cloud-client.info Whitepaper available here: http://www.cloud-client.info/cms/index.php/menu-whitepaper/wp-igel/20-windows-es-partial-update

In general the partial update process will work in the following way:

1) The Thin Client get the command to download a partial Update
2) Reboot to disable the File Based Write Filter (FBWF)
3) Partial Update installation (automated)
4) Reboot to enable the File Based Write Filter (FBWF)
5) Thin Client Desktop

You should consider: The installed Application can not be managed thru the IGEL Universal Management System so most of these task needs to be done during the partial update installation or scripts deployed to the thin client! Do not roll out a not tested partial update to a bunch of client, always check the partial update in advance. It's mostly possible to repair a wrecked client but if your partial update contains a command or tool that destroys the file system in general (like destroying the partition table) you will get a RMA device.

If you deploy a new Snapshot/Firmware all content deployed thru a partial update is gone in the image and you need to deploy these partial updates again if required.

The script(script.lua) is written in the LUNA Language, there is a manual available at www.myigel.com in the manual area.

IGEL mostly uses partial Updates to deploy language packs which can be download at www.myigel.com too.

What is a "Custom Partition"?

The custom Partition in general is a writable part of the file system for Linux based IGEL Thin Clients, by default this writeable part is not created/available. In the IGEL Setup->System a custom partition can be configured and it will be created in the free part of the HDD (CF Card, SSD, SATA DOM or whatever). The last point is important! If you are using a 1 GB CF Card and 600 MB are already used by the IGEL Linux then you can not create a custom Partition with 500 MB, you will get an error if you configure the feature. I recommend to not use more then 200MB for a custom partition to prevent issues with new firmware releases. The custom Partition itself will be mounted into the IGEL file system like /custom.

To deploy a software to a custom partition you need to create a special package, a package always contains two files: A header file (xyz.inf) and a tar.bz2 archive (xyz.tar.bz2). If you are looking for a tool to create a tar.bz2 archive with Microsoft Windows i recommend to use 7-Zip which can be downloaded for free from http://www.7-zip.org/.

If you are looking for binaries, like pre-compiled lib's check out  http://www.ubuntuupdates.org/ 

Ubuntu Updates offers a lot of pre-compiled binaries for Linux and the IGEL Linux for x86 based systems is quite similar to Ubuntu. Make sure that the Kernel/Release fits, as example for IGEL LX 4.12.100 or 4.12.150 it's the Ubuntu 12.04 "Precise".

The archive contains all files which should be deployed to the client. Important: You can not compile any Linux Packages with the IGEL Linux! If you want to deploy a software and the download archive contains a "make" file: forget it. It's not simple like that... You also don't have any "installer software" in the IGEL Linux so you need to do all task related to the deployment by your own!

If possible you should try to get "static binaries" if possible, some Vendors do offer these packages for download (like Mozilla, Skype and other) and static binaries always contains all required files but they mostly require also more space after the installation. If you do not have static binaries, then you need to compile the software on a similar Linux/Kernel and this can be very tricky.

You should also consider: only the part/folder where the custom partition is mounted is writable but not the rest of the file system. So if any folder/file is required (for written/hidden configuration files) you have to work with symbolic links (http://en.wikipedia.org/wiki/Symbolic_link) that points to a file or folder in the custom partition. Means: You have to create a launch script to take care for all these "mappings" or to add the script during the boot time.

The content of a custom partition will not be deleted thru or after a firmware update, only a reset to factory defaults or disabling the custom partition will remove the content of the custom partition. Also nice: It's nearly not possible to wreck a device.. As long you are not doing stupid things like killing the cmos/bios with some kind of tools. :-)

Also you should be aware.. If you create any own script as extension for your custom partition: The Linux and Windows format is different, you should not use Notepad or similar to create/write the script. If you want to write your script on a Windows System use a tool like Ultra Edit, EditPad Lite (http://www.editpadlite.com/) or similar. It must support the Linux format at all!


Support and Warranty

IGEL Technology and also Cloud-Client.Info will not provide any support related to these packages and there deployment, so if you create a package you are on your own. It's hard... But no one has resources to solve all possible issues which could be happen.

If you do really stupid things and wreck your clients-> IGEL Technology's warranty maybe is gone and you have to pay for a repair/recovery. Cloud-Client.Info do not provide any warranty in general. My suggestion if you want to deal with the custom partition feature: virtualize a Thin Client by using the Universal Desktop OS (Universal Desktop Converter/UDC) solution. This will work with Microsoft Hyper-V, VMWare Workstation or Oracle's Virtual Box without any issues and you have a save test platform.


Share your work!

You have partial updates or custom partition sample you want to share? Contact us and maybe other users can participate!


At the end

These are only some basics and mostly you need some experience to create a working Partial Update or Custom Partition but it could be really useful in some scenarios and also it can make some fun like having a Thunderbird EMail Client running on a Universal Desktop LX.

  Get our toolbar!  Subscribe to my videos
© 2013 cloud-client.info