Updates of my configurations for the thin client Futro S550:
– Tinycore: it works smoothly (I installed Core Plus), I can install Dropbear – a lightweight SSH server, and Seamonkey – a web browser. It was complicated to change the parameters of Dropbear to ALLOW_BLANK_PASSWORD, and my usual password is considered weak and not accepted by Tinycore, finally I copied my public authorized SSH key into the system and it works (the key was put in something like /etc/dropbear, not in the ~/.ssh directory). Later I would use it if all the development tools are available, ie. compilers. On forum of Tinycore, the devs wrote that Tinycore can be used for daily development. However the learning curve seems high for normal users, like we need to remember saving changes to hard disk every time we alter the system (since the system is loaded on RAM).
My plan with Tinycore: if I need to prepare workshops for many people, based on thin clients (limited resources), then I will try to compile the software (Sagemath / Octave / ACADO, … ) on one instance of Core Plus, and use the Remaster tool of Core Plus to create the image, then copy it to other boxes.
– Openwrt: I tried OpenWRT, which is very small (an image for x86 is about less than 7 MB, will be written to one boot partition and one root partition, total about 50 MB), I may need to expand the root partition to use the left of the CF card (tried with Gparted from Ubuntu on USB boot, seemed to work fine). However, OpenWRT 15.05 stucks in the boot process, it never reaches the default “Welcome” message. In September / October 2015 there was a nick “inquba” got the same problem like mine now, with his HP thin client, he asked here and there but nobody seemed to be able to help (they did not encounter such situation). inquba guessed the problem might be that the thin client has only 1 LAN port. I also cannot overcome this issue, both with Openwrt 15 (Chalmer) and 14 (Backfire). Hence I gave up.
– Slitaz: I used slitaz-rolling.iso, but it also got stuck during boot, hence I guess it suffers from similar problem to Openwrt. I could not go further with Slitaz on this thin client.
– Ubuntu: I wasted so much time dealing with the minimal version of Ubuntu 16.04 (Xenial), file mini.iso. Several issues occurred: firstly, due to low disk space (my CF has 1 GB), if I install any additional package during boot then the last step (install Grub bootloader to the CF) fail, I managed to avoid this problem by using “Expert install”, then when it was installed successfully on the disk, it got stuck during the boot at the “initramfs” but not allows to type in any command. I fixed this issue by using another USB boot stick, then corrected the path to the kernel image (some home in /boot/grub/grub.cfg in the hard disk, it specifies “/dev/sdb1” as the root partition, I changed to “/dev/sda1” and it boot fine). However, such /boot/grub/grub.cfg is generated automatically from other files (/etc/grub.d and settings from /etc/default/grub), but I could not find any text “/dev/sdb1” in such files to correct. Later, after booting successfully with Ubuntu 16.04 minimal and change the root partition to /dev/sda1, I ran grub update and… boom, could not boot into it again.
Then I changed to the minimal Ubuntu 14.04 (Trusty), it worked fine. That’s why I wasted unnecessary time with the 16.04 version.
Some further installation on the thin client with Ubuntu 14.04 minimal:
– dropbear: it worked well, with the ability to accept password-less SSH login by using ~/.ssh/authorized_keys, and I can use the key generated by OpenSSH keygen. One problem with dropbear on Ubuntu repository is that it doesn’t come with scp (since scp is included in openssh-client, they avoid messing it up with dropbear in case both are installed): https://bugs.launchpad.net/ubuntu/+source/dropbear/+bug/472264
-> to fix it: I go to the Launchpad and search for the binary of scp, it is packaged in openssh-client. I look for the right architecture (for my thin client: i386), download the .deb file of openssh-client into my other Ubuntu laptop, extract the binary of scp inside it, then copy that file to the thin client (via a USB stick), put the file into /usr/bin/scp. Then I can use scp to transfer file between my systems. (to use scp for file transfer: it need to appear in both the client and the server)
– rsync: I also install it to the thin client S550 machine. Like scp, to use rsync we need the binary on both client and server (there are also several protocol versions of rsync, but I did not get problem with protocol difference yet).
– nano: it is not included in Ubuntu minimal (there is only vi, but I’m not familiar with vi commands)
– shellinabox: install from the repo: sudo apt-get install shellinabox
Then I need to edit the setting:
sudo nano /etc/default/shellinabox
– first, change the port to avoid using default port
– second, change the arguments to allow interactive question on authorization, for my case both these two strings work (the default setting with only –no-beep does not work):
SHELLINABOX_ARGS=”–no-beep -t -s /:SSH:”
SHELLINABOX_ARGS=”–no-beep -t -s /:AUTH:HOME:/bin/bash”
Command to start, stop or reload shell-in-a-box:
sudo service shellinabox start
sudo service shellinabox stop
sudo service shellinabox reload
To check if it already run:
sudo netstat -nap | grep shellinabox
(there are two processes together)
Then from a web browser, we go to: http://ip_of_PC:port_number (in normal Ubuntu system, with default settings of shellinabox, we can use http://localhost:4200).
TO DO: enable secure connection. I tried the method in http://www.htpcbeginner.com/increase-shellinabox-security/ to enable SSL, but it does not work with my systems (both the thin client and the full version Ubuntu 14.04 laptop). The login URL is still something like http://localhost:4200 and if I change to https: the web browser complain that it is not secure (maybe because the certificate generated by shellinabox at installation is not accepted?). Also, in my thin client with Ubuntu 14.04 minimal, the installation of shellinabox did not successfully generate a certificate. I need to copy the file /var/lib/shellinabox/certificate.pem from my laptop Ubuntu to my thin client Ubuntu, in order to run shellinabox on my thin client.