From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1Jkweq-00020R-1N for mharc-grub-devel@gnu.org; Sun, 13 Apr 2008 03:29:48 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jkweo-0001xT-0F for grub-devel@gnu.org; Sun, 13 Apr 2008 03:29:46 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jkwem-0001uG-BO for grub-devel@gnu.org; Sun, 13 Apr 2008 03:29:45 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jkwem-0001u3-6V for grub-devel@gnu.org; Sun, 13 Apr 2008 03:29:44 -0400 Received: from mx20.gnu.org ([199.232.41.8]) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Jkwem-00013J-9b for grub-devel@gnu.org; Sun, 13 Apr 2008 03:29:44 -0400 Received: from pne-smtpout3-sn1.fre.skanova.net ([81.228.11.120]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Jkwei-0002Bm-Or for grub-devel@gnu.org; Sun, 13 Apr 2008 03:29:40 -0400 Received: from [127.0.0.1] (88.193.32.97) by pne-smtpout3-sn1.fre.skanova.net (7.3.129) id 47A78857003DD9A2 for grub-devel@gnu.org; Sun, 13 Apr 2008 09:29:34 +0200 Message-ID: <4801B668.4070905@nic.fi> Date: Sun, 13 Apr 2008 10:29:44 +0300 From: =?ISO-8859-1?Q?Vesa_J=E4=E4skel=E4inen?= User-Agent: Thunderbird 2.0.0.12 (Windows/20080213) MIME-Version: 1.0 To: The development of GRUB 2 References: <5ff88e940804122307l3ece3785o344124f977f9f946@mail.gmail.com> In-Reply-To: <5ff88e940804122307l3ece3785o344124f977f9f946@mail.gmail.com> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: Quoted-Printable X-detected-kernel: by mx20.gnu.org: Solaris 10 (beta) X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) Subject: Re: grub_usb X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Apr 2008 07:29:46 -0000 mohammed mt wrote: > Hi all... > I wishes to do USB support for GRUB...What are the important things whe= n=20 > doing a device support for GRUB, that is not much taken=20 > into consideration when doing the same for Kernel? Hi Mohammed, Well, depends on the platform you are doing the driver. But let assume=20 x86. Basically you should write lean code, use as less of resources than=20 possible. Then again, make it as much portable as you can. You do not=20 put code in GRUB's kernel unless there is really pressing matter to do=20 that. All code should reside on modules. This means, making some interfaces, where one interface is public for=20 all platforms and on top of that there is code that is common between=20 all architectures, below that are hardware/platform specific code. Rest=20 basically is up to driver design, but more likely will also have=20 additional interfaces to make it more pluggable. Usually all code is in C, meaning that it is easy to maintain and port=20 code to other systems. Only for specific parts of the code when it is=20 impossible to use C, then you would write assembler code. In addition to these, general GPLv3 things apply, like it has to=20 compatible with it. Meaning you cannot copy code from unknown sources=20 (we usually say not from any sources), if source is shared, then it=20 should not be maintenance nightmare, and license should match. With major contributions you will also have to assign your copyright to=20 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=20 GSoC 2008 going on and student application evaluations are currently=20 going on. There are couple of USB applications in there... and we do not=20 want to duplicate the effort. Thanks, Vesa J=E4=E4skel=E4inen