Tiny Core Linux 7.0
While many general-purpose Linux distributions cater to as broad an
audience as possible, a number of lesser-known distributions drop
user-friendliness and an "out-of-the-box" system in exchange for other
benefits. Tiny Core Linux (TCL)
charts a path of minimalism and frugality. It comes with the bare minimum
one needs to get a Linux system up and running, which immediately cuts out
non-technical users. Instead, as TCL development team member "Curaga"
described in a forum
post, its users tend to come from one of four groups: "those
running old or limited hardware, those needing appliances/VMs for specific
purposes, those who want to tinker and customize, and some who are just
sick of the software bloat trends
" as seen in Linux, Windows, and
Mac OS X
alike.
With over seven years of history, a team of dedicated developers, a recent 7.0 beta release, and a clearly-defined niche, the project's focus has remained constant through the changes in the information technology world. Indeed, with Linux being ubiquitous on embedded systems, a small distribution to tinker with becomes even more relevant. That tinkering is emphasized in "Into the Core: A Look At Tiny Core Linux", a 163-page e-book guide [PDF] to the distribution. Its back cover gives an idea of what Tiny Core Linux is targeting:
![[FLWM desktop]](https://static.lwn.net/images/2016/tinycorelinux-sm.png)
TCL comes in three different "flavors" for download. Core, weighing in at 10MB, is a command-line only experience that will run on 46MB of RAM and an ancient i486DX processor. TinyCore, at 15MB, tacks on a simple Fast Light Window Manager (FLWM) graphical user interface (GUI) along with graphical applications for tasks like package management.
The flavors are intended to be run "live" as with a Live CD, which makes them handy for those working with virtual machines or who simply want a "dumb" Internet terminal. The 86MB CorePlus, which comes as an installation image, offers six additional window managers to choose from, as well as other conveniences such as support for wireless networks and non-US keyboard layouts. The graphical installer takes about a minute to complete its task—considerably faster than its mainstream Linux competitors.
TCL's founder, Robert Shingledecker, offered the details behind the origins of the project in a March 2009 interview for DistroWatch. Shingledecker is a hacker in his sixties who retired after a career in information technology:
In 2004, he became a lead developer of Damn Small Linux (DSL), which is also a minimalist distribution. As a result of "a culmination of personal attacks and accusations against me, disagreements and irreconcilable differences
", Shingledecker left the project. Two other DSL members, Kent Porter and Chris Livesay, also left the project to work with Shingledecker on his new project: Tiny Core Linux.
Not based on any other distribution, TCL is "entirely contained in a
compressed cpio archive that populates the initial RAM disk upon booting of
the Linux kernel
". The developers pride themselves on how the system
organizes its data; as Curaga put it:
I took all three flavors for a spin in VirtualBox, on a laptop with more than enough power to run the system.
Core impresses with its frugality, booting a kernel in about two seconds to a command line. TCL offers boot codes to configure the system, such as noswap to force the system to not use a swap partition, and multitvt to boot with multiple consoles instead of one. This flavor is the one most-suited to experienced Linux developers and tinkerers; with just the minimum required, Core provides an excellent base for building one's own projects.
TinyCore gave me the opportunity to explore the FLWM GUI it uses, which provides a clean, simple interface with a dock at the bottom. TinyCore is the recommended flavor for less-experienced Linux users with access to a wired network. Its GUI provides the basic graphical applications needed to customize the system.
The most notable is Apps, a graphical package manager for installing additional software; there are a few thousand packages to choose from. On first boot, Apps detects the closest online repository mirror. A number of common useful applications are packaged for the distribution, including text editors, development environments, and web browsers. Unfortunately, Apps is not the most intuitive package manager. One can search for programs by name or by keywords in their .info description file. Otherwise, however, the application list is organized in alphabetical order without any classifications (such as "productivity" or "games") that one would find in a package manager like Synaptic, making an ordinary scroll through the list less than helpful to find packages.
The software selection is smaller than those of Debian-based or Fedora-based distributions; for those needing more choice, there's dCore, an official TCL variant that comes with scripts to download and install Debian or Ubuntu packages from their official repositories. Users preferring to work with the command-line can use the tce-ab command to access package management and download applications. TCL uses its own package format, .tcz, which is unique to the distribution and those derived from it.
TinyCore also offers a terminal application, a simple text editor, a "control panel" for basic system management (like setting the time and choosing a wallpaper), and a program for mounting removable storage. One will not find other pre-installed applications that might be seen on a general-purpose system, such as a web browser, multimedia codecs, or a word processor; TinyCore provides only the necessities.
CorePlus offers a similar experience to TinyCore, but with more window managers to choose from. It also includes applications to facilitate installation onto permanent storage. The wireless drivers included would be certainly handy for many laptop users, and the built-in support for non-US keyboard layouts makes CorePlus a must for interested users with different keyboards. CorePlus gives one an appreciation for the overhead of things that most users take for granted (e.g. GUIs, wireless drivers); booting the system took several seconds longer than TinyCore and Core.
For an example of a use case for TCL, one can look to piCore, a TCL port for the Raspberry Pi. After booting from an SD card, the distribution unmounts the boot partition and just runs from RAM. This provides for an operating system on the Raspberry Pi that runs much faster than its popular alternatives, such as Raspbian, as piCore isn't limited by the speed of an SD card. This makes using the Raspberry Pi as, for example, an Internet terminal, more appealing, as graphical web browsers can be sluggish on the other Raspberry Pi distributions.
The distribution handles security issues on a case-by-case basis, patching software after users raise concerns about vulnerabilities. Some of the more infamous recent security issues, such as bash's Shellshock bugs and OpenSSL's Heartbleed, were addressed within the first few days of their initial disclosures.
While the team responds to the community's raising of security issues
and discussions of potential new features, development resources are
somewhat sparse. On TCL's "About Us" page,
twelve team members (all volunteers) are listed, of which six are
developers. Occasionally the team will get a one-off contribution from an
outside individual, but as Curaga notes "it's clear the community is
not at its peak. We're not really doing things any different than we were
in the 2.x/3.x timeframe
".
Nonetheless, the project does release new versions relatively frequently,
with five point releases in the 6.x series in 2015.
Those wanting to pitch in should introduce themselves on the official forums, which serve as a central
location for development. The team is open to receiving contributions of
all sorts, whether it's "development ideas, patches, bug fixes,
testing, submitting extensions, updating wiki, forum
assistance ...
", as "nitram" put
it in a forum post.
Looking forward to 8.0, the project's developers are focusing on maintaining a stable distribution; they are not looking to make radical changes. The distribution numbering system is largely "time-based": there aren't any new major features in 7.0 in comparison to the 6.x series, but there is a newer kernel and GNU toolchain, along with updates to other core libraries.
The forums also provide a showcase for derivatives that people have made using TCL, which demonstrate the versatility of the system. XiniX takes TCL and adds a custom GUI and a few other applications to make a user-friendly "cloud" terminal. Minux turns TCL into a lightweight general-purpose desktop, with minimal software like the Dillo web browser and the mtPaint image editor. One could imagine other uses cases, such as for Internet-of-Things devices or robotics. Those interested in crafting their own Linux distribution can take a look at the "Into The Core" e-book, which provide a guide on how to get started making one's own version of TCL.
Tiny Core Linux is a good demonstration of the
bare-bones minimum one needs to set up a functioning, extensible Linux
distribution with a package manager, with or without a GUI. It is also a
practical toolkit for building derivatives to use for a variety
of scenarios. Quoting the back cover of the e-book again: "From
digital signage to custom household appliances, from virtual machines to
small Android install images, building it your way has never been more
convenient.
" Those interested in making their own minimal
distribution have an excellent choice in Tiny
Core—especially with a 7.0 stable release just around the corner.
Index entries for this article | |
---|---|
GuestArticles | Saunders, Adam |
Posted Jan 28, 2016 8:56 UTC (Thu)
by mlankhorst (subscriber, #52260)
[Link] (7 responses)
I didn't know there were i486's with 46 mb memory! Mine only had 4.
Posted Jan 28, 2016 11:12 UTC (Thu)
by petur (guest, #73362)
[Link] (2 responses)
Posted Jan 28, 2016 12:50 UTC (Thu)
by james (subscriber, #1325)
[Link]
Posted Feb 4, 2016 12:25 UTC (Thu)
by HelloWorld (guest, #56129)
[Link]
Posted Jan 28, 2016 18:10 UTC (Thu)
by raven667 (subscriber, #5198)
[Link] (1 responses)
Posted Jan 29, 2016 10:55 UTC (Fri)
by epa (subscriber, #39769)
[Link]
Posted Feb 2, 2016 19:25 UTC (Tue)
by smoogen (subscriber, #97)
[Link]
Posted Feb 4, 2016 13:24 UTC (Thu)
by curaga (guest, #106812)
[Link]
Posted Jan 29, 2016 10:59 UTC (Fri)
by micka (subscriber, #38720)
[Link] (1 responses)
This means the other two doesn't even handle that? And localization?
Posted Feb 4, 2016 13:25 UTC (Thu)
by curaga (guest, #106812)
[Link]
The smaller variants do not include those in the ISO. They can of course be installed separately, and the same applies for localization.
Tiny Core Linux 7.0
Tiny Core Linux 7.0
The Cyrix 6x86 was a 486 compatible (and not Pentium compatible). One of those could quite plausibly have taken 48 MB of RAM: my K5 ended up with that much.
Tiny Core Linux 7.0
Tiny Core Linux 7.0
Tiny Core Linux 7.0
Tiny Core Linux 7.0
Tiny Core Linux 7.0
Tiny Core Linux 7.0
Tiny Core Linux 7.0
Tiny Core Linux 7.0