On Tue, Mar 4, 2008 at 4:46 AM, Christian Franke <[EMAIL PROTECTED]> wrote: > 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.
I take a look at grub legacy, it uses INT 13 FUNC 4B01 to check for cdrom, maybe i can write a patch later. -- Bean _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel