Go to file
okuji 2965c7cc2d 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
A new machine-specific function "grub_machine_set_prefix" is
        defined. This is called after loading modules, so that a prefix
        initialization can use modules. Also, this change adds an
        intensive debugging feature for the memory manager via the
        configure option "--enable-mm-debug".

        * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
        PART.LEN.

        * kern/sparc64/ieee1275/init.c (abort): Removed.
        (grub_stop): Likewise.
        (grub_exit): New function.
        (grub_set_prefix): Renamed to ...
        (grub_machine_set_prefix): ... this.
        (grub_machine_init): Do not call grub_set_prefix.

        * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
        (grub_machine_set_prefix): ... this.
        (grub_machine_init): Do not call grub_set_prefix.

        * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
        (grub_machine_init): Do not set the prefix here.

        * kern/i386/efi/init.c (grub_machine_set_prefix): New function.

        * kern/efi/init.c: Include grub/mm.h.
        (grub_efi_set_prefix): New function.

        * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
        (grub_efi_get_filename): New function.
        (grub_print_device_path): Renamed to ...
        (grub_efi_print_device_path): ... this.

        * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
        [MM_DEBUG] (grub_realloc): Likewise.
        [MM_DEBUG] (grub_free): Likewise.
        [MM_DEBUG] (grub_memalign): Likewise.
        [MM_DEBUG] (grub_mm_debug): New variable.
        [MM_DEBUG] (grub_debug_malloc): New function.
        [MM_DEBUG] (grub_debug_free): New function.
        [MM_DEBUG] (grub_debug_realloc): New function.
        [MM_DEBUG] (grub_debug_memalign): New function.

        * kern/misc.c (grub_abort): Print a newline to distinguish
        the message.

        * kern/main.c (grub_main): Call grub_machine_set_prefix and
        grub_set_root_dev after loading modules. This is necessary when
        setting a prefix depends on modules.

        * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
        (grub_efi_print_device_path): ... this.
        (grub_efi_get_filename): New prototype.
        (grub_efi_set_prefix): Likewise.

        * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
        and grub/disk.h.
        (grub_efidisk_get_device_handle): New prototype.
        (grub_efidisk_get_device_name): Likewise.

        * include/grub/mm.h: Include config.h.
        (MM_DEBUG): Removed.
        [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
        [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
        [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
        [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
        [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
        [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
        [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
        [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
        [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.

        * include/grub/kernel.h (grub_machine_set_prefix): New prototype.

        * disk/efi/efidisk.c: Include grub/partition.h.
        (iterate_child_devices): New function.
        (add_device): First, compare only last device path nodes, so that
        devices are sorted by the types.
        (grub_efidisk_get_device_handle): New function.
        (grub_efidisk_get_device_name): Likewise.

        * configure.ac (--enable-mm-debug): New option to enable the
        memory manager debugging feature. This makes the binary much
        bigger, so is disabled by default.
2006-04-25 20:08:31 +00:00
boot/i386/pc 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org> 2006-02-01 06:12:58 +00:00
commands 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi> 2006-03-14 19:08:34 +00:00
conf 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-23 13:37:36 +00:00
disk 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-25 20:08:31 +00:00
font 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi> 2006-03-31 13:32:52 +00:00
fs 2006-01-03 Marco Gerards <marco@gnu.org> 2006-01-03 16:27:31 +00:00
hello 2005-11-13 Marco Gerards <mgerards@xs4all.nl> 2005-11-13 15:47:09 +00:00
include/grub 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-25 20:08:31 +00:00
io 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk> 2005-10-19 23:16:03 +00:00
kern 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-25 20:08:31 +00:00
loader 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-20 02:33:44 +00:00
normal 2006-17-04 Marco Gerards <marco@gnu.org> 2006-04-17 13:01:20 +00:00
partmap 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-25 20:08:31 +00:00
term 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi> 2006-04-20 15:19:01 +00:00
util 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-23 13:37:36 +00:00
video 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi> 2006-03-31 14:26:34 +00:00
.cvsignore Initial revision 2002-12-27 08:53:07 +00:00
AUTHORS 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org> 2005-09-03 16:54:27 +00:00
COPYING 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org> 2005-08-07 14:59:56 +00:00
ChangeLog 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-25 20:08:31 +00:00
DISTLIST 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-23 13:37:36 +00:00
INSTALL 2006-01-03 Marco Gerards <marco@gnu.org> 2006-01-03 17:58:02 +00:00
Makefile.in 2006-04-20 Hollis Blanchard <hollis@penguinppc.org> 2006-04-21 00:47:11 +00:00
NEWS 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-02 08:53:31 +00:00
README Update the URL of the wiki. 2006-04-02 08:59:23 +00:00
THANKS 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org> 2005-09-03 16:54:27 +00:00
TODO 2005-01-04 Hollis Blanchard <hollis@penguinppc.org> 2005-01-04 14:01:45 +00:00
aclocal.m4 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org> 2005-08-13 18:44:14 +00:00
autogen.sh Initial revision 2002-12-27 08:53:07 +00:00
config.guess 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org> 2005-08-06 15:50:07 +00:00
config.h.in 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-25 20:08:31 +00:00
config.sub 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org> 2005-08-06 15:50:07 +00:00
configure 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-25 20:08:31 +00:00
configure.ac 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-25 20:08:31 +00:00
gencmdlist.sh 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org> 2005-03-18 18:16:26 +00:00
gendistlist.sh 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org> 2005-08-22 17:28:59 +00:00
genfslist.sh 2005-07-03 Yoshinori Okuji <okuji@enbug.org> 2005-07-03 18:06:56 +00:00
geninit.sh 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org> 2005-12-25 17:04:32 +00:00
geninitheader.sh 2005-11-13 Marco Gerards <mgerards@xs4all.nl> 2005-11-13 15:47:09 +00:00
genkernsyms.sh shinori K. Okuji <okuji@enbug.org> 2004-02-24 17:21:53 +00:00
genmk.rb 2006-04-20 Hollis Blanchard <hollis@penguinppc.org> 2006-04-21 00:47:11 +00:00
genmodsrc.sh 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> 2004-04-04 13:46:03 +00:00
gensymlist.sh 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> 2004-04-04 13:46:03 +00:00
install-sh 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org> 2005-08-06 15:50:07 +00:00
mkinstalldirs 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org> 2005-08-06 15:50:07 +00:00
stamp-h.in Initial revision 2002-12-27 08:53:07 +00:00

README

This is GRUB 2, the second version of the GRand Unified Bootloader.
GRUB 2 is rewritten from scratch to make GNU GRUB cleaner, safer, more
robust, more powerful, and more portable.

See the file NEWS for a description of recent changes to GRUB 2.

See the file INSTALL for instructions on how to build and install the
GRUB 2 data and program files.

Please visit the official web page of GRUB 2, for more information.
The URL is <http://www.gnu.org/software/grub/grub.html>.

For now, there is not much documentation yet. Please look at the GRUB
Wiki <http://grub.enbug.org> for testing procedures.