[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Ensure boot CD can be accessed
From: |
Bean |
Subject: |
Re: [PATCH] Ensure boot CD can be accessed |
Date: |
Wed, 5 Mar 2008 15:05:15 +0800 |
On Tue, Mar 4, 2008 at 4:46 AM, Christian Franke
<address@hidden> 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