grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question: how to add new menu functionality


From: Stephen Torri
Subject: Re: Question: how to add new menu functionality
Date: Fri, 22 Apr 2011 18:25:26 -0400

Thanks for the help. The build code for 1.99 is much easier to navigate
than for 1.98. I downloaded the 1.99-rc2 source from the ftp site.

As I worked on the code today I came up with four more questions on
developing grub2:

1. This relates to the use of the kvm for testing a grub2 iso. How do
you scroll up and down in the view in the kvm window?

        When using the grub.iso with the livecd image in it I noticed that I
got a lot of messages that scrolled up and I could not see them with
debug=all.

2. How do you do unblocking I/O from stdin? There are ways to do it with
the select system call but it seems that there are only grub functions
that are substituted for system calls.

3. How do you call a  standard C library routine or system call to work
in grub? For example called read().

        In working with the code today I noticed that the standard C library
headers were not being found because of two compiler flags (-inostdinc
and -isystem). The path to the system headers, /usr/include, was not in
the compiler strings for each file.

4. Lets say you manually compiled certain files by copying the Makefile
command and removed the -inostdinc and -isystem. When I was working on
1.98 and used a system header to get a function I had to manually
include /usr/include and alter the appropriate def-<name>.lst file to
get the code to compile. When I installed that code to a bootable device
and restarted the system I saw a message that said:

     <function name> in <module> is not defined

Often the culprit was the system calls being used (e.g. select). I would
get a message when grub started on the bootable device that said:
 
     select in normal is not defined

This probably relates to the third question. This message tells me what
is wrong but does not offer any information on how to resolve it. What
step(s) did I miss that resulted in this message?

I appreciate the help.

Stephen




reply via email to

[Prev in Thread] Current Thread [Next in Thread]