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
Description: OpenPGP digital signature
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel