grub-devel
[Top][All Lists]
Advanced

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

Re: Encryption Support for GRUB


From: Colin D Bennett
Subject: Re: Encryption Support for GRUB
Date: Wed, 6 Aug 2008 10:11:35 -0700

On Wed, 6 Aug 2008 11:04:16 -0500 (CDT)
"W. Michael Petullo" <address@hidden> wrote:

> 1.  How do I know exactly what subset of libc is available to me as a
> GRUB developer? Obviously, system calls would not be expected to work
> because the operating system has not yet been loaded, but I would
> expect libmath routines to be usable by GRUB. What about other
> libraries?

No libc is available.  Only functions implemented by GRUB itself are
available.  See ``kern/misc.c`` and ``include/grub/misc.h`` in the GRUB
2 source tree for implementations of the most important things that are
normally provided by libc, such as strcpy (grub_strcpy), memcmp
(grub_memcmp), etc.

link to online svn for misc.c:
http://svn.savannah.gnu.org/viewvc/trunk/grub2/kern/misc.c?revision=1774&root=grub&view=markup

GRUB implements dynamic memory allocation through grub_malloc,
grub_free, grub_realloc.  See ``kern/mm.c``.

No math library is available, but I think you could create a 'math'
module in GRUB and implement the required math functions there.  The
main thing is to keep the GRUB core small.  It needs to fit in 32 KB, I
think.

GRUB has its own file I/O api (no stdio -- instead use grub_file_open,
grub_file_read, etc.).

If you want to see how to use the GRUB library stuff, look at some of
the built in commands such as ``commands/ls.c``, etc.

Regards,
Colin




reply via email to

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