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