Wireless Thinclient based on iPXE, and Thinstation connected to local cloud based on KVM-VDI using Ubuntu 16.04. (boXenbaby)

Goal: Make a tiny (< 50MB) thinclient OS that can be loaded by iPXE over LAN, WIFI, or WAN using HTTP and HTTPS. I should load completely into RAM. It should be able to support these client applications/protocols: RDP, VNC, SSH, SPICE, X2Go. It should also have a web browser kiosk mode (Google Chrome).

My project is to have a wireless PC using a 1MB iSCSI image on usb flash, booting into  Ubuntu 16.04 desktop, Windows 10 pro desktop, and MacOSX 10.11 desktop KVM virtual machines using the KVM-VDI project with virtual snapshots enabled.

Custom iPXE image made with rom-o-matic,
https://www.rom-o-matic.eu/
pointing to my fork of the boot.rackspace.com iPXE LiveCD project.
https://github.com/rackerlabs/boot.rackspace.com
New project is netboot.xyz
Good list of alternatives: http://www.rmprepusb.com/tutorials/ipxe

I want to use Thinstation as the running in RAM OS that iPXE boots. Not sure if x2go is supported in thinstation yet. Then by using the thinstation.conf create a remote-viewer Session wrapped by KVM-VDI script.

Here is someone who was able to iPXE boot thinstation:?
http://thinstation.4464.n7.nabble.com/OT-ipxe-chainloading-td24153.html
Here is a way to netboot a liveCD from iPXE:

iPXE Network booting for ISO images


Good iPXE guide: http://www.denverslair.co.uk/tech/iPXE.php

Procedure for running windows 10 or 2012r2 over lan with iPXE and iSCSI:
https://www.computeraudiophile.com/forums/topic/26705-diskless-windows-10-pc-setup-procedure/

Not so hard, right?

It already supports integration with LTSP for wired zeroclients over PXE and thinclients over iPXE. LTSP, also offers thinclient and fatclient modes for shared Remote desktop if you don’t have the resources to offer a Virtual machine pool. Thinstation can also be a thinclient for shared or virtual machine resources.

I currently use Ubuntu LTSP with xfreerdp and I custom login script. That only supports wired zero clients. Wireless or WAN clients boot from a CD, USB, Hard drive or SD card.

Thinstation is needed for Wifi or WAN links, with iPXE downloading the image from the internet or local cache. Otherwise plain PXE works great!

X2Go is used if I want to offer shared Ubuntu desktops over WAN. FreeRDP for shared or virtual Windows desktop over WAN. RemoteAPPs for seamless desktop. VNC for shared MacOS over WAN. (or slow Wifi) SSH for admin. Spice for VDI with KVM. Chrome for web browsing and remoteapps.

Here is an amazing guide for thinstation and RDP over PXE :
https://hinchley.net/articles/use-thinstation-to-build-a-network-bootable-rdp-enabled-thin-client-image/

I am sooo close. I’ll I need is to able install and run remote-viewer, and x2goclient on thinstation, and have it remastered.

Here are the Thinstation Issue tickets for adding x2go and spice:
https://github.com/Thinstation/thinstation/issues/106
https://github.com/Thinstation/thinstation/issues/141

Here are some guides on how to do this with alternatives:

http://hinchley.net/2016/01/17/use-thinstation-to-build-a-network-bootable-rdp-enabled-thin-client-image/

https://github.com/Thinstation/thinstation/wiki/Getting-Started-with-Thinstation

[Outdated] http://tsomatic.agarwal-associates.com/index.php <– seems to be outdated.

Or

[DEFUNCT] LPS https://en.wikipedia.org/wiki/Lightweight_Portable_Security

Or,

make my own with lubuntu:

https://wiki.ubuntuusers.de/LiveCD_manuell_remastern/

Pinguy Builder – An App to Backup/Remix *buntu

Couldn’t get Tinycore to work

TinyCore Linux

  1. Make custom version of TinyCore Linux with extensions embedded. http://forum.tinycorelinux.net/index.php?topic=17423.0
    1. You can make Pure64 version with FreeRDP
    2. An i386 version can be made with TigerVNC
  2. Host custom image on public or private server
  3. Make custom iPXE image here: https://rom-o-matic.eu/
    This should call the hosted iPXE script below.
  4. Copy and host iPXE script from: http://boot.rackspace.com

Leave a Reply

Your email address will not be published. Required fields are marked *