[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Need help in taking part in the development of GRUB...
From: |
Vladimir 'φ-coder/phcoder' Serbinenko |
Subject: |
Re: Need help in taking part in the development of GRUB... |
Date: |
Thu, 31 Dec 2009 12:53:46 +0100 |
User-agent: |
Mozilla-Thunderbird 2.0.0.22 (X11/20091109) |
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
> address@hidden
> http://lists.gnu.org/mailman/listinfo/grub-devel
>
--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko
signature.asc
Description: OpenPGP digital signature