Tiny Core Linux
Several projects exist that purport to be small, run-in-memory distributions. The most popular probably is Puppy Linux. Puppy has spawned several variations, and I have used it several times myself on older machines. But, I have discovered one that bowled me over completely—Tiny Core Linux. This distribution is a totally different beast and fills what I think is as of yet an unfilled category.
To start, Tiny Core is tiny—really tiny. The full desktop version weighs in at approximately 10MB—this is for a full graphical desktop. Not many other options can deliver something like this. People of a certain age may remember projects like Tom's root/boot, or muLinux. Tiny Core fits somewhere in between those older floppy-based projects and “heavier” small distributions like Puppy.
Along with this full version, there is an even more stripped-down version called Micro Core, which weighs in at less than 7MB. This version provides a command-line interface for all of you text aficionados. Tiny Core is designed to be run completely, or partially, from RAM. This means the system can be very fast and responsive. You also can set up the system so that it is loaded fresh on every boot, which reduces the probability of cruft working itself into your system dramatically.
To get Tiny Core, download it as an ISO image, which can be burned to a CD or copied to a USB device. Basically, you can put it on anything bootable. When you boot it up, you get the full desktop in a matter of a few seconds—in a virtual machine on my Mac, it takes less than five seconds (Figure 1).
The default gives you a window manager (flwm, the Fast Light Window Manager), a set of custom tools and a terminal (aterm). Everything else is available as an installable package, using its own custom package system called the AppBrowser (Figure 2). At the time of this writing, 3,170 packages are available. Packages are being added constantly, and there are very clear instructions on how to create and add your own packages.
When you boot Tiny Core, you initially are dumped at a boot prompt (Figure 3). If you don't do anything, it times out and places you on the desktop. However, you can use boot codes, which have the form of tinycore option1 option2 .... Some of these boot codes include:
tce={hda1|sda1} — specify restore TCE apps directory.
waitusb=X — wait X seconds for slow USB devices.
swapfile{=hda1} — scan for or specify a swap partition.
base — skip TCE and load only the base system.
xsetup — prompt user for Xvesa setup.
text — start up in text mode.
{cron|syslog} — start various dæmons at boot time.
host=XXXX — set hostname to XXXX.
noautologin — skip automatic login.
desktop=xyz — use alternate window manager.

Figure 3. On bootup, you are greeted with a prompt where you can enter options to control your system setup.
Many other options are available. You can find them on the Tiny Core Wiki or list them during bootup. By default, you're logged in as user tc automatically and end up at the desktop with flwm as the window manager.
One of Tiny Core's features is that you get a fresh system on every boot. But, what if you want to save settings over a reboot? What are your options? In Tiny Core, you have the option to back up any necessary files at shutdown and have them be recovered automatically on boot. These files are saved to the file mydata.tgz. By default, the system saves all the files and directories that exist under /home/tc.
You can control what's actually backed up and what's ignored by using the files /opt/.filetool.lst and /opt/.xfiletool.lst. In .filetool.lst, you can add any files you want included in the backup. The file .xfiletool.lst contains a list of files to exclude from the backup. This backed-up home directory resides in RAM, so if you have a lot of files in your home directory, they will take up precious RAM. Also, as your home directory gets bigger and bigger, the startup and shutdown times grow as those files are being backed up and restored.
Another option is to create a persistent home directory. You can tell Tiny Core where to find this with the boot code home=xxx, where xxx is the device partition storing your home directory (for example, sda1 for the first partition on the first drive). If you want to put the home directory inside a subdirectory, you can hand this in with:
home=xxx/yyy
Joey Bernard has a background in both physics and computer science. This serves him well in his day job as a computational research consultant at the University of New Brunswick. He also teaches computational physics and parallel programming.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- Designing Electronics with Linux
- New Products
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Dynamic DNS—an Object Lesson in Problem Solving
- Linux Systems Administrator
- Using Salt Stack and Vagrant for Drupal Development
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Web & UI Developer (JavaScript & j Query)
- Reply to comment | Linux Journal
1 hour 22 min ago - Dynamic DNS
1 hour 56 min ago - Reply to comment | Linux Journal
2 hours 55 min ago - Reply to comment | Linux Journal
3 hours 45 min ago - Not free anymore
7 hours 47 min ago - Great
11 hours 34 min ago - Reply to comment | Linux Journal
11 hours 42 min ago - Understanding the Linux Kernel
13 hours 57 min ago - General
16 hours 27 min ago - Kernel Problem
1 day 2 hours ago






Comments
thin clients
I would suggest searching eBay for Neoware clients CA2 and higher. Either using the SiS or Via CPUs. I am running TinyCore on one from a USB stick. Research the CPUs used, generally the higher the CA# the faster the chipset. Some later models come with DVI connectors as well as VGA.
Neoware was bought by HP and their leases are ending so alot of very good equipment is coming to eBay :)
Also check out http://www.parkytowers.me.uk David has been doing this for a while and is a great resource for those wishing to fiddle with linux on thin client cast offs. He built one webserver (middle of the pack specs) from which he was able to get 1000 pages (average 9 KB per page) served in under 9 seconds. Latentcy of less than 0.2 sec per query.
Hey, these devices burn less than 25 watts per hour of electrical power. That works out to less than 6/10th Kilowatt/Hr per day. For me that is less than 10¢ per day cost to operate. Nice for a light weight web server.
What about floppies?
This like most mini distros these days boot off CD-ROM or USB. But that leaves old computers that cannot boot from CD-ROM (even though they usually have one) and have no USB ports out in the cold. I have one such machine, a pretty Pentium laptop. The last Linux I could get to work on it was CentOS 3, which is no longer updated. Anyone know of an up-to-date mini distro where the installation could at least be initiated from a floppy?
If BIOS won't boot CD, try a custom boot loader
Try the PLoP boot loader if you're having trouble booting from anything other than floppy. As long as your CD drive is ATA, it should work.
I've been using it to boot from USB "thumb drives" on machines that refuse to recognize them as bootable media. For network, I use syslinux to launch iPXE.
I haven't yet run into any computer that I couldn't find some way to boot as I wanted...
the problem "no cdrom/no
the problem "no cdrom/no floppy" is solved from MANY years, using network bootstrap.
Basically two modern methods: or using software already available in motherboard BIOS o PCI ethernet BIOS (named PXE) or using a floppy/hdisk/cdrom/usb that load PXE. the size is few tens of kilobytes ,so no problem.
Beside the point
Old computers may not have a network card, and certainly have no PXE software onboard. In the laptop I am talking about, the only way to get network is either PPP via the RS-232, or with a plug-in PCMCIA ethernet card. I have one, but it is useless without an OS running on the box that supports PCMCIA and the card in question.
As this machine has a floppy, and a working CD-ROM (albeit not bootable), the easist bootstrap is the way CentOS supported up to version 3 (and other old distros did as well): Load the installer from the floppy, which then can access the CD-ROM. I guess installers have grown so big they don't fit on a floppy these days, and distro authors see no point even trying (no wonder, it would be a wasted effort except for a few "museum pieces" like mine). Oh well, it may be I need to create my own old computer distro (like I had any time for such activities these days :-( ).
pity that
interesting distro, very exciting concept, but could never test it properly because fonts render so badly i start crying after 15 minutes.
I'm still a big fan of
I'm still a big fan of Slax.org. Loads into RAM, and I can do package management on the image without having to do it from the inside.
People of a certain age may
People of a certain age may remember projects like Tom's root/boot, or muLinux.
Stop trying to make me feel old, I'm only 21!
Maybe Nostalgia, although Maybe Not
Nifty LinuxJournal article.
Although a biggie negative I've had a bit 'o severe difficulty with (even impossibility) is getting that darned TC INSTALLED to hd!!
Sure there are all those cheat codes, .tgz apps and persistent-storage settings, but when push comes to shove and you're ready to to finally get TC bootable, ON YOUR HARD DRIVE, via grub, you're basically 50 5cr3w3d.
Even though DSL is Shingledecker-archaic, it just puts TC IN THE DUST in this regard!!!
Even Puppy's Frugal Install is a walk in the park compared to a full TC install.....Shame on those TC developers (excusing Shingledecker for his AWESOME creations!!)
Slitaz is Also Good
I like Tiny Core, but I find that Slitaz is a bit easier to use and it is just as light weight. Slitaz's main release is 30MB, but comes with a lot more installed by default then Tiny Core. Slitaz also has a 8MB commandline version, and a 15MB JustX version. As well as other community versions.
Slitaz makes it extremely easy to remaster and install to a hard drive.
If you like Tiny Core, I would suggest having a look at Slitaz.
http://filmsbykris.com/
Everything you ever need to know about Open-Source Software.
I tested Slitaz too, several
I tested Slitaz too, several months ago. Compared to the difficulties for setup on hdd I had with TinyCore, the Sltiaz distro was a breeze. For a preselected set of packages of install I've ended with 300 MB used space at Slitaz, compared to 190M at TinyCore. Not a big deal of a difference. And while TinyCore wins the prize for a proof of concept how small a distro can be with its 10Mb, Slitaz is much more useful with its initial 30Mb on cd image.
Not a big deal of difference,
Not a big deal of difference, I agree. However, 63% is a large difference. ;)
Not merely nostalgia!
Tiny Core is a fine, superior follow-on to Damn Small Linux and is small enough to fit on thin clients. There are heaps of used thin clients available cheap on Ebay but the vast majority of Linux distros are far too fat to fit.
Instead of an individual custom image built elsewhere then installed, Tiny Core can be installed and configured on the hardware. The recent kernel is a Good Thing.
thin clients
There's at least one modern LTSP distribution successfully booting up diskless thin clients with a Pentium and 16M RAM: http://en.altlinux.org/LTSP
thin clients
@Sobac I have been fascinated by the prospect of running linux (embedded?) on thin clients... just to explore as a hobby. Can you point me to some cheap items I can look for on ebay? Any good resources you can point me to on the internet?
Thanks!
For thin clients, you should
For thin clients, you should keep up to date on Raspberry Pi, which will be an ultra-low-cost computer-on-a-stick.
Raspberry Pi is arm based,
Raspberry Pi is arm based, tinycore wont work on it