grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: My Summer of Code Project


From: Yoshinori K. Okuji
Subject: Re: My Summer of Code Project
Date: Wed, 25 Apr 2007 20:12:05 +0200
User-agent: KMail/1.8.2

On Wednesday 25 April 2007 06:49, Alex Roman wrote:
> Right now I'm pondering whether it is worth implementing a BIOS calls
> CDROM boot support, or whether I should just go right ahead and do it
> all with the ATA controller.

It is definitely worth doing. When BIOS works gracefully, you do not have to 
worry about interference with BIOS functions, and it will work, regardless of 
the type of a drive (e.g. SCSI or USB). And, if my understanding is correct, 
recent BIOSes are not that buggy with this regard, so it is the best solution 
in a long term. Also this is the easiest thing to implement. Thus I specified 
this as the first task to do.

Besides that, device drivers would be useful even for some other 
architectures, potentially. So I would say that both are equally important 
for GRUB. But our priority is to motivate GRUB Legacy users to switch to GRUB 
2, so supporting PC BIOS is more urgent, IMO.

> Technically, if the ATA/IDE driver is there, implementing the ATAPI
> command set to "talk" to the CDROM and interpreting the El-Torito spec
> shouldn't be that hard.
>
> If CD-ROM drives are ATAPI on all platforms (where they use ATA), and
> the ATA code is there, the ATAPI and El Torito layer should stay
> cross-platform.

Potentially, yes. But I am not sure if it is feasible, because PC has more 
restriction. Because a drive must be accessible via BIOS calls, the code must 
be small enough to fit into somewhere below 1MB.

In addition, such code needs to be, at least partially, 16-bit code for BIOS 
calls. But I am afraid that 16-bit code support by GCC is quite poor, so you 
would have to implement the code in assembly, thus it would result in 
non-portable code.

Okuji




reply via email to

[Prev in Thread] Current Thread [Next in Thread]