I'm setting up a large software RAID array using MDADM, and don't want to waste a drive bay on a system disk. Unfortunately, the server I'm working with has trouble booting from a USB drive, so I'm attempting a workaround.
I want to create a LiveCD with Knoppix or some other suitable distribution, then use the USB drive as a mountable storage device to keep all my admin scripts etc on. I plan on running several services including:
Samba SSH SFTP Subversion (SVNServe)
I'm used to running a headless Fedora server, and that would be ideal, but I'll take what I can get. Can anyone suggest a good approach for this problem? Specifically - an appropriate distribution to use, how to configure the LiveCD, and how to get it to automatically mount and run certain scripts on the USB drive?
The Debian Live Project is pretty well documented. If you are a fan of Ubuntu there are several good docs in their wiki, this is probably a good starting point LiveCD Customization From Scratch.
Unfortunately I am not familiar with how to Customize Fedora/Centos to offer advice on something that will be more familiar to you.
I do think you may be asking for trouble and making things too complex when you want to boot of a CD, mount a USB drive.
As an alternative, since you are using software RAID, why don't you simply create a small 1GB partition at the start of the drives?
I'd suggest using grml (Debian based Linux Live-CD, check out grml.org):
Disclaimer: I'm related to the grml project.
The Fedora LiveCD can be customized fairly easily if you have the drive space. Take a look at the LiveCD howto on the Fedora wiki
Have a look at SystemRescueCd (I'd add a link, but I don't seem to be allowed to, so you'll have to goolge that), it's easily customizable and can be booted from USB or CD.
PXE network boot - Needs another machine. Writable, easy to update or boot different OS's. Good for many machines with active boot changes (development, QA lab, etc.).
IDE or SATA CompactFlash adapter (~$20) - Solves BIOS boot issues. Writable, easy to update. Use leftover space as SSD (if SATA adapter) for ZFS cache, etc..
SuperGrubDisk - Boot from CD - load kernel, drivers and init scripts from USB, or copy kernel on CD and boot kernel from CD and init from USB. Works in many systems that can't boot directly from USB. Useful for a rescue CD either way.
Unetbootin - gui based to simplify building bootable USB drives. Check that your USB drive boots on another machine. Some just won't work for booting, most major brands work fine.
I think that the pendrivelinux guys have exactly what you want.
A tutorial on how to install Knoppix 6.0 on a USB flash drive.