[prev in list] [next in list] [prev in thread] [next in thread] 

List:       grub-devel
Subject:    Re: Need help in taking part in the development of GRUB...
From:       Vladimir ' <phcoder () gmail ! 
Date:       2009-12-31 11:53:46
Message-ID: 4B3C90CA.1070707 () gmail ! com
[Download RAW message or body]


Usman Ajmal wrote:
> Hi all,
>
> I downloaded the Grub's code from here
> <http://grub.sourcearchive.com/documentation/0.97-1ubuntu9/files.html>.
> Then just for testing I put following lines of code in grub/main.c.
> What I wanted is to have "#Here I come..." string appended at the end
> of /boot/grub/menu.lst. But I got stuck while compiling the source
> code. I don't know what have I missed...
Grub Legacy is dead for us. GRUB2's source code is much easier to
understand and contributions to it are actually useful.
>
>     .
>     .
>     .
>     int main (int argc, char **argv)
>     {
>       /* My modification... */
>       FILE * grubMenuFile;
>       grubMenuFile = fopen ("/boot/grub/menu.lst","w");
>       if (grubMenuFile!=NULL)
>       {
>         fputs ("#Here I come...",grubMenuFile);
>         fclose (grubMenuFile);
>       }
>
>       /* End-My modification... */
>
You shouldn't use any stdio in grub (it works in grub-util but won't in
grub on boot). Actually writing facilities in any grub are rudimentary
by design to avoid any danger of filesystem corruption
>
>       int c;
>       int hold = 0;
>
>       /* First of all, call sync so that all in-core data is scheduled
>     to be
>          actually written to disks. This is very important because
>     GRUB does
>          not use ordinary stdio interface but raw devices.  */
>       sync ();
>     .
>     .
>     .
>
>
> Then after saving main.c I configured the package and when i ran
> 'make', I got:
>
>     make  all-recursive
>     make[1]: Entering directory `/home/toros/Desktop/grub-0.97'
>     Making all in netboot
>     make[2]: Entering directory `/home/toros/Desktop/grub-0.97/netboot'
>     make[2]: Nothing to be done for `all'.
>     make[2]: Leaving directory `/home/toros/Desktop/grub-0.97/netboot'
>     Making all in stage2
>     make[2]: Entering directory `/home/toros/Desktop/grub-0.97/stage2'
>     make  all-am
>     make[3]: Entering directory `/home/toros/Desktop/grub-0.97/stage2'
>     make[3]: Nothing to be done for `all-am'.
>     make[3]: Leaving directory `/home/toros/Desktop/grub-0.97/stage2'
>     make[2]: Leaving directory `/home/toros/Desktop/grub-0.97/stage2'
>     Making all in stage1
>     make[2]: Entering directory `/home/toros/Desktop/grub-0.97/stage1'
>     make[2]: Nothing to be done for `all'.
>     make[2]: Leaving directory `/home/toros/Desktop/grub-0.97/stage1'
>     Making all in lib
>     make[2]: Entering directory `/home/toros/Desktop/grub-0.97/lib'
>     make[2]: Nothing to be done for `all'.
>     make[2]: Leaving directory `/home/toros/Desktop/grub-0.97/lib'
>     Making all in grub
>     make[2]: Entering directory `/home/toros/Desktop/grub-0.97/grub'
>     make[2]: Nothing to be done for `all'.
>     make[2]: Leaving directory `/home/toros/Desktop/grub-0.97/grub'
>     Making all in util
>     make[2]: Entering directory `/home/toros/Desktop/grub-0.97/util'
>     make[2]: Nothing to be done for `all'.
>     make[2]: Leaving directory `/home/toros/Desktop/grub-0.97/util'
>     Making all in docs
>     make[2]: Entering directory `/home/toros/Desktop/grub-0.97/docs'
>     make[2]: Nothing to be done for `all'.
>     make[2]: Leaving directory `/home/toros/Desktop/grub-0.97/docs'
>     make[2]: Entering directory `/home/toros/Desktop/grub-0.97'
>     make[2]: Leaving directory `/home/toros/Desktop/grub-0.97'
>     make[1]: Leaving directory `/home/toros/Desktop/grub-0.97'
>
>  
> ------------------------------------------------------------------------
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> http://lists.gnu.org/mailman/listinfo/grub-devel
>   


-- 
Regards
Vladimir 'φ-coder/phcoder' Serbinenko



["signature.asc" (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic