Installing Tiny Core Linux on a Wyse thin client
Posted at 2016-05-26.
I decided to try Tiny Core Linux on one of the Wyse thin clients I have and picked the middle ground with a Cx0.
Install Tiny Core
I downloaded CorePlus-7.1 ISO and put it on the same spare USB key I used to install Debian on the Igel. Booting the Wyse while tapping del, I used BIOS password Fireport and hiked the USB key up in the boot list. TCL booted right up and I spent some time looking around and getting used to thing.
I used dd
to dump the drive over sshfs
so I'd have a backup image
and something to poke around in case I want to.
I have a few whole spare units anyway.
I would try to make this one to boot TCL directly.
I ran the frugal install as instructed and rebooted. The image fits quite well in the 128 MB nominal flash drive. There are less boot options than on the CorePlus image. I left in the firmware packages and some other stuff in as options, but eventually decided to remove anything I didn't think I'd immediately need. The installed size went from some 120 MB down to 40 or so, IIRC. Well enough free space to install some applications or little data.
Using Tiny Core
Everything runs very swiftly and seems to work.
I changed .Xdefaults
for aterm to turn off transparency and set a bg
colour instead.
I also changed the keymap and some other boot options.
I was hunting a font problem for a while before noticing that it's just
Busybox that rejects certain characters, while even vi
in the same
terminal displays everything fine.
I think I can live with that.
Setting a timezone or other locale bits didn't seem to be worth the
effort yet.
One annoying thing is, naturally, web browsing. Dillo works very very quickly, but has fairly limited abilities and behaves very oddly with some CSS sites. I tried Fifth as well, and it seems very slow despite the promises. Installing Chromium or Firefox would take up almost all the remaining space, and I don't expect them to work much smoother. Opera is surprisingly small and functional, but I still consider it to be evil. Uzbl and surf. aren't available, but could probably easily be pulled in from somewhere or built to a small executable.
Hardware tests and thoughts
Basically the box works, booting and shutting down (not by button though).
Graphics at 1920x1200x16, sound output, GbE networking, internal and USB
storage.
Cpufreq
also seems to be happily switching between the two choices of
400 MHz and 1000 MHz with ondemand
governor.
There are messages about a crypto accelerator in dmesg
, but I have no
idea if that's doing anything.
# Check temperature
tc@box:~$ cat /sys/class/thermal/thermal_zone0/temp
59000
# After some time streaming audio and browsing docs:
tc@box:~$ cat /sys/class/thermal/thermal_zone0/temp
70000
# Pretty hot
tc@box:~$ df -h /mnt/sda1/
Filesystem Size Used Available Use% Mounted on
/dev/sda1 109.9M 68.2M 39.4M 63% /mnt/sda1
tc@box:~$ cpufreq-info -s -m
1000 MHz:40.25%, 400 MHz:59.75% (46440)
I might test a wifi dongle at some point. There's also an available USB port and a few more could be freed by switching to (or using adapters in) PS/2 ports.
And there's the serial port as well.
Actually, the kernel detects four.
No picocom
package, though.
I'm not exactly running out of RAM, but the two buster HP terminals would have 1 GB modules that I could swap in. The 2 GB PATA flash boards should also just drop in (after imaging).
I decided to drop in the bigger RAM chip. BIOS showed it fine. Changing the slice allocated to the display would probably allow me to free even more RAM. Linux is happy with the 750 MB or so that remains, though.
Compilers
tc@box:~$ cat hello.c
#include <stdio.h>
int main(void){
printf("Hello tiny core wyse!\n");
return 0;
}
tc@box:~$ tcc hello.c
tc@box:~$ ./a.out
Hello tiny core wyse!
tc@box:~$ ldd a.out
linux-gate.so.1 (0xb7752000)
libc.so.6 => /lib/libc.so.6 (0xb7635000)
/lib/ld-linux.so.2 (0x80016000)
tc@box:~$ tcc -run hello.c
Hello tiny core wyse!
So, picocom! It compiles out of the box after setting CC to tcc. It won't open my serial ports, though :(
tc@box:~/code/picocom-2.1$ ./picocom /dev/ttyS0
...
FATAL: failed to add device /dev/ttyS0: Filedes is not a tty
tc@box:~$ cat /dev/ttyS0
cat: read error: Input/output error
Something fishy there.
Edit: Actually, I've gotten these confused somehow. This model does not have any external serial or parallel ports. Oops. It's also not the middle one, but probably the newest Wyse I have.
Conclusions
It's quite usable as it is for any kind of computing except multimedia rich web browsing. A fast network interface gives it some interesting terminal potential.
I was planning, at one point, to make some kind of box that would have an attached Launchpad or something, logic analyzer, any other instruments I had at hand, and some software just to do data logging and graphing.
I finally grabbed a backup image that I should be able to use for cloning into other boxes if I want. At least one clone I'd probably like to do onto a bigger drive. The image should also Just Work on other hardware types as there's hardly any specific configuration done here.
Parts of this post were typed on the box in question over SSH.
Links
- Blog: Tiny Core Linux on Wyse Vx0
- Blog: Debian on Igel thin client
- General thin client page
- Wyse Cx0 C10LE info
- Tiny Core Linux
- Kohina icecast stream (for testing mplayer/ALSA) :)