On Sat, Feb 16, 2008 at 5:13 AM, Christian Franke <[EMAIL PROTECTED]> wrote: > Christian Franke wrote: > > ... > > New patch below. > > > > 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 > > 2008-02-15 Christian Franke <[EMAIL PROTECTED]> > > > * disk/i386/pc/biosdisk.c: Include <grub/machine/kernel.h>. > (grub_biosdisk_iterate): Always list boot drive. > (grub_biosdisk_open): Assume CD if get diskinfo fails for boot drive > not detected as CD before. > > (GRUB_MOD_INIT): Make boot CD accessible even if BIOS does not report > INT13 Extensions for boot drive. Start CD scanning from > > > grub_boot_drive + 1. > * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START): > Change from 0xe0 to 0x9f to cover more BIOS variants. > * include/grub/i386/pc/kernel.h (grub_boot_drive): Add EXPORT_VAR. > * kern/i386/pc/init.c (make_install_device): Always set boot CD device > name to "(cd0)". Patch was provided by Bean.
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). -- Bean _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel