Linux distributions, focus on a 1gb flashdrive, not on a CD ISO

Topic: 

I'm looking at you Ubuntu.

For some time now, the standard form for distributing a free OS (ie. Linux, *BSD) has been as a CD-ROM or DVD ISO file. You burn it to a CD, and you can boot and install from that, and also use the disk as a live CD.

There are a variety of pages with instructions on how to convert such an ISO into a bootable flash drive, and scripts and programs for linux and even for windows -- for those installing linux on a windows box.

And these are great and I used one to make a bootable Ubuntu stick on my last install. And wow! It's such a much nicer, faster experience compared to using CD that it's silly to use CD on any system that can boot from a USB drive, and that's most modern systems. With a zero seek time, it is much nicer.

So I now advocate going the other way. Give me a flash image I can dd to my flash drive, and a tool to turn that into an ISO if I need an ISO.

This has a number of useful advantages:

  • I always want to try the live CD before installing, to make sure the hardware works in the new release. In fact, I even do that before upgrading most of the time.
  • Of course, you don't have old obsolete CDs lying around.
  • Jumping to 1 gigabyte allows putting more on the distribution, including some important things that are missing these days, such as drivers and mdadm (the RAID control program.)
  • Because flash is a dynamic medium, the install can be set up so that the user can, after copying the base distro, add files to the flash drive, such as important drivers -- whatever they choose. An automatic script could even examine a machine and pull down new stuff that's needed.
  • You get a much faster and easier to use "rescue stick."
  • It's easier to carry around.
  • No need for an "alternate install" and perhaps easier as well to have the upgrader use the USB stick as a cache of packages during upgrades.
  • At this point these things are really cheap. People give them away. You could sell them. This technique would also work for general external USB drives, or even plain old internal hard drives temporarily connected to a new machine being built if boot from USB is not practical. Great and really fast for eSata.
  • Using filesystems designed not to wear out flash, the live stick can have a writable partition for /tmp, installed packages and modifications (with some security risk if you run untrusted code.)

Comments

Make it happen, Brad!

Great idea! I'd love one.

I'd prefer it, though, if I can get it onto a USB device with hardware write protection once its been installed.

I'm happy to use my Knoppix CD on malwared mahines as I know that the CD contents can't be changed. I wouldn't want to plug in a rescue USB unless I was 100% sure it would boot into the USB operating system. If an infected system managed to see my writable USB, that would be bad.

I think it is usually pretty obvious just where a system is booting from. The normal procedure for booting from usb stick requires going into the bios to put the usb stick into the boot order, since most systems don't want to boot from a random usb stick put into them.

The downside of a read-only stick is that you can't have writable section of the stick. Your live stick can be more useful if it can write to flash (data, not code) for /tmp and temporarily installed packages, instead of using ram as they now do.

I'm typing this on a machine on which I installed Ubuntu Intrepid Ibex from a 256MB USB stick. (I bought a 2GB USB stick so I could use the CD-sized install image, but it was defective, so I used the other one Beatrice had available.) My machine doesn't have a CD drive because it would have increased its cost by about 10%, but boy does it ever have USB ports.

It was kind of a pain. It would be a lot easier if either Ubuntu or Debian made it a priority.

If you want to have some read-only data and some read-write data, maybe you can put them on two separate pendrives? I wish I had a way to verify that the write-protect on these drives actually works.

Yeah, it's a newer hardware sort of thing. However, there are a few options to make it easier on older hardware.

  1. For under $10 you can get a "compact flash to IDE" adapter that lets you use any CF card as a PATA IDE drive, which you can boot from on any machine ever made, pretty much.
  2. Almost everybody has an old, tiny hard drive still around that no longer has any other use, but is way bigger than 700mb. To write to the drive, use a USB external box if you like, and then temporarily put it on the system that won't easily boot from USB

The latter choice gives you something quite a bit faster than USB, too.

As for the read-write, I would imagine creating the system to indeed put all user-written stuff in another partition. Write the "install disk" to a partition sized for it, and then create a 2nd partition on the flash drive or on a 2nd flash drive, and put drivers and packages in there.

Then modify the installer to look at these other partitions for such things.

In particular, a wonderful thing to be able to put there would be scripts to "customize the machine the way I like it" along with answers to all install questions, extra packages to apt-get if they are not already there and so on.

This makes the process one of downloading the install image, and then copying your standard set of drivers and modification scripts to the extra partition (on the flash or off of it) and then confirming that partition on install.

(You need to confirm as you don't want to trust scripts from any partition since a bad actor might have stuck scripts into your hard disks to make their infection survive a reinstall.)

Though yes, the question of read-only hardware protection is another issue, and might make you want to have two sticks. Not like they are expensive.

Another interesting option would be to get a tool to put the install image on a "U3" USB stick. The U3 sticks look to the machine like a USB CD-ROM combined with a flash drive. So you can put a bootable partition in the (small) cd-rom like section and then read from other drives. It might solve your boot from USB issue, as long as the machine understands booting from USB cdrom more readily.

http://www.slax.org/

200MB footprint and super easy to make a bootable USB drive!

I have Ubuntu installed on a USB Flash key, but I haven't taken the time to figure out how to keep it from logging to the flash. I've read some reports that letting it log to flash can wear out a flash key in a year by exceeding the rewrites on the flash. It isn't obvious how to do this if you aren't a Linux guru.

Many usb sticks include automatic write leveling, which means that every time you write it tries to write to a different block and declares the old block free, so you never write too much on one place. OSs also have support for filesystems doing this, knowing they will be on flash. Distros meant to run on flash do this I think. With this enabled you can go a long time without wearing out the flash. Plus newer flash has more write cycles.

Add new comment