wiki/ FlightComputerDrive

Flight Computer CompactFlash "disk" Notes

We're using SanDisk CompactFlash cards as the hard disk for the Flight Computer (FC) and the Launch Tower Computer (LTC). They're just like IDE drives... but apparently more finicky.

Debian "Testing" Installation Notes

Hooking up and running CF cards on a PC

A few notes:

Use the TAPR board with the 0.1" pin header on it, and plug it in with a ribbon cable just like an IDE drive. Note that you'll need the power connector from your floppy drive to power up the board. We always made the board 'hdc' by putting the PC's CD and main disk on the primary IDE interface, and the CF card alone on the secondary interface.

When you boot, make sure Linux recognizes the drive - look at the boot log to verify it ('dmesg | less'). Note that your BIOS doesn't necessarily need to recognize it in order for linux to understand it. In our case, we never had an issue recognizing except for the one time we forgot to power it up. Whoops.

Partitioning and Formatting CF Cards

Ok, so you have a CF card and you want to make it into a disk. Hook it up as above, and boot to linux. Note that 'x' below means the drive letter, e.g. hdx1 = hdc1 for us.

Copying over files

First, get files from the existing card or from the CVS image/tar file. To copy from a CF card:

Note: cp doesn't copy device files correctly. It may be more appropriate to use:

--Main.JamesPerkins

To copy to a CF card:

Making the CF card bootable

You'll need a lilo which has a version => 22.1 (we used 22.5.4) otherwise you'll get a "failure: Map segment too big" error. And note there are some subtleties to this process, since you're marking the CF card, currently /dev/hdx1, to be bootable as /dev/hda1 during a boot up.

Here is the lilo configuration file we used assuming that the CF card is /dev/hdc1 mounted at /mnt/disk:

lba32
disk=/dev/hdc
    bios=0x80
boot=/dev/hdc
root=/dev/hda1
# compact
install=/mnt/disk/boot/boot.b
map=/mnt/disk/boot/map
# 3-second delay
delay=30
vga=normal
default=linux

image=/mnt/disk/vmlinuz
        label=linux
        read-only
        append="console=ttyS0"
#       restricted

image=/mnt/disk/vmlinuz.old
        label=old
        read-only
        append="console=ttyS0"
#       optional
#       restricted

and then run lilo -v -s /dev/null -C lilo.conf to make the CF card bootable.

Note that there's a better way to do this - go Tim go.