DistroWatch Weekly, Issue 693, 2 January 2017

Feature Story (by Jesse Smith)

Some of the smallest Linux distributions



A lot of time and digital ink is dedicated to talking about features, new capabilities and ease of use. This week I want to go in another direction and talk about minimal Linux distributions, projects with low resource requirements and small (less than 100MB) installation media. Some people have limited Internet connections and/or lower-end equipment and this week I want to explore some of the distributions which are designed to require as few resources as possible. * * * * * When talking about minimal Linux distributions, I think it makes sense to begin with Tiny Core Linux. Tiny Core is about as small as a Linux distribution can get. Tiny Core 7.1 is designed to be small and fast, running in memory with either a bare bones command line interface or a very minimal desktop environment, depending on which edition we use. Persistent storage and add-on packages can be set up as needed.



Tiny Core is available in three editions. The Core edition is a 11MB download and offers users just a stripped down text console interface. Some basic UNIX utilities are included, without manual pages. The user is automatically signed into an account called tc and we can perform administrative actions through the sudo utility without a password. The Core edition uses about 9MB of RAM when running live in memory and boots almost instantly. The second edition is called TinyCore. It is a 16MB download and features a minimal desktop with a settings panel and graphical package manager. The TinyCore edition uses around 19MB of RAM and boots to a desktop environment on my computer within three seconds. There is a third version of the distribution, CorePlus, which is larger and provided as an installation image.



When running Tiny Core Linux, we can download and install extra applications and services as needed and I found there is a fairly good selection to be had in the project's repositories. Tiny Core runs in memory and this means the core system gets reset each time we boot it. Add-on packages and our data files can be stored on persistent media for long-term use. Tiny Core is somewhat unusual for a Linux distribution in that it does not feature many command line tools or services, including OpenSSH. The distribution runs on version 4.2 of the Linux kernel.





Tiny Core Linux 7.1 -- Enabling background services

(full image size: 31kB, resolution: 1024x768 pixels)



Tiny Core, as the name suggests, is very small and offers minimal features, but the project provides tools for enabling add-ons. The on-line documentation is a bit sparse, but there is an accompanying book which explores ways in which Tiny Core can be useful and utilized in building projects and services. * * * * * A close relation to Tiny Core Linux is Nanolinux. The Nanolinux distribution is based on Tiny Core and features more desktop applications. Nanolinux 1.3 is provided as a 18MB download and ships with version 3.16 of the Linux kernel.



When I tried to boot Nanolinux, the system displayed a handful of errors which said "permission denied", though permission to what was not immediately clear. The expected graphical session failed to launch and, instead, I was dropped to a command line interface. From the command line I was able to use the "tc" user account and the same tools that were available in the Tiny Core Linux "Core" edition. Nanolinux, when sitting at the command line, used 44MB of RAM and ran an older version of the Linux kernel. Otherwise, the experience was much the same as running the most minimal Tiny Core edition. * * * * * RancherOS is perhaps the most unusual project on today's list of small distributions. RancherOS presents us with an operating system which has just enough components to run Docker containers. Everything on the system, including background services, then runs inside Docker containers. This makes the system highly modular.



I downloaded the 41MB ISO file for RancherOS 0.7.1. The distribution's live disc took about 15 seconds to load to a text console. The system automatically logs us in as a regular user (called rancher) and we can perform administrative tasks with sudo. The live disc uses about 100MB of RAM and automatically connects to the local network. Unlike Tiny Core and Nanolinux, Rancher ships with OpenSSH and the secure shell service runs in the background.



We can run RancherOS as a live distribution, but to explore the power of the system we will want to install the operating system. RancherOS does not have an installer in the traditional sense, but there are a series of commands we can run to install the distribution to our hard disk. The install process downloads a handful of files and takes over the local hard disk. The GRUB boot loader is installed for us too.



The installed version of RancherOS provides us with a minimal command line interface that runs OpenSSH and version 4.4 of the Linux kernel. Additional services and components can be installed in Docker containers. These installations tend to happen quickly and the RancherOS documentation lays out the steps we need to take to set up and run these add-on containers.



RancherOS feels to me to be more like a foundation on which we can build than a traditional operating system. We can build just about anything we want on top of the very minimal operating system, using Docker containers to isolate and manage the services we need. * * * * * For people who are looking for a desktop distribution which balances size with features, one attractive option is SliTaz GNU/Linux. The SliTaz Rolling edition is available as a 50MB download and comes equipped with an Openbox-powered desktop featuring LXDE components.



The SliTaz distribution can be run from a live CD, but it can also be installed as a regular stand-alone distribution. In addition, SliTaz can be installed on an existing Windows partition, allowing the two operating systems to co-exist. SliTaz has an unusual installer which looks and acts like web-based documentation that happens to have prompts where we can enter configuration settings. This approach may seem odd, but the steps are well explained at each turn and there are only a few places where we need to provide information.



SliTaz boots to a graphical interface by default and makes it fairly easy to set up additional user accounts. The distribution provides us with a small selection of desktop applications, including the Midori web browser, multimedia players, a document viewer, the Transmission bittorrent client, a text editor, a simple spreadsheet app and a calculator. There are also some system administration tools like the GParted partition manager. In the background, SliTaz runs version 3.2 of the Linux kernel.





SliTaz Rolling -- The default desktop

(full image size: 272kB, resolution: 1366x768 pixels)



All of the software included with SliTaz uses up about 300MB of disk space and, when sitting in an Openbox session, the distribution used about 120MB of RAM. This may seem a bit heavy compared to other distributions covered in this article, but SliTaz provides a lot of conveniences and a more familiar desktop environment with those extra megabytes.



SliTaz does feature a graphical package manager, though it looks as though most packages available to the distribution are already installed. We can manually check for future software updates through the package manager too. All in all, I think SliTaz is the most friendly desktop distribution among the ones covered in this list. * * * * * Alpine Linux is a distribution designed with embedded and server scenarios in mind. Alpine can run on Raspberry Pi computers as well as x86 powered desktops, servers and laptops. The download media for the x86 build of Alpine Linux 3.4.6 is 81MB in size.



The live media boots almost instantly to a text console where we can sign into the live disc as the root user without a password. As with Tiny Core Linux, Alpine provides us with the Busybox command line utilities and no manual pages. The live disc uses about 20MB of memory.



The Alpine distribution can be installed in one of three modes: diskless mode, where we run the distribution from read-only media; data mode where we run Alpine from a live disc and write data to a USB thumb drive or hard disk partitions; and "sys" mode which acts like a more traditional operating system where the system and data are written to a hard drive. I opted to experiment with the "sys" mode. The installer, called setup-alpine, uses a text interface, gathering a little data about our keyboard's layout and network settings and we are asked to provide a root password. The installer also asks which background services we would like to run. Most of the time we can simply press Enter at each prompt as the installer provides us with good default options. Something I appreciate about Alpine's installer is it warns us multiple times before it overwrites an existing partition, choosing to err on the side of caution.



While Alpine can be used with a desktop environment, by default the installed operating system boots to a text console. The system runs version 4.4 of the Linux kernel and consumes relatively little in the way of resources, using 300MB of disk space and 20MB of RAM.



Alpine has one of the nicer command line package managers available (of the distributions mentioned in this article). The package manager, called APK, is fairly straight forward in its syntax and makes it easy to set up additional services.



Perhaps my favourite characteristic of Alpine, and what made this distribution stand out during my trial, was the documentation. Alpine has a fairly detailed wiki which covers installation methods, package management, setting up desktop environments and other key tasks. I felt the wiki was well organized and I think this sort of documentation is key in a distribution with a strong focus on the command line. While SliTaz and Tiny Core have graphical environments we can discover with a few minutes of clicking the mouse, Alpine makes itself accessible through clear documentation. * * * * * During my whirlwind tour of these small Linux distributions, a few things stood out. One was that there is a lot of variety in the tiny end of the Linux ecosystem. Apart from Nanolinux, which was based on Tiny Core, each distribution listed here has a very distinct style. If I had extended this trial to include slightly larger (but also small) distributions like Puppy Linux and antiX, we would continue to see a surprising amount of diversity, which tends not to be reflected in the larger, more mainstream distributions.



There were some common factors though. When trimming down a distribution, it seems removing local manual (man) pages is one common way to shrink the installation media. I have mixed feelings about this. Most people using tiny distributions probably already know their way around a command line, but when dealing with a minimal interface documentation becomes an important factor. Busybox also seems to be a favourite component of small distributions, replacing the more commonly used GNU userland utilities.



Finally, I think it is worth noting that small distributions have so far avoided adopting systemd as the preferred init software. The systemd suite of utilities offers some enticing features, but at the cost of additional resource requirements. I sometimes get asked which distributions are still free of systemd, and low-resource projects are a good place to look.





Miscellaneous News (by Jesse Smith)

New GNU Hurd release, Raspberry Pi organization launches Debian+PIXEL, Ubuntu drops 32-bit PowerPC and improves printer support, Wayland on FreeBSD and FreeBSD EoL announcements, Debian considers automatic updates, OpenMediaVault focuses on 64-bit and FreeDOS 1.2 launched



Entering the final weeks of 2016, the GNU project announced the release of GNU Mach 1.8 and GNU Hurd 0.9. The GNU Mach project is a distribution of the Mach micro kernel which implements inter-process communication (IPC). GNU Hurd is a collection of services that implement file systems, network access and permissions that run on GNU Mach. Combined, these projects seek to implement a Unix-like kernel, with a very different design but similar purpose to the Linux kernel. The new releases implement virtual network interfaces, insure that running out of space on the file system is handled gracefully and memory management has been improved. " As usual, bugs have been fixed throughout the code, notably in libpager and ext2fs which now gracefully handles running out of space. Further compatibility fixes have been applied (for compliance to standards such as POSIX). " Details can be found in the release notes. * * * * * People who have run Raspbian, a build of Debian for Raspberry Pi computers, are probably familiar with the distribution's PIXEL desktop environment. PIXEL grew out of a customization of the LXDE desktop and provides Raspbian users with a snappy desktop environment that can run on the Pi's minimal ARM-based hardware. Fans of the PIXEL desktop will be happy to know the environment is now available to people running desktop and laptop computers with x86 processors. " Back in the summer, we asked ourselves one simple question: if we like PIXEL so much, why ask people to buy Raspberry Pi hardware in order to run it? There is a massive installed base of PC and Mac hardware out there, which can run x86 Debian just fine. Could we do something for the owners of those machines? So, after three months of hard work from Simon and Serge, we have a Christmas treat for you: an experimental version of Debian+PIXEL for x86 platforms. Simply download the image, burn it onto a DVD or flash it onto a USB stick, and boot straight into the familiar PIXEL desktop environment on your PC or Mac. " The Debian+PIXEL image runs on 32-bit x86 machines and gives Pi users the option of having a consistent desktop experience across multiple devices. Additional information and screen shots can be found in the announcement. * * * * * Following the Debian project's announcement that the PowerPC architecture would be dropped from the upcoming release of Debian 9, Steve Langasek has reported Ubuntu will also drop support for 32-bit PowerPC processors. " Given the recent announcement that the powerpc architecture would be dropped from the upcoming Debian release, there has been a good deal of discussion about the future of this architecture in Ubuntu as well, including a session at last month's Ubuntu Online Summit and several discussions during Technical Board meetings. Unlike the ppc64el architecture, there is no longer upstream support for the 32-bit, big-endian powerpc architecture; so its continuation in Ubuntu would be dependent on identifying a community of contributors willing to invest in keeping this port in working order, to carry it forward without it negatively impacting Ubuntu development as a whole. " Existing releases of Ubuntu featuring 32-bit PowerPC builds will continue to be supported for their scheduled lifetimes. Ubuntu-based distributions and community editions, such as Ubuntu MATE, are expected to also drop support for the 32-bit PowerPC architecture. Further information can be found in Langasek's mailing list post.



Ubuntu users will be happy to hear that printer support is being improved for the upcoming release of Ubuntu 17.04 "Zesty". The next Ubuntu release will feature the ability to print to network printers which use either IPP Everywhere or Apple's AirPrint technology. " Here is something nice to try out during the holidays or to save some Christmas present which you got from a not so Linux-savvy relative. Are you using Zesty and do you have a (network) printer which you never got working with Linux? It is possible that Zesty is now able to make it work. Zesty supports printing on IPP Everywhere printers and on printers supporting Apple AirPrint (these are the printers where you can print from your iPhone or iPad). " Details on how to enable the new printing support and how to submit feedback to the developers can be found in Till Kamppeter's mailing list post. * * * * * To date, the new Wayland display technology, which is expected to eventually replace the X display server, has generally been thought of as Linux-based software. At the moment, Fedora is one of the few operating systems shipping with Wayland as the default software for displaying a desktop environment. However, other projects are working on Wayland support, including FreeBSD. Johannes Lundberg posted a status update on the progress of Wayland running on FreeBSD. There is still some work to be done, but most of the components appear to be working.



Xin Li started 2017 by announcing some older branches of FreeBSD have reached the end of their supported lives. As of January 1, 2017, FreeBSD 9.3, 10.1 and 10.2 will no longer receive support and security updates. " As of January 1, 2017, FreeBSD 9.3, 10.1 and 10.2 have reached end-of-life and will no longer be supported by the FreeBSD Security Officers Team. Users of FreeBSD 9.3, 10.1 and 10.2 are strongly encouraged to upgrade to a newer release as soon as possible. " The announcement features a chart showing FreeBSD 10.3 and 11.0 continue to be supported. * * * * * Keeping an operating system up to date with security patches is one of the key processes involved in preventing a computer from being compromised by an attacker. With many computers systems being set up and left to run for months or even years unattended, the idea of automated package updates is an attractive option. The Debian project is currently considering whether security updates should be applied automatically by default and, if so, what are the benefits and potential drawbacks? " The Debian project is looking at possibly making automatic minor upgrades to installed packages the default for newly installed systems. While Debian has a reliable and stable package update system that has been an inspiration for multiple operating systems (the venerable APT), upgrades are, usually, a manual process on Debian for most users. The proposal was brought up during the Debian Cloud sprint in November by longtime Debian Developer Steve McIntyre. The rationale was to make sure that users installing Debian in the cloud have a 'secure' experience by default, by installing and configuring the unattended-upgrades package within the images. " This blog post talks about some of the benefits and problems which could result from automated updates. * * * * * A blog post on the OpenMediaVault website suggests the Debian-based distribution will be focusing exclusively on building installation media for 64-bit x86 computers. The post succinctly states: " Starting today there will be only 64-bit ISO images for OMV3 to download. If you still need a 32-bit installation, then use the Debian 32-bit net-install ISO image and install OMV3 manually. " * * * * * Though FreeDOS is not a member of the Linux or BSDs families, the operating system is free software, licensed under the GNU General Public license. FreeDOS got its start as a Microsoft DOS clone and replacement back in the mid-1990s when Microsoft announced it was discontinuing development of its DOS platform. Since then the FreeDOS project has been used to run legacy DOS programs, been used as a platform from which to manage firmware and acted as a minimal operating system on low-end computers. The project's founder, Jim Hall, announced the release of FreeDOS 1.2 on December 25th. The new release features many applications and a few games on top of the core operating system and offers users a new system installer. " The FreeDOS 1.2 release is an updated, more modern FreeDOS. You'll see that we changed many of the packages. Some packages were replaced, deprecated by newer and better packages. We also added other packages. And we expanded what we should include in the FreeDOS distribution. Where FreeDOS 1.0 and 1.1 where fairly spartan distributions with only "core" packages and software sets, the FreeDOS 1.2 distribution includes a rich set of additional packages. We even include games. But the biggest change you are likely to notice in FreeDOS 1.2 is the updated installer. Jerome Shidel wrote an entirely new FreeDOS install program, and it looks great! We focused on keeping the new installer simple and easy to use. While many DOS users in 2016 are experienced DOS programmers and DOS power users, we often see many new users to FreeDOS, and I wanted to make the install process pleasant for them. The default mode for the installer is very straightforward, and you only have to answer a few questions to install FreeDOS on your system. " Further information and a history of the project can be found in Hall's release announcement. * * * * * These and other news stories can be found on our Headlines page.





Questions and Answers (by Jesse Smith)

Video drivers and Linux



Pick-a-card-any-card asks: What is the current state of the big three video card markers with respect to Linux? Has pressure from the community and Linus's rant against NVIDIA resulted in any progress?



DistroWatch answers: The hardware market, and the drivers for existing hardware, are always evolving. However, I do not think there has been a great deal of change in the past few years. I have not observed any great leaps forward or large failures recently. Some people ran into trouble with their legacy AMD/ATI video cards not being supported in some recent distribution releases, but otherwise I have not witnessed much change in recent years.



I think the state of video drivers (and video cards) with regards to Linux varies a bit depending on whether a person runs open source drivers exclusively or if a person is willing to use closed source drivers. In my opinion it seems as though Intel and AMD/ATI have been more willing to put work into their open source drivers. Cards from either company tend to have decent, working, open source drivers and that is great. NVIDIA seems less willing to open their driver code and the Nouveau project has had to do a lot of work to get NVIDIA cards working with their open source code.



On the other hand, when we factor in closed drivers, the NVIDIA card/driver combination tends to be well supported compared to AMD/ATI cards. NVIDIA makes closed drivers which offer good performance (in my opinion) and stability (in my experience), both for Linux and FreeBSD.



Ideally, it would be great if each company fully supported Linux with open source drivers, but that goal still seems to be a long way off. For now, there is still quite a bit of work to be done on the open source drivers for AMD/ATI and NVIDIA cards. Both are fairly well supported, but there are some rough edges and corner cases to smooth out. * * * * * For more questions and answers, visit our Questions and Answers archive.





Technology Review (by Figosdev)

Robert Storey and the fig programming language



While we were away on holiday, the DistroWatch team received very sad news. Our friend, professional writer of travel guidebooks and occasional DistroWatch contributor, Robert Storey passed away in December. Robert was a tireless technology enthusiast and open source advocate. He regularly brought niche projects to our attention and loved discussing up-and-coming projects and community forks, like Devuan. Most recently, Robert contributed a review of the Refracta distribution, which is based on Devuan.



Robert had a wonderful sense of humour and often penned April Fools articles for us. Over the years his digital pen took aim at Windows "Hasta La" Vista and a fictional version of the GNOME 4 desktop. He also had some light fun with technology celebrities.



Robert was a passionate, friendly man who was always learning and always exploring. His energy for open source was infectious and we here at DistroWatch will miss him.



Shortly before he passed, Robert shared with us a source-to-source programming language called fig. The fig language aims to be easy for new programmers to learn and tries to simplify syntax as much as possible. Robert felt such a language would be a useful educational tool. He had the developer behind fig, who goes by the handle Figosdev, write up an article explaining his creation. Robert then forwarded the article on fig to us in the hopes DistroWatch readers might find it useful or, at least, interesting. The summary of fig is included below. * * * * * Issue 683 of DistroWatch Weekly featured a review of Refracta 8, a Devuan-based live distro. After discussing the subject over email with Robert, it was suggested that I write a review of my own programming language, fig, which is included with Refracta.



I will attempt to be impartial.



Fig is a source-to-source compiler (basically a translator) written in Python, designed around the following ideas: Only add features and punctuation (syntax) as necessary

"Necessary" includes saving substantial tedium and repetition

Keep it as simple as BASIC or Logo used to be, if possible

Use any modern feature that would have made BASIC easier The language is implemented as a single Python script, originally in Python 2. It should work in various GNU/Linux distros that include Python, including, but not limited to: Debian, Devuan, Trisquel, gNewSense, antiX, ConnochaetOS, Arch and PrimTux. I have not tested it in any distros based on Red Hat though I've had success in Windows XP & 8, ReactOS, Puppy Linux, OS X -- either Leopard or Snow Leopard. Early versions also ran on SL4A on Android.



It was developed primarily on Devuan Jessie in the pre-alpha stage, and for this article was tested successfully in Ubuntu 16.04.1 LTS. Fig should basically run where Python runs, and Python runs on practically any distro and most hardware-- including SBC's like the Raspberry Pi, BeagleBoard or ODROID, running GNU/Linux.



If you only have Python 3 rather than Python 2, there is a version of fig (3.1) that is slightly more experimental -- though used frequently -- which goes out of its way to encode and decode all the brittle Python 3 strings I find so antithetical to Python's flexibility and simplicity. Fig was inspired originally by BASIC, so of course it would lend itself towards strings that had Unicode as an afterthought.



For this article, I have downloaded the package for APT or Debian-based distros from Refracta's "extras" repo. And, for Puppy, I've downloaded the .pet package from Puppus Dogfellow's Google drive.



The commands used to install the .deb or .pet version are: sudo dpkg -i fig29-31_1.0.deb and petget fig-2.9.pet Non-APT and non-Puppy distros can use the following commands, as a .pet package is basically a zipped tar archive (gz or xz) with an MD5 appended: tar -xvf fig-2.9.pet ; mv fig-2.9/usr/local/bin/fig29 /usr/bin/fig29.py The tar command, when used on a .pet package, will generally complain about a corrupt archive; this can be ignored. A typical line of fig can be found in the /usr/share/doc/fig/examples/nestloops.fig file: now x hex right 1 prints colortext 7 The only required punctuation in fig is "quotes for strings" and #hashes for comments. Other punctuation is optional, like this equals sign and command separator: now = x ; hex ; right 1 ; prints ; colortext 7 Fig is not case-sensitive and generally ignores indentation. Commands always have the same number of parameters, except for "function" which is used to define a command. Introductory documentation is located under /usr/share/doc/fig/workinprogress and a support forum can be found at http://unofficialdistros.freeforums.org.



As far as suitability for programming or education, fig needs to be reviewed by more educators or experts. People who advocate drag-and-drop coding will not like the fact that fig involves actual typing of commands. People who like GUI programming will not like that fig is mostly command-line based (a few graphics commands exist.) And above all, people who are already comfortable with BASH or Python may wonder why fig was even developed in the first place.



To that I can say: fig started as, and continues as, an experiment. These days, practical languages that you can learn in their entirety are rare. But as instruction has returned from the dark days of "application training" to "let's teach everyone how computers work by learning to code," I wanted to make a language that was easy enough for everyone to learn and teach, focusing on the basic concepts of variables, I/O, basic math, loops, conditions and functions.



I still believe fig could be useful in schools on platforms like the Raspberry Pi, or on laptops and desktops. I use it to write small programs, avoid Python syntax and boilerplate, and to teach computing concepts to friends. I tried that with BASIC first, and Python and JavaScript next. At least for that single purpose, fig is a minor and private success -- people glaze over a lot less with fig than when I try to demonstrate how other languages work, and that was really the idea.





Released Last Week

Torrent Corner

Weekly Torrents



The table below provides a list of torrents DistroWatch is currently seeding. If you do not have a bittorrent client capable of handling the linked files, we suggest installing either the Transmission or KTorrent bittorrent clients.



Operating System Torrent MD5 checksum OpenELEC 7.0.0 OpenELEC-Generic.x86_64-7.0.0.img.gz 9565f9c8456acb77a5b2be8518132dbb Alpine Linux 3.5.0 "Standard" alpine-standard-3.5.0-x86_64.iso c48b0a49eee9daec3af607bfa0515b3c GuixSD 0.12.0 guixsd-usb-install-0.12.0.x86_64-linux.xz 2d0bd04e20ec08dcbdd0efcd40794690 siduction 16.1.0 siduction-16.1.0-patience-xfce-amd64-201612240021.iso c41f4d55eab42fb8ace952353164f079



Archives of our previously seeded torrents may be found here. All torrents we make available here are also listed on the very useful Linux Tracker website. Thanks to Linux Tracker we are able to share the following torrent statistics.



Torrent Corner statistics:

Total torrents seeded: 268

Total data uploaded: 41.1TB

Upcoming Releases and Announcements

Opinion Poll

Preferred video card brand



About a year ago we ran a poll asking readers about their preferred video card and driver set up. As this week's Question and Answer column concerns the development of video card drivers over time, we would like to pose the question again. What video card do you have in your computer now and are you using an open source driver or a proprietary driver with the device?



You can see the results of our previous poll on isolating processes here. All previous poll results can be found in our poll archives.



Preferred video card brand



AMD/ATI with open driver: 378 (19%) AMD/ATI with closed driver: 86 (4%) Intel: 477 (24%) NVIDIA with open driver: 221 (11%) NVIDIA with closed driver: 677 (34%) Unsure: 166 (8%)