|
From: | Christian Franke |
Subject: | Re: [PATCH] Ensure boot CD can be accessed |
Date: | Mon, 03 Mar 2008 21:46:36 +0100 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071128 SeaMonkey/1.1.7 |
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
[Prev in Thread] | Current Thread | [Next in Thread] |