No description
Find a file
okuji 7f362539b7 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
Extend the loader so that GRUB can accept a loader which comes
        back to GRUB when a loaded image exits. Also, this change adds
        support for a chainloader on EFI.

        * term/efi/console.c: Include grub/misc.h.
        (grub_console_checkkey): Display a scan code on the top for
        debugging. This will be removed once the EFI port gets stable.
        Correct the scan code mapping.

        * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
        allocate memory from larger regions, in order to reduce the number
        of allocated regions. Otherwise, the MacOSX loader panics.
        (filter_memory_map): Avoid less than 1MB for compatibility with
        other loaders.
        (add_memory_regions): Allocate from the tail of a region, if
        possible, to avoid allocating a region near to 1MB, for the MacOSX
        loader.

        * kern/efi/init.c (grub_efi_set_prefix): Specify
        GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.

        * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
        argument IMAGE_HANDLE and specify it to get a loaded image.
        (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
        grub_efi_get_loaded_image.
        (grub_efi_get_filename): Divide the legnth by the size of
        grub_efi_char16_t.
        (grub_efi_get_device_path): New function.
        (grub_efi_print_device_path): Print End Device Path nodes. Divide
        the length by the size of grub_efi_char16_t for a file path device
        path node.

        * kern/loader.c (grub_loader_noreturn): New variable.
        (grub_loader_set): Accept a new argument NORETURN. Set
        GRUB_LOADER_NORETURN to NORETURN.
        All callers changed.
        (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
        grub_machine_fini.

        * include/grub/efi/efi.h (grub_efi_get_device_path): New
        prototype.
        (grub_efi_get_loaded_image): Take an argument to specify an image
        handle.

        * include/grub/loader.h (grub_loader_set): Added one more argument
        NORETURN.

        * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
        instead of grub_efi_open_protocol.
        (grub_efidisk_get_device_name): Likewise.
        (grub_efidisk_close): Print a newline.
        (grub_efidisk_get_device_handle): Fixed to use
        GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
        GRUB_EFI_DEVICE_PATH_TYPE.

        * disk/efi/efidisk.c (device_path_guid): Moved to ...
        * kern/efi/efi.c (device_path_guid): ... here.

        * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
        chain.mod.
        (kernel_mod_HEADERS): Added efi/disk.h.
        (_chain_mod_SOURCES): New variable.
        (_chain_mod_CFLAGS): Likewise.
        (_chain_mod_LDFLAGS): Likewise.
        (chain_mod_SOURCES): Likewise.
        (chain_mod_CFLAGS): Likewise.
        (chain_mod_LDFLAGS): Likewise.

        * DISTLIST: Added include/grub/efi/chainloader.h,
        loader/efi/chainloader.c and loader/efi/chainloader_normal.c.

        * include/grub/efi/chainloader.h: New file.
        * loader/efi/chainloader.c: Likewise.
        * loader/efi/chainloader_normal.c: Likewise.
2006-04-30 21:09:37 +00:00
boot/i386/pc 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org> 2006-02-01 06:12:58 +00:00
commands 2006-04-30 Marco Gerards <marco@gnu.org> 2006-04-30 20:48:05 +00:00
conf 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-30 21:09:37 +00:00
disk 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-30 21:09:37 +00:00
font 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi> 2006-03-31 13:32:52 +00:00
fs 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-30 17:30:12 +00:00
hello 2005-11-13 Marco Gerards <mgerards@xs4all.nl> 2005-11-13 15:47:09 +00:00
include/grub 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-30 21:09:37 +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-30 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-30 21:09:37 +00:00
loader 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-30 21:09:37 +00:00
normal 2006-04-30 Marco Gerards <marco@gnu.org> 2006-04-30 20:29:51 +00:00
partmap 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-25 20:08:31 +00:00
term 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-30 21:09:37 +00:00
util 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-26 21:58: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
aclocal.m4 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org> 2005-08-13 18:44:14 +00:00
AUTHORS 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org> 2005-09-03 16:54:27 +00:00
autogen.sh Initial revision 2002-12-27 08:53:07 +00:00
ChangeLog 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-30 21:09:37 +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-26 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-26 21:58:36 +00:00
configure.ac 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-26 21:58:36 +00:00
COPYING 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org> 2005-08-07 14:59:56 +00:00
DISTLIST 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-30 21:09:37 +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.in 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-26 21:58:36 +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.in 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-26 21:58:36 +00:00
INSTALL 2006-01-03 Marco Gerards <marco@gnu.org> 2006-01-03 17:58:02 +00:00
install-sh 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org> 2005-08-06 15:50:07 +00:00
Makefile.in 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-26 21:58:36 +00:00
mkinstalldirs 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org> 2005-08-06 15:50:07 +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
stamp-h.in Initial revision 2002-12-27 08:53:07 +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

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.