I recently found I had the need to find a good functional – but very small OS to use in my lab. This post originally started off attached to another blog post – but it grew too long and unwieldy. So I decided to split it out into a separate post.

I’ve been using using vCloud Connector in my lab – and it quickly forced me to pay more attention to sizing of my disks in the VM/vApps. I only have 1mb out-connection on my colocation which is monitored using the standard 95th Percentile Calculation. To get more bandwidth I’d have to pay for burst or add individual MB/s. Either way it costs money to upload. In the end I used a small Linux Virtual distribution which I download, and configured in my lab environment to reduce the pain of uploads.

I guess my use case is pretty tangential – because the real use of this I think is for home labbers who want to spin up VMs but lack the RAM/Disk resources to take the bloatware footprint of most modern operating systems… Now you’d think in this day an age there’d be plenty of versions of really small linux distros to download in an .OVF but I struggled. It seems like the big guys like Suse, RHEL, CentOS define small as 2-4GB. Do remember when a OS fitted on 3-floppy disks? Of course, back then there was no Facebook, Internet, Smartphones etc…

Now one thing I would say about these super-skinny versions of Linux is no two are a like, and if you primarily a Windows/MAC guy like me, with a modicum of Linux skills they can deviate substantially from more commercial versions of Linux such as RHEL and SUSE that you might be more familiar with. So if you want to add additional features or services (which will increase the VMs memory/disk demands) prepare for some late nights reading. [it’s 5.12am while I type this…]. The other thing you will need to accept is not having access to VMware Tools within the guest. I’ve found getting VMware Tools installed into these tiny-weeny distros difficult. Often they lack a compiler, or they are using distributions of Linux for which there’s no support. If anyone works out to get VMware Tools installed  to these sort of distros – I’d be interested in learning that process. Mainly because its nice to be able to gracefully shutdown these VMs from the vSphere/vCloud Director power management tools, rather than have to login to each VM and type “halt” or “shutdown”.

In the end my stepson advised my to take a look a Damn Small Linux (or DSL which ships as an .ISO), and go from there – if you browse to http://distro.ibiblio.org/damnsmall/current  you should find the latest version. I would avoid the file with the name vmx.zip – this is nothing but a generic VMX that boots from the .ISO image. If you looking for a pre-packed version of DSL you might like to use Mike Brown’s site VirtualMikeBrown.com as he has one pre-made with instructions on how to the install yourself: A Small Virtual Machine for a Test Lab.

Whilst DSL is pretty impressive and tiny, I didn’t find it terribly reliable. Often I found that the DSL would often enter a state where it wouldn’t boot through errors in the file system. Upon further research it appears that DSL is now a dormant project. The last update was in 2008, forums are closed to new registrations and its based on the Linux 2.4 kernel. Nonetheless, without an ultra-small VM like the DSL much of my vCloud Connector work wouldn’t have been possible. The vast majority of this vCloud Connector post was written with DSL, but in the end I switched to another slim Linux distribution called SliTaz. It’s not as small as DSL but I found it more modern and up-to-date. SliTaz supports a simple SSHD and HTTPD service which gave me enough to test connections beyond just using ping.

And finally wonderful though these ultra-slim Linux distributions are –  you will find that many don’t support the vCloud Director’s Static IP Pools at all. In case you don’t know Static IP pool are really cool features of vCD. They allow you to have your cake and eat it – its like having a DHCP scope that statically configures the Guest OS – but for it work the GOS must be supported. So if you using one of these skinny-latte distros, you will need some kind of DHCP service on the network – in my case I used vCloud Directors built-in service to do this…

Screen Shot 2013-03-01 at 10.19.08

In the spirit of sharing I’ve couple of versions of SliTaz4.0 instances you can download here rather than having to go thru the rigmarole of downloading the ISO, defining the VM, partitioning the disk and installing the SliTaz to the disk. The console logon is “root” and the password is “root” (which is also the default in SliTaz). SSHD has been enabled (as has HTTPD) and the SSHD login is “vmware” with a password of “vmware”, after which you can us the “su -” command to elevate yourself to root-level access if you so wish.

The ZIPz were all made with 7-ZIP a free Windows ZIP utility.

If you want to install SliTaz manually I found these parameters worked best in ESXi 5.1

  • Custom
  • Other Linux/2.6/32-bit
  • Intel E1000
  • 256MG – IDE Hard Disk on 0:0 (SliTax lacks the drivers for BusLogic, LSILogic SAS/Parallel). Remember IDE drives cannot be increased in size from the GUI. I’ve tried to go smaller than 285MB but with little success, although the SliTax install says the installs is complete the IDE drive is not bootable. I think there’s a lack of free space for GRUB to do its work or something like that)
  • Memory: 64MB (min), 128MB gives reasonable performance. I wouldn’t go lower than 64MB, especially if you run the desktop

 

And Finally… 

Shortly after completing this blogpost I found another super-skinny Linux Disto whilst doing some work with the AutoLab. In case you don’t know AutoLab is aimed at home labbers, and builds a complete vSphere environment from scratch using either VMware Workstation, Fusion or a dedicated ESXi host. The whole process is scripted and automated. And it my humble opinion is mighty fine piece of work.

Inside the AutoLab you will find a VM called TTY Linux. TTY Linux is yet another project to create a super small distribution of Linux – according to the TTY Linux guide it pronounced T-T-Y linux, and not “Titty” Linux as I first thought – which I think is shame as I think quite like the idea of “Titty” Linux – just imagine the icons you could have if it had  a graphic front-end.

Anyway, I caught up with the creator (Alastair Cooke) of  AutoLab recently, and sent me a copy of the TTYLinux VM via DropBox. It didn’t take long it – its a mere 6MB compressed. It has 32MB RAM allocation and 32MB IDE drive. I’ve re-complied this into a .OVF (zipped) and a .OVA. The only change I made to the AutoLab version of the TTYLinux is I installed a small web-server (thttpd) and configured a couple of “Hello World” files for the FTP/HTTP service. Apart from that it is the same – you can use the OVA with vSphere, and the OVF with vSphere and vCloud Director.

Oh, and bit like the Damn Small Linux, I’ve found it a little intolerant to dirty shutdowns, whereas with SliTaz you can reset it and it comes up every time (but its is a bit larger…)