Article posted on Aug 21
Finnix is an open source product; it is comprised of many pieces of software under a variety of open source licenses, and the "glue" that holds everything in Finnix together is GPLv2, so the distribution itself is considered to be GPLv2 for convenience sake.
However, very little source is actually released by Finnix itself. The kernel sources and all Finnix-specific packages are available at packages.finnix.org, but the majority of software included with Finnix is released binary-only. Believe it or not, this is done deliberately. Finnix is based on Debian, which has a long history of fastidious license reviews and source retention. The official line is "if you need sources, for 99% of the software in Finnix, Debian has already done the work for you".
However, that does not release Finnix from legal obligations. As detailed on the Legal page, Finnix complies with section 3(b) of the GPLv2, which requires a direct offer of source upon request if source is not provided directly with binaries. However, again, Debian does such a good job at source/licensing that nobody has yet to invoke this throughout Finnix's 11 year (and counting) history.
This method was chosen for practicality, not to avoid doing work. Indeed, it still takes a lot of work to prepare a Finnix release from a source compliance perspective. Years ago I wrote software called damngpl (name chosen with tongue firmly in cheek) to manage the various methods of making sure sources for all software in the Finnix userland are accounted for. The result is, for each Finnix release, a separate unreleased ISO of all sources for that release. (Finnix 102's source ISO was exactly 600 MiB, for example. By comparison, the released x86 binary CD was 114 MiB, and the PowerPC CD was 116 MiB.) These source ISOs are kept safe in several locations, and ready to be offered if needed.
All this leads to what I originally wanted to announce. While I had been doing this since Finnix 86.0's release in 2005, the original release of Finnix, 0.03 from 2000, did not have a source ISO available. Section 3(b) of the GPLv2 specifies that the written offer is valid for three years, but this is generally interpreted as from when the corresponding binaries are last offered from the releasing party. And Finnix 0.03 is actually still being released today (it is being distributed by the official mirror network).
Finnix 0.03 was based upon Red Hat Linux 6.1, and amazingly, The Internet does lose memory. (As blogged about last year, several of Finnix's own public releases, mostly pre-releases, are presumed lost.) Red Hat Linux 6.1 sources were hard to find, and updates to RHL 6.1 were even harder. But in the end, I was able to collect SRPMs for every single package in Finnix 0.03. So now Finnix is able to account for sources for every piece of software in each of its 18 releases in its 11 year history.
Article posted on Aug 14
Finnix has had PowerPC support for over 5 years now, and is frequently mentioned by PowerPC Linux enthusiasts. Part of the reason is while PowerPC is well supported in the Linux kernel, sadly very few distributions support PowerPC any more. Finnix is one of only two PowerPC LiveCDs, and IMHO the most popular (the other is GeeXboX, a graphical multimedia LiveCD). As for installable distributions, very few support more architectures than 32/64-bit x86 these days.
So I decided to make a list of Linux distributions with PowerPC support. I took the list at DistroWatch.com and weeded out errors, distros that are no longer active, distros that are active but no longer have PowerPC support, etc.
Vine Linux (a Japanese language distro) was on this list when I compiled it a few weeks ago. But since then Vine 6.0 was released with no PowerPC support, and the release notes make no mention of its removal.
Article posted on Aug 14
I was at DEFCON 19 in Las Vegas, Nevada last week, with Finnix stickers and CDs in tow. And I gave away a lot of stickers, approximately 150. Enough that when I got back, I heard from multiple people who had been at the conference and saw other people who had Finnix stickers on their bag, laptop, etc.
Of course, you can also receive free Finnix stickers through a variety of methods. The self-addressed stamped envelope (SASE) method has been pretty successful since I launched it earlier this year, and I send out SASE stickers a few times per month. Monetary donations help support Finnix and will also receive free stickers as a thank you.
Article posted on Jul 26
Host Virtual, a Virtual Private Server (VPS) provider with 10 datacenter locations around the world and native IPv6 support, is now sponsoring Finnix, providing colocation and bandwidth for primary Finnix services. Finnix's services have been hosted at Host Virtual's San Jose facility for over 5 years, and all Finnix sites have had native IPv6 since early 2010.
Equally important, Host Virtual is now the latest VPS provider to provide Finnix as part of its core platform. Users can easily boot Finnix on their VMs as a rescue image for rescue, repair and maintenance of their OS installations.
Finnix is perfectly suited for VPS providers, and we are committed to working with all VPS providers to implement Finnix as a deployable option for their users.
Article posted on Jul 24
With the release of Finnix 102, I have once again begun printing high-quality, glossy CDs. These are not your typical inkjet CD-Rs you find at the local computer store. They are Taiyo Yuden WaterShield CDs, have a high-gloss finish, are highly resistant to smudging, and are more durable than a typical CD-R. And they look beautiful.
And as an exclusive, these CDs are hybrid bootable x86/PowerPC CDs. Simply insert it in any x86 or PowerPC computer and boot. This version is not available for download, so the only way to receive one of these hybrid CDs is by donation.
You can get a printed Finnix CD with any donation of $20 or more. You will also receive some stickers with your donation. And if you are not interested in CDs and/or stickers, but still want to help out, there are other ways you can help support Finnix.
Article posted on Jul 23
Finnix is a small, self-contained, bootable Linux CD distribution for system administrators, based on Debian testing. Today marks the release of Finnix 102, the eighteenth release of Finnix since its beginnings over ten years ago. Finnix 102 includes Linux kernel 3.0, a smaller distribution size, new Xen pvops and 486 support, and minor bug fixes.
Finnix 102 includes the recently-released Linux 3.0 kernel, and is a slight departure from usual Finnix method of closely following Debian kernel development. Config management was based on Debian pre-release kernels, but patch management was handled internally, basing only partly on Debian. Linux 3.0 support was tested heavily throughout the Linux 3.0-rc process.
Finnix 102 includes XZ (LZMA2) compression of the compressed root and initrd, resulting in distribution savings of more than 20% over previous Gzip compression, and no measurable reduction of boot times.
While Finnix has included Xen guest recognition since Finnix 86.1, Finnix 102's AMD64 kernel now includes built-in Xen pvops guest support. Therefore, Finnix may now be booted in a Xen environment with no extra building or configuration. Simply use the included linux64 kernel file, the initrd.xz initial ramdisk, and the Finnix 102 ISO as a virtual block device.
Finnix 102 is the first Finnix release, including Finnix 0.03 way back in 2000, to include 486 support, though it has not been tested. This is done by not including PAE support in the x86 kernel. The downside is x86 computers with more than 4GB of RAM can only use 4GB with the x86 kernel. However, nearly all computers with over 4GB RAM are also 64-bit capable, so the AMD64 kernel (default on capable platforms) may be used.
Anyone sending photographic proof of Finnix being booted on a 486 (showing Finnix boot plus the output of /proc/cpuinfo on the screen) will be given a free Finnix full-color CD and free Finnix stickers.
While the PowerPC G5 platform has remained a supported platform since PowerPC support was introduced in Finnix 88.0, it was never tested before release, due to lack of hardware. Now a Power Mac G5 DP/DC model is available for testing. The full list of platforms tested include: 586, 686, AMD64, G3 NewWorld, G4, G5, Xen.
Article posted on Jun 30
In my previous post, I mentioned switching to xz compression without much explanation.
Software tends to get larger over time. Finnix deals with this in two ways: looking for things to cut while still retaining as much functionality as possible, and just accepting that the size will continue to grow over time. Larger kernels, larger software, etc. The smallest release of Finnix was Finnix 86.2, at 92 MiB (x86). The last release, Finnix 101, was the largest so far at 128 MiB (x86).
During development of Finnix 102, the simple act of adding upgraded kernels and upgrading existing Debian packages to the latest versions was seriously adding to the size of Finnix, nearly 150 MiB at one point. And I had done all I could to reduce the size; there was just nothing left to cut out. Then I found out about xz compression. Xz is based on LZMA2, offers 10-20% more compression than Gzip, and in particular has optimizations for architecture-specific bytecode (program binaries, etc). Xz support was added to Linux 2.6.39, and could be used for kernel, initrd and SquashFS compression (previously, all three used Gzip compression).
So I tried it out, using Linux 3.0-rc (as of right now, if 3.0 comes out soon, it will be included with Finnix 102). I used xz compression for the kernel, initrd and SquashFS root filesystem, and was seeing 20% space savings versus using Gzip.
No compression: Root FS: 385,187,840 initrd: 7,534,080 Final ISO: 400,162,816 Gzip compression: Root FS: 136,921,088 (64.45%) initrd: 2,495,967 (66.87%) Final ISO: 146,857,984 (63.30%) Xz (LZMA2) compression: Root FS: 109,469,696 (71.58% none, 20.05% gzip) initrd: 1,733,032 (77.00% none, 30.57% gzip) Final ISO: 118,644,736 (70.35% none, 19.21% gzip)
Overall, it looks great. Though one consideration is performance. LZMA is known for being very processor intensive. LZMA2 is more processor efficient than LZMA (and BZ2), but still slower than Gzip. Compression times are roughly 5 times slower than with Gzip. But the real question is how well decompression would work in the real world (that is, when booting Finnix). I don't have any hard numbers on that, but I did put dev builds through the gauntlet of everything from an i586 AMD K6 to a Power Mac G3 to a Core 2 Quad Q9450, and could not perceive any slowdowns.
So barring any major problems, Finnix 102 will actually be smaller than its predecessor, for the first time in over 3 years.
As a reminder, the standing goal of Finnix is to keep the distribution CD below the size of a Mini CD (185 MiB). While I doubt many people actually use Mini CDs, it's a good round goal, and while Finnix would still be within the 185 MiB limit without xz compression today, a proactive approach to keeping the distribution size low helps it from becoming a crisis too quickly.
By the way, the build scripts have been updated to allow a builder to choose which method of compression (xz, Gzip, or even none), and scripts within Finnix that rely on reading/modifying the initrd (finnix-netboot-server, for example) have been updated to detect which compression method is being used, and will use that method when rebuilding the initrd.
Article posted on Jun 28
Finnix 102 is coming along well. At this point, everything on my list is done, and I'm just waiting for Linux 3.0 to be finalized (I've been testing against 3.0-rc builds for awhile, with good success). A changelog so far (subject to change before final release):
* dist-upgrade
* Upgraded kernels to 3.0 (Debian 3.0.0-xxx)
* Added xen-blkfront to the initrd (AMD64 kernel)
* Added initrd loading attempt of xen-blkfront and xen-netfront
* Added ability to set manual IPv4 addresses and basic resolv.conf info via boot parameters
* Changed kernel, SquashFS compressed root, and initrd to xz compression
* Changed finnix-netboot-server and finnix-netboot-biginit to detect gzip/xz/uncompressed initrd, and build initrd_net accordingly
* Fixed console boot flag
* Fixed automatic update of /etc/fstab during hotplug device update
* Upgraded Memtest86+ to 4.20
The current x86 dev build is 2520, which gave me the idea to go back and look at what builds corresponded to what releases.
* 86.1: 1435
* 86.2: 1504 (+69)
* 87.0: 1617 (+113)
* 88.0: 1776 (+159)
* 89.0: 1961 (+185)
* 89.1: 1969 (+8)
* 89.2: 2011 (+42)
* 90.0: 2084 (+73)
* 91.0: 2154 (+70)
* 91.1: 2185 (+31)
* 92.0: 2270 (+85)
* 92.1: 2296 (+26)
* 93.0: 2318 (+22)
* 100: 2359 (+41)
* 101: 2473 (+114)
Prior to the 86.0 release, I picked build #500 as a rough guess as to how many builds I had made since then. 86.0 itself didn't have the build number shown publicly, so I don't have that data. Most testing is done on a VM (formerly VMware, today VirtualBox), so comparatively few builds are actually burned to CD (I would estimate about 200, which is still a lot). But nearly every build has at least been booted.
PowerPC builds use a different build number which is much smaller, 226 as of today. This is because the primary dev machine is an older G4 Mac Mini, which takes much longer to build compressed roots (formerly about 5 minutes, now over 20 minutes due to the switch to xz compression as mentioned in the changelog), compared to a minute or so on x86, a Core 2 Duo E7200. So most development and architecture-agnostic testing is done on x86 in a VM, then the changes are transferred over in bulk to the PPC environment and built.
Article posted on Jun 27
Finnix now has a page on Facebook, for all your Finnix-related facing and/or booking needs! Please visit facebook.com/FinnixCD today.
There is also a Finnix group on Identi.ca, simply join the group and post with the !Finnix grouptag.
As a reminder, the best place for technical discussions (problems, suggestions, etc) is the Finnix mailing list. Be sure to check the latest release notes first for errata and known problems.
Article posted on Mar 2
That's a souvenir (replica) license plate; the text is red rather than blue (sadly, blue would have been better in this case).
(My actual car's license plate is VMLINUZ.)