In a recent telemetry project, I selected a very small form factor, low power consumption computer to tackle the task of sending data from a factory to another. Since Raspberry Pis and look-alikes are still difficult to source quickly, I went with an industrial solution (an Advantech ARK 1120).
Since the machine was to stay put doing it’s job 24/7/365 on a Windows network, connected to the SCADA environment, I decided to go with Debian as the OS. But since the machine only had a 4GB CF card as mass memory, I wasn’t able to install a simple Netinst image, selecting only the Desktop environment “package”. That’s because ticking that simple choice brings the system requirements to 4.4GB. Yes, 4.4GB minimum.
I must be getting old; I seem to remember a time when doing a simple install of Debian was a cool experience. One in which you selected exactly what you wanted to install, over a very simple and small base system. The base system is still there (command-line based, of course). But the next notch up the scale weighs in at a mammoth 4.4GB.
I must admit the requirements for this project were almost begging for a Windows machine (the client wanted the machine to have a desktop system, and to be accessible via TeamViewer), but I feared for it’s health. So I preferred a Debian-based machine, but 4.4GB for a “basic” desktop environment system?
Ok then, let’s do this the hard way. I knew I was in for a treat, because my Linux skills have been used superficially for the last half-decade. Still, I thought installing a basic Debian-XFCE system and a couple of accompanying utility packages couldn’t be too hard. So, let’s install:
– Debian from a USB memory stick
– XFCE
– unzip, sudo, nano, SSH, Samba, text editor (NEdit), file manager, IceWeasel… they weren’t kidding when they labelled it “basic”…
– TeamViewer
– x11vnc
– JRE
– my app
– edited inittab and .bash_profile to configure autologin on boot
– created an autostart script in XFCE, starting up my app on boot
1.5GB on disk, that’s cool. The resulting system is quick and nimble, apears to work great.
But alas, when I remove the (VGA) display, keyboard and mouse, the machine does not startup properly! No SSH, no VNC, no XFCE autostart scripts (obviously). It seems to be related to the desktop manager not finding the display. Doh! I confess I don’t ever recall booting a Linux box (with desktop environment) without a display, but I wasn’t expecting this behaviour. I’ll try it out at home and see if it’s a common thing on Linux (I’m pretty sure my RaspberryPi does boot without a TV, and Windows boots whether it has a screen or not).
On a different note, I was expecting a lot more included on a basic system by default (Samba, SSH, vim/nano, unzip…), but I guess the “basicness” can be considered good to start a system configuration (that’s exactly what I love about TinyCoreLinux, for example). Still, I believe the next step (desktop environment: 4.4GB!) is waaaaaaay off the charts! The sweet spot, in my opinion, would be a CD-based desktop Debian system, with all the basic utilities one usually need on an OS (Samba, FTP, SSH, VNC, archiver, text editor, basic music/video player, basic browser, etc), but no full-fledged applications at all (no Office apps, no games, no graphics apps, no creative apps, etc). I believe you could keep it under 2GB easily.
I’m sure a distro like this exists. If you’re reading this and know such a distro, please comment! 🙂