Bean wrote:
On Sat, Feb 16, 2008 at 5:13 AM, Christian Franke
<...> wrote:
...
 Further testing outdated this patch. The boot CD appeared under the
 following drive numbers:

 0x82 (old Toshiba Laptop with unknown BIOS)
 0x9f (PC with Phoenix-Award BIOS, VMware)
 0xe0 (VirtualBox)
 0xef (PC with AMI BIOS, VirtualPC)

 Current CVS would only work for 0xe0, with the previous patch it works
 for all >= 0x9f.

 This new patch also handles the case that the CD appears under the
 legacy controller drive number (0x82 = secondary master). It is accessed
 as "hd2" in this case.

 Christian

 ...

I'm thinking, is there a more generic way to test for cd drive ? also,
if the cd drive can appear as (hd2), maybe we can use (hdx) for other
cases as well, such as (hd96), etc. The name might be a little
strange, but we can get the bios drive number quite easily, which can
be useful sometimes (some boot loader need to know the boot drive
number).


Good point.

Besides the heuristics "(boot drive >= 0x9f) => (likely a boot CD)", there is apparently no clean method to distinguish CD from HDD on the legacy BIOS call level.

Is the special handling for CD in grub_biosdisk_rw() necessary, or can it be generalized to work with both CD and HDD? In the latter case, no actual CD detection is necessary.

So is would be probably better to remove the (cdN) device names and accept funny names like e.g. (hd111) for boot CD 0xef. It also would be easier to track down problems when the boot device number is no longer hidden behind (cd0).

BTW: None of the BIOSes I tested provided access to a second (non-boot) CD drive.

Christian



_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to