» Finnix

Finnix is a small, self-contained, bootable Linux CD distribution for system administrators, based on Debian testing. Today marks the eggnog-induced release of Finnix 101, the seventeenth release of Finnix since its beginnings over ten years ago. Finnix 101 includes major behind-the-scenes architectural changes, the re-introduction of PowerPC support, new features, and minor bug fixes.

PowerPC support returns

After a show of public support, Finnix is once again producing PowerPC releases. Finnix is one of the only dedicated Linux LiveCDs with PowerPC support, and we are happy to continue serving the PowerPC community. Note that PowerPC releases are still not considered release goals, but in the future a lack of a PowerPC release will only happen under extraordinary circumstances.

Behind-the-scenes re-engineering

While using Finnix still has its same familiar look, much of the core infrastructure which comprises Finnix has been re-engineered. Many of the changes are intended to make development and re-development (remastering) easier and more powerful, and to help with deployment by Virtual Private Server (VPS) providers. Changes include a new CD filesystem layout, an enclosed remastering environment, a Finnix-specific SysV-compatible RC system, and componentized Finnix RC scripts.

Linux 2.6.36

Due to Debian testing being in deep freeze, the most recent kernel in either "testing" or "unstable" is 2.6.32. Therefore, a set of 2.6.36 kernels have been compiled based on 2.6.36-1~experimental.1 from Debian "experimental". Despite the "experimental" name, these kernels have been tested more heavily than the average Finnix release, and have proven to be very stable.

Hardware Detection Tool (HDT) added

On the X86 CD, Hardware Detection Tool has been added to the boot menu. This allows users to view system information (processor, memory, PCI devices, etc) quickly, without booting into a full operating system.

I'll be honest, Finnix 100 was a rush job. Not a bad rush job per se; I have found no major problems with it and continue to use it on a daily basis. But there's nothing particularly great about it. The entire development cycle was about 2 weeks, to get a release out the door to reverse a one-year hiatus. Just enough to bring the software up to date, compile a new kernel, and run through regression testing.

Finnix 101 will be different. I've been working non-stop since October, and behind the scenes, Finnix has basically been completely re-engineered. To a casual eye, nothing will look different. Same boot menus, same minimalist boot, same quick boot times, same overall look. That's fine -- that's what gives Finnix its appeal. But the underlying architectural changes have been a long time coming, and will be useful for development and re-development (that is to say, remastering).

The current dev changelog is quite long by now, but here are a few highlights:

A new kernel, most likely. Debian testing is still on 2.6.32 due to the freeze, but I've been testing 2.6.36 for awhile and it's been stable.

The Finnix CD is now 100% self-building. Before you could remaster Finnix from within Finnix, using a set of downloaded scripts (which sadly, I rarely updated). But now the scripts (finnix-build-stage1 and finnix-build-stage2) are located within Finnix itself, and the build scripts on the CD are guaranteed to be the scripts used to build the official release.

The CD ISO layout has been completely changed. All files/directory names on the CD are now lowercase, to guard against accidental renaming when on a USB key, for example. Instead of the main compressed root in /FINNIX/FINNIX, it is now in /finnix/arch/$distarch/root.img, where $distarch is amd64, x86, ppc64 or ppc. Since Finnix is only distributed with 32-bit userlands, the locations will be /finnix/arch/x86/root.img and /finnix/arch/ppc/root.img. But if a 64-bit userland were added, amd64 and ppc64 root.img files could simply be added and Finnix would use them if available and usable. /finnix/arch.map contains a list of `uname -m` to $distarch mappings, so adding completely new architectures would even be easier. The map file allows for 64-bit to 32-bit fallback, which allows you to use a 64-bit kernel, and Finnix will look in, say, /finnix/arch/amd64/ first, then /finnix/arch/x86/ as a fallback.

With the above in place, it will now possible to make a hybrid x86/PPC CD. With the new layout, the two CDs can essentially be merged into one, and with some mkisofs magic, the combined CD can be made bootable on both arches. I don't plan on releasing a combined ISO, but I do plan on releasing the script to allow you to create one yourself.

A Finnix-specific SysV-compatible RC system has been created for booting the distribution. In the past, Finnix essentially fought against Debian's RC system, removing Debian's symlinks in /etc/rc*.d/ and replacing them with Finnix-specific scripts. With Debian's move toward a concurrent boot system, this has become more difficult, so Finnix will simply be using its own separate system in /etc/finnix/rc*.d/ instead. (Indeed, it is a fork of Debian's sysv-rc.)

With a Finnix-specific RC system, it is now much easier to break the Finnix sysinit boot into component scripts. All previous versions of Finnix essentially used one giant boot script, so this will allow sysinit-type tasks (such as scanning the PCI bus) to be placed separately in /etc/finnix/rcS.d/, and traditionally userland tasks (such as starting mouse services or an optional SSH daemon) in /etc/finnix/rc2.d/. The userland tasks have been split out and will be ready for Finnix 101, but the sysinit tasks may not be completely componentized for the release.

A new netboot helper script has been added, finnix-netboot-biginit. This allows you to create a netboot initrd that contains the entire Finnix distribution within itself. The benefit is you do not need an NFS server to netboot Finnix, only a TFTP server. The downside is you will need more than twice the memory as the size of the distribution, at least 512MB. (There are several stages during boot where the initrd will need to be stored in memory twice; the initrd system was not exactly designed for 1XXMB initrds to be loaded efficiently. Once the boot is completed though, you will only be storing 1x the distribution size in memory, plus standard OS overhead.)

The initrd can now automatically detect whether AUFS and/or UnionFS are available. This will help VPS providers deploy Finnix using their kernels, picking whichever module is more convenient for them to implement.

On x86, Hardware Detection Tool has been added to the boot menu, which allows you to view system information quickly, without booting into a full operating system.

Many smaller improvements and bugfixes are of course included.

The release is feature complete, and I was hoping for a Christmas launch, but at this point I don't think I can go through the required testing and get the ISOs to the mirrors in time. 3 months since Finnix 100 will be late January, though I hope to have a release before then.

The people have spoken. Or at least, the people who use a certain RISC architecture.

I received a lot of mail and comments following the announcement that support for the PowerPC architecture was being dropped from Finnix, and the subsequent release of Finnix 100 as x86-only. Finnix was one of the few LiveCDs in the market with support for PowerPC, and many people use Finnix for administration of PowerPC systems, as I found out.

When I made the announcement, I left some wiggle room, stating, "I'm sure there will be one-off updates throughout the years, but PowerPC support will no longer be a release goal." I'd like to reiterate that this is still the policy, strictly speaking. Over the years, there have been releases that have been delayed due to PowerPC-specific bugs that had to be resolved before a release could be made for both supported architectures. However, after the show of support from PowerPC users, I am happy to announce that the "implied" policy has changed. PowerPC releases may not strictly be a release goal, but I now intend to produce PowerPC releases as a rule rather than an exception.

I've made some upgrades to the main Finnix PowerPC development machine (a G4 Mac Mini -- I have a more powerful dual-proc G4 MDD, but it sounds like a jet engine when running), and I expect, barring unforseen circumstances, that Finnix 101 will be released with both x86 and PowerPC support.

After the release of Finnix 100, I did a little housecleaning of the main dev box, and found some old/odd Finnix builds. I decided to gather the various ISOs in one place to preserve for the times. I may release these somehow, but for now I just wanted to make sure they were not lost, and to give you a glimpse of some unreleased software. This list also includes some builds that I know existed and would like to find, but are currently missing.

finnix-0.01.iso (circa 1999, missing) - The original build of Finnix. This was only given out to two other people, and is most likely lost forever.

finnix-0.02.iso (circa 1999/2000, missing) - Only given out to office staff at the ISP I worked at at the time. Also most likely lost forever.

knoppix-3.8.1rf-lvm2-crypt.iso (2005-04-17, 411 MiB) - A straight Knoppix remaster, with LVM2 and dm_crypt support added. This was the precursor to Finnix 84, and what got me interested in reviving the Finnix project back in 2005. Ripped from a CD I found lying on a mothballed Windows server in my employer's office server room, before we moved earlier this year.

finnix-84.iso (2005-04-20, 264 MiB) - Another Knoppix remaster, with much of the X environment (crudely) removed to save on space. Nothing in the ISO even mentioned "Finnix". This probably would have been another generic Knoppix remaster, but at one point I decided to revive the name "Finnix". Version "84" was chosen for no particular reason other than it had been over 5 years since the last (and first (and at the time only)) release of Finnix, and a high version number sounded good. This was technically released to the public, but never announced. I threw a torrent up on finnix.org so friends could download it, but the public never noticed.

finnix-85.0.iso (circa 2005, missing) - The next step after Finnix 84, only distributed to office staff. Likely lost forever.

finnix-85.2.iso (2005-09-29, 178 MiB) - Further refinement and chopping from the Knoppix base. At this point it could fit on a Mini-CDR, and was distributed to office staff. Ripped from a Mini-CDR I found in my desk about a year ago.

finnix-85.3.iso (2005-10-01, 150 MiB) - Ditto.

finnix-86.0-pre1.iso (2005-10-09, 121 MiB) - The first public (pre-)release of "new" Finnix, and the first release since Finnix 0.03 built from the ground up to be "Finnix" (not a Knoppix remaster). Originally distributed via SourceForge.

finnix-86.0-pre2.iso (circa 2005, missing) - Originally distributed via SourceForge, but I deleted the SF archives at one point and didn't have a backup beforehand. May exist on mirrors somewhere.

finnix-86.1-le.iso (2005-11-20, 429 MiB) - Finnix 86.1 Limited Edition. A special build containing both Finnix 86.1 and Finnix 0.03. Only distributed to friends/VIPs with a special numbered/signed printed CD. A maximum of 100 copies were planned to be made, only about 30 were distributed. This will probably never be released by me due to its (artificial) rarity.

finnix-light-sparc.iso (2007-08-14, 7.2 MiB) - "Finnix Light", an idea I toyed with under the Finnix name, it was merely a kernel and a decked out BusyBox install. The SILO boot profile name was "flight". I abandoned the idea due to the fact that, while I have Sparc hardware to test, it would have been a pain to keep it as a supported configuration.

finnix-486-92.1.iso (2008-11-24, 95 MiB) - A custom build of Finnix 92.1, with a 486-capable kernel. Ironically, the Linux kernel at the time had a bug that prevented most 486es from being bootable (probably fixed by now), and the idea was eventually scrapped.

Finnix is a small, self-contained, bootable Linux CD distribution for system administrators, based on Debian testing. Today marks the release of Finnix 100, the sixteenth release of Finnix since its beginnings over ten years ago.

Finnix 100 comes over a year since its previous release, Finnix 93.0, and introduces a new version scheme, with future versions incrementing numerically. Finnix 100 includes updated upstream Debian software, and Linux kernel 2.6.32. The finnix-thumbdrive utility has been removed in favor of UNetbootin, which can take a Finnix ISO and extract it to a bootable USB drive without needing to boot Finnix first. PowerPC support has been officially dropped, though future PowerPC releases may be made on a one-off basis. The last PowerPC release, Finnix 93.0, will continue to be distributed through finnix.org and should continue to be useful for some time.

The Finnix store has been discontinued, and in its place is a free sticker service. High quality vinyl stickers can be obtained by sending a donation to Finnix, sending a self-addressed stamped envelope, or sending trinkets. Please see the free sticker page for more details.

In July 2008, Cory Buford wrote a nice review of Finnix for linux.com, shortly after the release of Finnix 92.0. Unfortunately, the review did not survive linux.com's transition to the Linux Foundation later that year, but I was able to save a copy, and with permission from the author, it has been reproduced here. Enjoy!

Finnix is a live CD distribution designed to assist system administrators in such tasks as system recovery and network monitoring. Based on Debian testing and Linux kernel 2.6, Finnix helps with filesystem and partition manipulation as well as with data recovery, installation of other operating systems, and boot record repair.

Finnix works on both x86/AMD64 and PowerPC systems. The latest release, version 92.0, fixes the Debian SSL (Secure Sockets Layer) vulnerability that was present in previous releases.

One nice thing about the distribution is its small size. Using SquashFS, the entire 300MB distribution was compressed into a bootable distribution just a little over 100MB. Its compact size notwithstanding, Finnix includes the latest technologies and applications for system administrators, including Logical Volume Manager 2 (LVM2), encrypted partitions, and multiple filesystem support.

To start using Finnix, download it from the author's site and burn it to a CD. Since you will likely use this distribution to recover systems -- the main intent of Ryan Finnie when he created it -- booting it as a live CD is the preferred option. If you want to use the CD drive for other purposes, such as using Finnix tools to back up on a CD, you can also load the distribution into RAM; just make sure you have enough RAM -- preferably at least 512MB -- to hold the entire package.

You can also install Finnix to a hard drive using the fairly complex documentation given on the author's site. Another option, once you're inside Finnix, is to run the finnix-thumbdrive script to create a bootable Finnix USB drive.

When you boot Finnix you will see a menu with several options. Although Finnix is designed to automatically detect the type of processor (either x86/AMD64 or PowerPC), you can still choose one yourself. You can run other useful tools -- including Memtest86+, a utility for memory hardware diagnostics -- from the boot menu. If you want to boot multiple operating systems on the system disk, you can use Smart Boot Manager, and for those who miss the DOS command-line interface, you have FreeDOS.

After you select a system, Finnix boots with no problems and with all hardware detected. You are then presented with a simple command-line interface (CLI); no graphical user interface (GUI) is available.

Finnix tools inside

Despite the absence of a GUI, Finnix's wealth of tools and utilities should be enough to satisfy system administrators or others tasked with system recovery. While recovery offerings such as Hiren's BootCD are effective, Finnix can be more flexible, especially when you use the utilities along with proper scripting to their full extent.

Among the available disk and partition manipulation and recovery tools is Partimage, which is comparable to Norton Ghost in functionality but also lets users back up or restore an image from a network server. In addition, Finnix includes the data recovery tool ddrescue.

Finnix offers many options for creating or manipulating filesystems. For filesystems such as ext2 and ReiserFS, there are e2fsprogs and reiserfsprogs, respectively. If you need to access or recover data from an NTFS partition, NTFS-3G and ntfsprogs are available. Also included is hfsutils, which supports Macintosh HFS volumes. Other supported filesystems include Unionfs, Cramfs and Squashfs. For volume management, there is Logical Volume Manager (LVM), which also supports LVM2, and EVMS (Enterprise Volume Management System), which supports NTFS and FAT, among others. Also included is Parted, for extending Linux partitions.

In addition to its disk manipulation and management support, Finnix is host to many monitoring, benchmarking, and diagnostic tools. lm-sensors can monitor system temperature, voltage, and fan status. For benchmarking and diagnostics, memtester stress-tests the memory system and helps find intermittent faults caused by overheating, unregulated power, and so on. To test how well your hard disk system is performing, Bonnie++ is included. For a complete stress test of the system, including the CPU, memory, and IO, a tool called stress is available.

A system recovery distribution such as Finnix would not be complete if it did not allow you to back up recovered data on external media. Finnix supports CDs and DVDs as backup media and includes a range of burning utilities, such as cdbackup, wodim, and dvdrecord, to make this process as fast and easy as possible. Although most of us are used to burning data with a GUI tool, burning data using commands is not that hard as long as you know the proper format, or filesystem, to be used. If you ever have difficulties, you can always issue the man command followed by the utility name for detailed explanations, or just search for the tool on the Internet to find its related documentation. Experienced users can also control SCSI tape drives for backup and restore using the mt-st tool. You can perform incremental backups over the network, and restore files, using rdiff-backup.

Since Finnix is for system administrators, it includes popular and useful networking tools such as Nmap, for scanning and auditing networks, and tcpdump, a powerful network packet monitoring tool. Also included are SNMP tools such as snmp; the IPTraf interactive LAN traffic monitor; network filtering and firewalls such as ipchains and iptables; various VPN tools for PPTP, IPSec, and SSL; and the common network accessibility tools ping and traceroute. Common Linux network interface management commands such as ethtool and ifdownup are included as well, as are tools for enabling network services such as NFS, Samba, and FTP.

I tested the partition management tools, especially Partimage and ddrescue. Although I encountered some problems because I did not use some of the parameters, I successfully created an image of a partition, stored it on a network drive, and recovered some data from a corrupted disk. I also tested the CD- and DVD-burning tools in the command line and, following the detailed explanation of the burning parameters, was able to burn data to a DVD. I found the Joe editor handy for editing configuration files; other editors, such as sed and Zile, are also provided. To see all Finnix's packages, visit the official site.

A system administrator tool

Finnix 92.0 is a useful distribution for system administrators. With many tools covering jobs such as data recovery, hardware diagnostics and benchmarking, network services, and monitoring, this distribution can greatly help an administrator. However, Finnix is not for the average user accustomed to booting up a system and doing things graphically. While Finnix's CLI-based tools are not that complex, one must have the necessary knowledge to fully understand how to use them.

I was satisfied with the packages included in this distribution, especially the filesystem management and recovery utilities, as well as the CLI backup tools. For serious network troubleshooting, I would recommend instead distributions such as Network Security Toolkit or BackTrack, which are specifically intended for such purposes.

Finnix is a small, self-contained, bootable Linux CD distribution for system administrators, based on Debian testing. Today marks the release of version 93.0 for the x86/AMD64, PowerPC, and UML/Xen platforms.

Finnix 93.0 itself is a maintenance release, but due to the length of time between Finnix 92.1 and 93.0, the time between Debian upstream updates warranted a major version number bump. New features include Linux kernel 2.6.30, and updated upstream software.

Yes, I started a few weeks ago after a (too long) hiatus. 2.6.30 kernel, which is looking nice. (SquashFS is now included in mainline. That means UnionFS is now the only kernel patch that is absolutely required.) The latest Debian testing stuff itself is pretty stable, but managed to break pretty much all of Finnix's init scripts in one way or another, but it's coming along. Unfortunately Debian's base packages are a little larger, and the kernels have ballooned between 2.6.26 and 2.6.30, so this will probably be the largest Finnix to date, about 125MiB for x86 at current estimates. It's still well under Finnix's long term goals (never to exceed 185MiB, the size of a mini-CD), but unfortunately there really isn't anything to trim.

Still, I'm happy with what the next release is shaping up to be. Looks good!