About a week ago I reported on a case study from Dell and FreeBSD, about Dell’s ThinOS thin client operating system, which basically consists of a proprietary Dell GUI running on top of, at the moment, FreeBSD 12 (they’re moving to FreeBSD 14 for the next ThinOS release). Well, this got me interested – I’ve always been fascinated by thin clients, and a Dell/Wyse FreeBSD ‘distribution’ is just wild enough to be interesting – so I went onto eBay, and bought a Dell thin client.
More specifically, I bought a Dell OptiPlex 3000 Thin Client, which comes with an Intel Pentium Silver N6005, a four core CPU without hyperthreading, 16 GB of RAM, a 32GB eMMC storage chip with room for a small M.2 SSD, WiFi 6, Ethernet, USB 3.0, 2.0, and C ports, Bluetooth, and so on. A low-power, but still quite capable little computer that I snagged for a mere EUR130, which is a steal compared to the full unit price; my configuration is sold new for like EUR700-800. Of course, these things are sold in batches of hundreds or maybe even thousands of units, and in such volumes corporate clients get massive discounts.
Still, it’s a nice deal.
My model came installed with Ubuntu 20.04 LTS, which I was not at all interested in. I immediately downloaded the latest ThinOS version for my model, used Dell’s tool and instructions to create a bootable USB, and got to work. The installation process was quick and easy, and does indeed look like an automated FreeBSD installation, TUI and all. After the installation is completed, you get guided through a first-run experience to configure things like the keyboard, WiFi, and so on, and it looks rather fancy.
Once I completed the first-run experience, I hit the roadblock I was expecting: in order to use ThinOS, you need a ThinOS Activation License. Since my device was originally sold with (I think) Ubuntu preinstalled, it doesn’t have a TAL in its UEFI, and the only way to push a TAL to a device is to use the Dell Wyse Management Suite. Sadly, the Dell WMS only runs on Windows, and to make matters far worse, only on Windows Server. And it gets even worse – even if I created a Windows Server VM just to run WMS, I need the Pro version, which isn’t free (the free Standard version cannot push TALs), and I’d need to buy a TAL.
Aside from the Windows Server restriction, I was aware of these limitations and requirements, so I’m not in the least bit surprised. I was curious to see if buying a TAL was an easy experience, or if it’s entirely geared towards enterprise customers and silly hobbyists like me need not apply. Without a license, I can use the proprietary Dell user interface, but it seems I can’t connect to any possible VDI providers, and I can’t tell what other features might be gated at the moment. With some admittedly very mild poking and prodding, I also haven’t been able to discover any ways of ‘leaving’ Dell’s proprietary GUI to get to a terminal. I’ll do some more prodding over the coming days.
I’m not entirely sure where to go from here when it comes to seeing just how much you can do with ThinOS, which was my original goal for this project. I have a feeling the pro version of the Dell Wyse Management Suite is going to be rather expensive – I can’t find any pricing information, which confirms my suspicions – so I think the journey ends here. Unless any OSAlert readers have experience with this stuff, and can point me to some tips and tricks to perhaps acquire and install a TAL some other way, there won’t be a more in-depth look at Dell’s weird version of FreeBSD on OSAlert. Which sucks, but was to be expected when it comes to enterprise software.
Mind you, this does not mean the hardware is going to waste. Not only are there other purpose-built thin client operating systems to experiment with, it is also a full-fledged tiny x86 computer with completely silent passive cooling and a free M.2 slot, so the possibilities are endless.
If it were linux I’d have several ideas for you, but I don’t have experience on FreeBSD. It’s possible and maybe even likely that you could run ThinOS binaries from a FreeBSD install. If you mount the ThinOS disk image you might even be able to chroot into it to have the full working environment, but I’m only assuming that works under FreeBSD as it does on linux.
Maybe someone experienced at FreeBSD will have ideas.
It does sounds like pretty awesome hardware.
Instead of going to bed on time, I stayed up and poked around the ThinOS ISO and learned a couple of things.
First, it should be easy to configure boot options for a more standard boot. There is a json file that contains unsalted sha512 hashes for various files. One such file contains standard FreeBSD loader options (but not quite the same syntax). I didn’t even think to look if the kernel files are mentioned in this JSON file.
Second, the .pkg files on the ISO image are not the same format as FreeBSD pkg files, which are just standard Z-compressed tar files. The file command just lists them as data
It might be really easy to spin up a bootable disc that will display kernel messages instead of just the Dell logo. The image hangs in virtualBox in it’s default states, but I suspect that’s because the kernel doesn’t match the hardware virtual box presents. I think tomorrow evening I’ll see if I can get it booting in VirtualBox.
Or there might be a dozen other reasons why it’s beyond my ability and it won’t work at all.
There also isn’t much of firestarter filesystem on the disc, just UEFI images, kernel images, and various pkg files that look like different thin client personalities – the one for Microsoft, for VMware, for Zoom, for Citrix, and a dozen others.
There is nothing that looks like a complete root file system image, at least not from a cursory glance. No bin directory either
I took a look. It looks pretty clear this is the package containing the OS, however like you I couldn’t identify the format.
/dtos/root/ThinOS_2405_9.5.2109.pkg
I did try installing it in a VM…
qemu-system-x86_64 -bios /usr/share/qemu/OVMF.fd -cpu max -enable-kvm -smp 4 -m 8000 -vnc :0 -cdrom ThinOS_2405_9.5.2109.iso -hda /tmp/hd.img -serial stdio -trace “bdrv*” -trace “qmp_*” -trace “virtio_*”
…but it just got to a Dell Loading screen then stopped. Before specifying the CPU I was getting invalid opcode errors, but these went away with the above command so I don’t think it’s a CPU problem. Obviously the installer is not finding something that it’s expecting, but it doesn’t output an error to make it clear what that is. I was curious if it would just work, but I don’t really feel much like debugging it just to get it to install.
We may not be able to install it in a VM, but seeing as Thom has already installed it on actual hardware he may already have the full file system and might be able to access it from a standard FreeBSD install.
Can we get some photos of the hardware? Also, the links to Mastodon seem to be a bit unreliable/slow at least when I tried to access them – I guess in the nature of being distributed? Anyway, embedded photos ftw imho.
Yes! Regardless of whether or not I can get a ThinOS license (I have some leads now), I’ll give the hardware itself a proper look, too, with some other operating system that might be a good fit. These things are affordable used, and being passively cooled gives it a huge number of interesting uses.
Great, looking forward to it!
One has to be really careful with the naming. I was about to answer that it may be silent, but the user guide shows a fan inside. Then I realised I looked at the “Dell OptiPlex 3000 Micro”, which is very small and similar to the “Dell OptiPlex 3000 Thin Client”.
In general, when you have air ventilation openings front and back, but not on the top, it is likely not to be passively cooled.
I wonder why they chose a unix? Free BSD may be the basis of Apple’s OS stable so is quite developed, but
I think Genode (or maybe a fork of Fuchsia) would be a more future-proofed basis for such an OS.
Because these are mature and there’s plenty of stuff available for it? With Genode or Fuchsia they’d have to reimplement about everything (and wasn’t Fuchsia not completely open source?).
Probably because FreeBSD is mature AND permissively licensed (not GPL). Genode is AGPL or you pay money. Fuchsia is not very mature , I guess.
Apple OS’es are not “based” on FreeBSD. They might have some things in common as they both evolved from BSD Unix, but Apple (and NeXT before it) have their own OS, with their own kernel, drivers, system tools etc.
Just like what Thom said about his hardware: on some of the Linux podcast channels (Late Night Linux network) these little machines became very popular.
After realising that it was nonsense to have 6 disks spinning all the time and having a special Kodi ARM box for playing movies, I bought a 60 euro (sixty!) Dell Wyse 5070 on Ebay UK:
https://www.ebay.co.uk/sch/i.html?_from=R40&_nkw=dell+wyse+5070
Slightly bigger than an Apple Mini. There is an extended version too with PCI-E if you need it.
I replaced the wifi M.2 slot with an SSD via an adapter like this:
https://www.amazon.de/dp/B07QPF4MF8
to get an extra M.2 slot. It now has 6GB and is placed beside my TV. It’s my new homeserver + Kodi box.
No performance problems, playing 4K with ease, DNS server, Deluge, FTP, Fileserver, Nextcloud, etc and no problem with ARM specific issues, standard Debian.
Only a few watts on standby rather than 60 watts.
Recommended!
6GB or TB? 6GB seems a bit small for a home server..
You are right of course, 6TB, not GB.
“I replaced the wifi M.2 slot with an SSD via an adapter like this:
https://www.amazon.de/dp/B07QPF4MF8
to get an extra M.2 slot.”
You could have used something like this to build a NAS
https://www.amazon.de/dp/B0B6RQHY4F
That’s a good point, thanks, there is room for a few SSDs inside and I will certainly think about this for the future.
The nice thing about the other adapter is that I re-use the unused wifi connector. Which has the advantage of keeping NVME speeds for the OS and data (small advantage I know). My old server is still used but only to sync once a month (backup).
If this is in any way related to Citrix, just run away while you still can
Well, this ThinOS seems really non-optimal. It is basically a really weak PC. So why not just use a weak PC, or a laptop? I see no use for ThinOS clients. It can be hacked, you need to maintain the OS, etc. Harddisk, RAM, etc.
In contrast the Sun Microsystem SunRay thin clients were totally different. Everything was run on the server, and the server only sent pictures to the SunRay client. The client did not even have a harddisk, OS or anything. It acted like a very long HDMI cable with mouse and keyboard. Totally safe from hackers. SunRay was a really good designed thin client. Server sent graphics and sound to the client, and the client sent mouse and keyboard to the server. Nothing was processed on the client, no state, no harddisk, no OS, no nothing.