LWN.net Logo

Moving on

By Jonathan Corbet
May 23, 2012
Once upon a time, installing Linux on a new computer was a tiresome process requiring a couple dozen floppy diskettes. In 2012, finding a floppy-installable distribution is not an easy task, but few users mind; finding a new system with a diskette drive is even harder. The Linux community was able to leave diskettes behind without a great deal of discontent. Now, though, there are a couple of similar transitions looming that may be a little harder to get past. A number of distributors are struggling with the question of when older hardware can be left behind and what can be done for the users of older systems who are inconvenienced by the change?

In the Debian camp, Steve McIntyre recently raised the alarm: there appears to be no way that the upcoming "wheezy" distribution will fit onto a single CD, at least if one wants a GNOME or KDE desktop environment. Debian, it seems, may have to consider alternatives to those CDs; these could include requiring multiple CDs (bringing back memories of the old floppy days), requiring the use of DVD or USB media, or only supporting a combined CD/network installation. All of these options would have the effect of making Debian less accessible to users with older hardware, a change that is not seen as being desirable in the Debian camp.

As it happens, Debian may have another option: use XZ compression in its binary packages. The additional space gained by this move is impressive—down to about 2/3 of the size achieved with gzip. The biggest downside would appear to be the need to rebuild much of the Debian repository, which is not a small task. But, for the wheezy release, XZ may help the project to avoid some more difficult choices.

But any such gains will clearly be temporary; the size of the software shipped by all distributions is clearly on the increase. This is not just a problem for Debian; Steve Langasek noted that Ubuntu 12.10 will be the first Ubuntu release that will not fit on a CD. In the Fedora camp too, "some folks" are pushing for the abandonment of the CD image for the Fedora 18 or 19 release. Some developers are arguing for a stronger push back against software bloat, but, in general, the consensus seems to be that putting a working distribution with a contemporary desktop environment onto a single CD is an increasingly impractical thing to try to do.

One might well argue that, in an age when bottle openers come with 16GB of storage, worrying about an old medium with capacity measured in megabytes makes little sense. Finding a system that only supports CD as a boot medium is, at this point, possibly even harder than finding one with a floppy drive. There seems to be little point in limiting the size of the installation image to 700MB when computers with such limitations have not been sold in some time. At least, no point unless one's wish is to constrain the overall size of the system in general.

The problem, of course, comes in two forms: old systems and limited network bandwidth. In the parts of the world where distribution hackers tend to be found, CD-only machines are hard to come by. In many other areas where people would like to use Linux, such machines are still in use. One can argue that contemporary Linux distributions may not run well on such limited hardware anyway, but it would still be better to avoid making life harder for the owners of those machines. Network bandwidth also matters: for many people, downloading a full DVD-size image can still be a long and painful exercise; an image limited to CD size has a higher chance of being fully downloaded before the link goes down or other users become too grumpy. Forcing a multi-gigabyte download on such users is not a good way to win friends.

The best answer in this case may be to provide a minimal bootstrap CD image that can then perform an installation from either the network or a USB drive. That allows the installation image to grow for the large numbers of users who can benefit from more software on the installation media while not excluding those who have more limitations. It seems like an approach that can provide the best solution for nearly everybody involved.

The Debian community has been pondering a related question: is the time coming for the distribution to move away from 32-bit builds for the x86 architecture? Ben Hutchings recently posted a proposal to that effect, noting that most new systems have 64-bit processors, and that the number of 64-bit ("amd64") installations has nearly equaled the number of 32-bit installations. Ben would like to see the 64-bit kernel installed by default in the wheezy release and, after perhaps two or three more release cycles, no more 32-bit x86 kernels built at all. These are Debian-length release cycles we are talking about, so the end of 32-bit kernels is far from imminent, but it's still near enough to get attention. (This proposal would not end the building of 32-bit user space, which can run just fine on a 64-bit kernel).

Certainly there are a lot of good reasons to go with a 64-bit kernel on contemporary hardware. Even if user space runs in 32-bit mode (or the upcoming x32 mode), an option that works nicely at this point, a 64-bit kernel will run more efficiently for a number of reasons. Given that there are fewer and fewer reasons to use a 32-bit kernel, perhaps Debian should stop putting resources into building such kernels.

Here, though, the situation is not quite so clear cut. As some developers pointed out, 32-bit-only x86 systems are still shipping. Ubuntu considered moving to a 64-bit kernel for the 12.04 release, but backed off after somebody noticed that 25% of the submissions to the Ubuntu Friendly hardware database came from 32-bit machines. 32-bit processors are still well established in the x86 world, so it seems unlikely that distributors will be able to stop supporting them anytime soon.

The fast-moving nature of technology ensures that distributors will continue to face these questions indefinitely. In general, Linux distributors have erred on the side of keeping support for old hardware; few distributors want to alienate potential users. But supporting older systems is not free; those systems can place constraints on what can be packaged, slow down performance on newer systems, take up developer time, and present testing challenges when nobody has the relevant hardware around anymore. So there comes a point where older systems have to be cut loose. Some newer-style distributions (CyanogenMod, say) are showing signs of having less patience with older hardware—arguably an unsurprising decision for a project supporting well over 50 separate targets. Expect more discussions like the above as distributors try to make the most of their limited development and build resources.


(Log in to post comments)

Good-bye CD/DVD

Posted May 24, 2012 6:36 UTC (Thu) by debacle (subscriber, #7114) [Link]

For all the PCs I installed in the past three years I exclusively used the Debian netinst (network installation) image (~ 230 MB) on an USB memory stick. Mainly because modern notebooks don't have a CD/DVD device anymore. In the case of netinst, one needs to use either a Debian repository or ones own repository during install. If network is not available or desirable using installation, one can easily put the first Wheezy DVD (~3.7 GB) on a 4GB (3.60€) memory stick.

Good-bye CD/DVD

Posted May 25, 2012 10:09 UTC (Fri) by wookey (subscriber, #5501) [Link]

Yes. Same here. I think USB stick/SD card can reasonably be considered the default installation method these days. And it would be nice if USB-creator from Ubuntu made it into debian to make that easier for newbies.

See ITP bugs for why it hasn't in last two years (needs a rename a a few bugfixes).

At least we have dropped floppies - I just worked out that a full floppy set of Debian would be a little under 32,000 floppies :-) That's quite a stack. Even 71 CDs is quite hefty. It was 13 when I got involved (potato), and the proportion of available software that is packaged has probably decreased in that time.

Good-bye CD/DVD

Posted May 28, 2012 13:20 UTC (Mon) by man_ls (subscriber, #15091) [Link]

But the new CD/USB images are great! All CD images are isohybrid: they work for a CD and for a USB key, so the only thing that needs doing is a dd command. I contend in jest that mere mortals who cannot issue that command are not worthy of Debian.

Good-bye CD/DVD

Posted May 28, 2012 17:16 UTC (Mon) by wookey (subscriber, #5501) [Link]

There are indeed very nifty. I used one last week.

However they are x86 only, so far as I know, which is a limitation. I don't know if that can be fixed (as I don't know how it works).

Moving on

Posted May 24, 2012 7:00 UTC (Thu) by djc (subscriber, #56880) [Link]

Makes me wonder: what has changed over the years that distributions no longer fit on a CD? There's a lot of new stuff, to be sure, but isn't there also a lot of old stuff that we no longer need?

Moving on

Posted May 24, 2012 19:31 UTC (Thu) by jengelh (subscriber, #33263) [Link]

libc code bloat is one: http://www.youtube.com/watch?v=Nbv9L-WIu0s

Forced agglomeration is another. glibc-locale (openSUSE): ~117M. kernel: ~137M. libreoffice: ~219M, texlive: ~561M. Many of these can be combated with splitting packages. Yes, Debian gets it right (texlive is split, and locales are autogenerated in part), but unluckily, not everybody chose it.

Then, forced integration. Once upon a time, you could have a SUSE system without python (and without the then-nonexisting desktop/devel progs we take granted today). Now you need it for inkscape, llvm-clang, ibus, and whatever else. At the same time, perl use has not declined. I can already foresee that perl6 will find its way into systems without me even wanting it. Yes, Gentoo gets it right (can compile and deactivate), but unluckily, not everybody chose it.

Moving on

Posted May 25, 2012 6:39 UTC (Fri) by djc (subscriber, #56880) [Link]

Yeah, this is one of the reasons I use Gentoo (although I don't use it for desktops, where compilation time might be a bigger issue). A Gentoo ISO is 154MB... but doesn't include any GUI, of course.

Still, there's a lot to be said for the granularity with which Gentoo lets you install packages and their features.

Moving on

Posted May 30, 2012 12:08 UTC (Wed) by ssam (subscriber, #46587) [Link]

but a gentoo install takes up quite a bit of space, seen as you need to have a compiler and all the dev libraries. And portage takes up a fair about of space.

Moving on

Posted Jun 3, 2012 6:37 UTC (Sun) by philomath (guest, #84172) [Link]

enter Arch Linux.

Moving on

Posted May 24, 2012 8:15 UTC (Thu) by epa (subscriber, #39769) [Link]

How much disk space would it take to ship source packages (again, compressed with XZ) and build them as they are installed? It need not turn into Gentoo with its flexibility at combining different build flags; instead each source package could include the checksum of the resulting binary package, and is expected to produce exactly that result given the standard toolchain used at installation time.

Moving on

Posted May 24, 2012 8:16 UTC (Thu) by epa (subscriber, #39769) [Link]

...or even lrzip might provide tighter compression than XZ, and often run faster too.

Moving on

Posted May 24, 2012 17:50 UTC (Thu) by cesarb (subscriber, #6266) [Link]

The problem with source packages is that some of them use insane amounts of disk space and memory to compile and link. IIRC, even Gentoo recommended that users install a few key programs from binary precompiled packages (it is a long time since I last looked; IIRC, OpenOffice.org was one of these packages).

Moving on

Posted Jun 7, 2012 5:34 UTC (Thu) by steffen780 (guest, #68142) [Link]

Afaik it's not recommended, it is simply that a few packages are available as pre-built binaries in the official main tree for obvious reasons.

SUSE Studio

Posted May 24, 2012 11:39 UTC (Thu) by admorgan (subscriber, #26575) [Link]

This seems like a problem that services such as SUSE Studio (I can't remember the others I have seen but rBuilder comes to mind) could solve. The vast majority of a distribution's users will be fine with USB devices or DVDs. The ones running on older hardware can create their own CD image. I feel this kind of service would lead to services such as virtualboximages.com to make it easy to find required images for antiquated hardware leading to a better experience for persons using older systems.

I personally have 3 servers running on my home network using 32bit CPUs. I don't have any plans to upgrade them. They will be replaced when they die or my required software no longer runs on them.

32-bit x86 will be relevant for some time yet

Posted May 24, 2012 14:16 UTC (Thu) by Thue (subscriber, #14277) [Link]

> perhaps two or three more release cycles, no more 32-bit x86 kernels built at all.

That would be a strange decision. In two or three more release cycles there will still be more (perhaps slightly old, but still quite usable) 32-bit x86 machines out there than most of the other architectures that Debian currently supports, such as MIPS, AI64, or Sparc.

32-bit x86 will be relevant for some time yet

Posted Jun 1, 2012 0:55 UTC (Fri) by BenHutchings (subscriber, #37955) [Link]

I don't think we need to decide at this point, or indeed more than one cycle in advance, that any particular release will be the last with i386. I'm not argue on what timescale is realistic. But I think that we should plan to have such a transitional stage for i386 (and maybe other 32-bit architectures that are succeeded by a 64-bit counterpart) before actually removing it.

32-bit x86 will be relevant for some time yet

Posted Jun 1, 2012 18:02 UTC (Fri) by nix (subscriber, #2304) [Link]

I'm not sure you can describe x86 as 'succeeded by' x86-64, really: there are still new designs being released which have only 32-bit x86 support (hello, Atom).

32-bit x86 will be relevant for some time yet

Posted Jun 2, 2012 5:58 UTC (Sat) by Duncan (guest, #6647) [Link]

Indeed. I was an amd64 early adopter, and ia32 (kernel, anyway) really is legacy in some ways, but my only full computer purchase (I usually upgrade a piece at a time) this century was a gen-1.5 32-bit-only atom-based netbook, Acer Aspire One, 150L (L for Linux, I had to order it imported from Canada, but no way was I going to be an eXPrivacy statistic, even if I did buy it with the express intent of immediately sticking Gentoo on it) -- before they killed things with the all but Linux incompatible outsourced graphics.

It's still going strong! One of the first things I did was add a 1-gig stick of RAM to it, it's one of the first netbooks with a regular SATA interface and I chose the 120 gig "rotating rust" drive, but I still plan to upgrade that to either 128/256 gig SSD or 500 gig "rotating rust" at some point. I just replaced the battery for the second time a few weeks ago.

As TFA mentions, we /are/ talking Debian cycles, here, but still. If it weren't for netbooks, and likely x86 based touchpads at some point, x86 /was/ headed toward footnote territory, but that gave it a new lease on life and now I expect it to be with us for some time.

Meanwhile, not directly related but food for thought: A lot of touch-screen based retail cash registers are P4 or similar based, now, often running MS-DOS with memory extenders and TSR-based networking and touch-input stacks. Either android or more traditional linux could eventually take that, on either x86-32 or arm.

32-bit x86 will be relevant for some time yet

Posted Jun 4, 2012 12:57 UTC (Mon) by nix (subscriber, #2304) [Link]

Quite. In an ideal world I'd like for Atom to die and be replaced by ARM. Unfortunately that now apparently means that it would also come with a free signed boot that boots only Windows and that you can't override :(

32-bit x86 will be relevant for some time yet

Posted Jun 6, 2012 19:47 UTC (Wed) by JanC_ (guest, #34940) [Link]

There's not only Intel's Atom, but also some embeded x86 SoC manufacturers like DM&P Electronics:

http://www.dmp.com.tw/
http://vortex86sx.com/
http://www.norhtec.com/ (the Xcore86/Xcore86+ are rebranded DM&P chips)

Does Firefox matter?

Posted May 24, 2012 18:43 UTC (Thu) by ncm (subscriber, #165) [Link]

It might be worth noting that 32-bit Iceweasel still crashes with fair frequency (half-life 4-5 days) when run on a 64-bit kernel. It runs out of address space in the cycle collector.

Does Firefox matter?

Posted Jun 1, 2012 0:56 UTC (Fri) by BenHutchings (subscriber, #37955) [Link]

Works on my machine(TM). I've been using this combination for the last 3.5 years.

Moving on

Posted May 25, 2012 2:58 UTC (Fri) by joey (subscriber, #328) [Link]

Actually, at the moment we don't know if Gnome fits on a CD or not, because our CD packer is broken. http://lists.debian.org/debian-cd/2012/05/msg00092.html

Moving on

Posted May 25, 2012 7:38 UTC (Fri) by drag (subscriber, #31333) [Link]

What I would like to see is that instead of a hundred different packages a installation is nothing more then a wizard to help you setup file systems and the bootloader then have it fire down a file system image to the disk.

Just have it be a base system install in just one big tarball. Then if people want to install or customize the system they can do so after they get it installed.

If there is enough space to stick a GUI on the installer then have another big Gnome tarball that gets extracted over the base install tarball.

That should simplify things and speed up the process considerably. Maybe save space also. Then it would open up possiblities for doing similtanious installs easily over LANs by booting up a kernel and initrd over PXE and transmitting the file system image/tarball out over ethernet multicast and HTTP.

In the future if BTRFS gets standardized for desktop installs then having a USB image with optional boot cdrom would be way to go. You can then take advantage of BTRFS's to be a read-only seed feature. You can use BTRFS file system as a read-only seed to which you can add read-write file system to.

Basically you script it so that...
Boot up the USB drive. Configure the storage. Combined the read-only USB seed file system with the read-write internal storage. And then migrate the file system completely over to the internal storage, at which then it should be possible to remove the USB drive.

This way you can do a full install to a system with just a single boot. The tasks for the end user would be to just choose the storage options and click 'yes' to install the bootloader. Then they would be finished. Just have to then update the system and reboot if there is a new kernel.

I can understand having a bagillion packages and such back in the day when disk space was at a premium, but nowadays I don't see much of a point. I think doing the 'install file system image' is a simpler approach. Just give people a standard base install they can customize after the first boot.

That's pretty much what everybody ends up doing anyways.

Of course you'd still support the end user making custom base installs for when they need to deploy a large number of systems with a specific configuration, but that can be done as a extension of what was described above.

Moving on

Posted May 25, 2012 12:05 UTC (Fri) by james (subscriber, #1325) [Link]

With one exception, that's pretty much what Fedora Live media does if you install it to hard disk. The "big tarball" is the live image you've booted, which gets uncompressed and expanded. Obviously, it includes enough information that the packages on the install can then be upgraded or removed just as they would be on any install.

The exception is that it does require a reboot to check that the newly install system will boot: given the state of firmware interfaces and the number of storage setups, this is probably necessary.

(Of course, there are a few more details, like adding users).

Moving on

Posted May 27, 2012 13:50 UTC (Sun) by jospoortvliet (subscriber, #33164) [Link]

most, if not all installable live cd's do this - ubuntu, openSUSE. I agree that it's a good way of doing things - if users want more control there's a full install (the openSUSE promo DVD does offer these options at once: two installable livecd's AND a full, traditional install).

Moving on

Posted May 30, 2012 12:17 UTC (Wed) by ssam (subscriber, #46587) [Link]

worth noting that just because you go over 700MB and move from CD to DVD it does not mean that you have to use 4.7GB. So we not make a 1GB iso for the standard install and a 200-300MB minimal (no GUI) version.

Moving on

Posted Jun 7, 2012 5:48 UTC (Thu) by steffen780 (guest, #68142) [Link]

I'm sorry, but why would a different archive format require rebuilding lots of packages? I can see why it might require a few (single digit, or at most low double digit) packages to be rebuilt as they'll have to support the "new" archive format, but why all? Just unpack them and then repack them with the new utility. What's the big deal? Yes, for an archive as impressive as Debian that's still not a 5 minute task, but surely a manageable one.

Of course the wider question, and I think that drowned out a bit in the article and the comments, is for how long to support "legacy" hardware. And "legacy" software, for that matter. That is a big question without an easy answer. Fortunately, with free software, we don't all have to agree on a single answer, that makes it slightly easier ;)

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds