This is a followup from my patches last September (I was using my laptop and didn't have my SF password handy, then). Once I got the project built, the save worked, but restoring onto a new disk failed because stat returned zero for the size of a newly initialized disk.
I got around this by modifying the partition map code to try reading the size from the APM partition configuration when stat didn't come through with anything. Luckily, this code is well written and the change was pretty simple. The restore worked and my TiVo has been happily up and running for 3 months, now. The only problem is that it's recording so much stuff on that huge drive that I'm wasting too much time watching it :-)
So, the summary for creating a disk is:
1. List /dev/disk* before connecting the new drive.
2. Connect the new drive (I used a FW sled, but any way of connecting will work). Format the drive with Disk Utility. Select the "Partition" tab and a "Volume Scheme" of "1 Partition" with the "Format:" as "Free Space".
3. List /dev/disk* again to see what disk appears and then proceed using mfstool according to the existing documentation. You want to use the "diskN" that appears after you partition, not "diskNs1". Where N is a number.
I'm uploading the patches in 3 formats, ed script, RCS and default diffs. This is what you get if you extract the tar file.
diffs.ed.txt
diffs.rcs.txt
diffs.txt
I would have uploaded the entire build, but SF limits the size to 256K...
Diff files.