All of lore.kernel.org
 help / color / mirror / Atom feed
From: adrian15 <adrian15@raulete.net>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: how to add a new command
Date: Fri, 15 Jun 2007 14:48:31 +0200	[thread overview]
Message-ID: <46728A9F.6040103@raulete.net> (raw)
In-Reply-To: <8c0c43de0706120724s346583a8m6ac16cdd2a190992@mail.gmail.com>

Alex Roman escribió:
> On 12/06/07, adrian15 <adrian15@raulete.net> wrote:
>>         Once I write a new command like map.c or pause.c how am I 
>> supposed to
>> add it to the standard grub?
>>         Should I write the makefiles manually?! or should I use some 
>> of the .sh
>> files at the grub2 source code root folder?
> 
> I've been editing the .rmk files in conf/ which should cause the .mk
> files to get updated (at least that's my understanding of it, so far).
> 
> Make sure the command is placed in the right Makefile... I had the
> problem where I was including the command in both grub-emu and
> grub/i386-pc and grub-emu didn't link due to undefined symbols
> (because those didn't exist in grub-emu).
> 
> 
> Cheers!
> 

I've finally edit conf/i386-pc.rmk, copy-pasted the play.c code and
find/replace with map.c.


Then I run make:
make prompts this:


adrian@adrianpc:~/Desktop/gnu/grub2/grub2_2007_05_31_map$ make
if test "x" = x; then \
           touch conf/i386-pc.mk; \
         else \
            ./genmk.rb < conf/i386-pc.rmk > conf/i386-pc.mk; \
         fi
make: No se hace nada para `all'.

If you check: i386-pc.mk then there is no reference to:
"/map.c"

If I delete i386-pc.mk and run make again:

adrian@adrianpc:~/Desktop/gnu/grub2/grub2_2007_05_31_map$ make
Makefile:111: conf/i386-pc.mk: No existe el fichero o el directorio
if test "x" = x; then \
           touch conf/i386-pc.mk; \
         else \
            ./genmk.rb < conf/i386-pc.rmk > conf/i386-pc.mk; \
         fi
make: No se hace nada para `all'.

and a empty i386-pc.mk file is created.


I check genmk.rb and it is not an executable file.

I give it execution permission.
I delete the empty i386-pc.mk file and run make again:


Makefile:111: conf/i386-pc.mk: No existe el fichero o el directorio
if test "x" = x; then \
           touch conf/i386-pc.mk; \
         else \
            ./genmk.rb < conf/i386-pc.rmk > conf/i386-pc.mk; \
         fi
make: No se hace nada para `all'.

Now if I run manually:

ruby genmk.rb < conf/i386-pc.rmk > conf/i386-pc.mk

Then conf/i386-pc.mk has the map.c string and then make reads the map.c
file at last.

I think the problem is in the Makefile here:

	if test "x$(RUBY)" = x; then \
	  touch $@; \
	else \
	  $(RUBY) $(srcdir)/genmk.rb < $< > $@; \
	fi


and if you check above the definitions you get:

RUBY =

Let me do some checks...

Running:

make distclean
./configure

generates another Makefile which does contain:

RUBY = /usr/bin/ruby

and why's that?

Because meanwhile I was compiling I've done a symbolic link from
/usr/bin/ruby to /usr/bin/ruby1.9

I mean... I've installed ruby1.9 as you requested but your grub2 isn't
unable to use it.

Now it seems that everything goes fine.

Should not be adviced in the INSTALL or README file that you have to put 
a symlink from /usr/bin/ruby to /usr/bin/ruby1.9 ??

adrian15



      parent reply	other threads:[~2007-06-15 13:53 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-12 11:56 how to add a new command adrian15
2007-06-12 14:15 ` Robert Millan
2007-06-12 14:07   ` adrian15
2007-06-12 14:24 ` Alex Roman
2007-06-15 12:47   ` adrian15
2007-06-15 12:48   ` adrian15 [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46728A9F.6040103@raulete.net \
    --to=adrian15@raulete.net \
    --cc=grub-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.