mohammed mt wrote:
Hi all...
I wishes to do USB support for GRUB...What are the important things when
doing a device support for GRUB, that is not much taken
into consideration when doing the same for Kernel?
Hi Mohammed,
Well, depends on the platform you are doing the driver. But let assume
x86. Basically you should write lean code, use as less of resources than
possible. Then again, make it as much portable as you can. You do not
put code in GRUB's kernel unless there is really pressing matter to do
that. All code should reside on modules.
This means, making some interfaces, where one interface is public for
all platforms and on top of that there is code that is common between
all architectures, below that are hardware/platform specific code. Rest
basically is up to driver design, but more likely will also have
additional interfaces to make it more pluggable.
Usually all code is in C, meaning that it is easy to maintain and port
code to other systems. Only for specific parts of the code when it is
impossible to use C, then you would write assembler code.
In addition to these, general GPLv3 things apply, like it has to
compatible with it. Meaning you cannot copy code from unknown sources
(we usually say not from any sources), if source is shared, then it
should not be maintenance nightmare, and license should match.
With major contributions you will also have to assign your copyright to
FSF. Code has to be also reviewed in order to be accepted in.
But, please wait for couple of weeks before starting, because there is
GSoC 2008 going on and student application evaluations are currently
going on. There are couple of USB applications in there... and we do not
want to duplicate the effort.
Thanks,
Vesa Jääskeläinen
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel