Is the last command of disk_create supposed to write the kernel out without seeking? As soon as that happens my partition map goes *poof*, along with everything else done above that command.
After running disk_create, fdisk grumps about it being an invalid partition map:
$this->bbcode_second_pass_code('', 'Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x76964aa9.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
')
I added seek=2048 to the final command and it looks happy, but won't boot :
$this->bbcode_second_pass_code('', 'Disk /dev/sdb: 60.0 GB, 60011642880 bytes
64 heads, 32 sectors/track, 57231 cylinders, total 117210240 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00008000
Device Boot Start End Blocks Id System
/dev/sdb1 2048 34815 16384 83 Linux
/dev/sdb2 34816 116161663 58063424 83 Linux
/dev/sdb3 116161664 117210239 524288 82 Linux swap / Solaris
')
What am I missing here? Shouldn't one of the partitions be marked bootable? I obviously don't understand what I'm doing, but groping around in the dark only gets me so far...