Hi,
First of all, thank you Elmar for this wonderful software!

Ever since this afternoon I've been troubleshooting plpbt under VMware Fusion so that it can boot FreeBSD 8.0 off of a USB drive where the VM doesn't have any other hard drives configured. (Yes Elmar, this is a potential reply to
http://lists.freebsd.org/pipermail/freebsd-bugs/2008-February/028792.html if you remember. :-p)
Problem: plpbt apparently does not increment the number of hard drives reported in the BIOS equipment list area (8-bit unsigned integer at the conventional memory location 0040h:0075h) by the number of drives it adds, and this confuses the FreeBSD boot loader.
Let's say there were originally M hard drives and plpbt adds N more drives (I believe N is typically just 1). Before plpbt goes resident, BIOS drives >= 0x80 but < 0x80+M are the original drives; after plpbt kicks in, BIOS drives >= 0x80 but < 0x80+N are the drives under plpbt's control, and BIOS drives >= 0x80+N but < 0x80+N+M are the original drives. Since the drive count at 0040h:0075h is still M, only the first M drives, not all N+M drives are considered by the FreeBSD boot loader.
Case 1: If the original VM had 3 hard drives, they would be 0x80, 0x81 and 0x82, and the drive count at 0040h:0075 would be 3. After plpbt adds one drive, the plpbt drive would be 0x80, and the original 3 hard drives would be 0x81, 0x82 and 0x83. However, because plpbt does not increment the drive count from 3 to 4, the FreeBSD boot loader only considers drives 0x80 (plpbt drive), 0x81 (the 1st original) and 0x82 (the 2nd original); the 3rd original drive is no longer considered and cannot be accessed by the boot loader. But this can be okay, as the boot loader typically needs to access only the drive 0x80.
Case 2 (worse): If the original VM had no hard drive at all, the drive count at 0040h:0075h would be 0. After plpbt adds one drive at 0x80 but forgets to increment the drive count, the drive count would still be 0. Because of this, the FreeBSD boot loader would not consider any hard drives at all, and of course, would not boot from the USB hard drive.
Could this be fixed in the next version of plpbt?
Cheers,
Eugene
P.S. For those who are looking for a workaround, the obvious one is: Add at least one bootable hard drive to your system. This includes a dummy virtual disk in VMware Fusion; its size doesn't matter and can be very small.
