Phreon, I agree: Once I determined that Jeff's uBoot would handle a HD on the Dockstar, I copied everything over to the HD and unplugged the thumb drive. A couple comments: I come from a SheevaPlug background, and there people had all sorts of trouble getting a HD to reliably boot. I think it has something to do with the fact that the SheevaPlug only has one USB port, and thus requires an external USB hub. Thus, on that system, I still use an SDcard for the root partition.
There are some advantages to thumb drives: They are always on, and you never have to wait for them to spin up. Plus, they have no rotational delay, so they are really fast, too, at least on reads. Still, that's not enough to offset the simplicity of having only one HD with everything on it.
Finally, I'd heartily recommend purchasing a Seagate GO drive. They plug right into the top connector and it makes for a super compact and tidy setup. And, this port may get precedence for being the "sda" drive. I don't know for sure, but my GO drive always gets that designation.
As far as converting to a HD, it isn't all that hard. First, it's probably easier to do the conversion on another machine. That way, you don't have to deal with the problems of trying to copy an active file system. I suppose you might be able to do it from the OS on the NAND memory, but I chose to use my Ubuntu desktop.
The following steps should be performed as the root user:
First, plug the HD into your chosen machine, and use the Linux
fdisk tool to configure the file systems you desire on the HD. Like on the thumb drive, you'll probably want a root partition and a swap partition. You might want a separate /home. And, you'll definitely want to dedicate most of the drive to a data partition to hold whatever you are planning to store and access from the Dockstar. The partition sizes do not have to match those on the thumb drive. Indeed, it is probably best to give them all a little extra space, given you should have plenty to work with now. Make sure you mark the root partition as being bootable.
Next, perform a
mkfs on all the partitions. (Use
mkswap for the swap device.) I chose to make mine ext3 file systems. ext3 is more resistant to damage caused by power failures than ext2, and ext4 is so new that lots of older Linux boxes cannot handle it. Even though I made the root partition ext3, it is mounted as an ext2 on the Dockstar, since the Dockstar's uBoot explicitly specifies ext2. I haven't changed that yet, and it's not a problem to do so -- mounting an ext3 file system as ext2 just bypasses the file system logging.
Next, plug in your already populated thumb drive. Depending on which Linux you are running, it may auto-mount the partitions containing file systems. If not mount the root file system somewhere yourself. Then mount the HD file system that is destined to become the new root. Now execute the command
Quote
cd $OLDROOT && find . | cpio -pdm $NEWROOT
where $OLDROOT is the mount point for the thumb drive's root file system and $NEWROOT is the mount point for the HD's root partition.
Do the same for any other populated partitions you have on the thumb drive. When you get done, do a "df" and make sure the space used on each populated HD partition is very close to the space used on the corresponding thumb drive's partition. (It may not be exact.)
You're almost done. On the new HD root file system, edit the /etc/fstab file and make sure that device names are still correct, and any extra partitions you created are accounted for. Then
umount everything, unplug the HD, take it over to your Dockstar, and plug it in. If everything goes well, you should be able to power on the Dockstar and it will come up on the new HD, just like the old thumb drive did. If not, you'll have to dig into it with netconsole and/or the serial port, but you can always revert back to the thumb drive in the interim.
Of course, once you verify the HD boots reliably, put the thumb drive on the shelf -- it is now your backup!
Good luck.