* conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod. (aout_mod_SOURCES): New variable. (aout_mod_CFLAGS): Likewise. (aout_mod_LDFLAGS): Likewise. (_bsd_mod_SOURCES): New variable. (_bsd_mod_CFLAGS): Likewise. (_bsd_mod_LDFLAGS): Likewise. (bsd_mod_SOURCES): New variable. (bsd_mod_CFLAGS): Likewise. (bsd_mod_LDFLAGS): Likewise. * include/grub/aout.h: New file. * include/grub/i386/loader.h (grub_unix_real_boot): New function. * include/grub/i386/bsd.h: New file. * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC to make it public. * kern/elf.c (grub_elf32_load): Get the physical address after the hook function is called, so that it's possible to change it inside the hook. (grub_elf64_load): Likewise. (grub_elf_file): Don't close the file if elf header is not found. (grub_elf_close): Close the file if grub_elf_file fails (The new grub_elf_file won't close it). (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize. (grub_elf64_size): Likewise. * kern/i386/loader.S (grub_unix_real_boot): New function. * loader/aout.c: New file. * loader/i386/bsd.c: New file. * loader/i386/bsd_normal.c: New file. * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format. * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it can test othe formats. |
||
|---|---|---|
| boot/i386/pc | ||
| bus | ||
| commands | ||
| conf | ||
| disk | ||
| font | ||
| fs | ||
| hello | ||
| include | ||
| io | ||
| kern | ||
| loader | ||
| normal | ||
| partmap | ||
| term | ||
| util | ||
| video | ||
| .cvsignore | ||
| AUTHORS | ||
| COPYING | ||
| ChangeLog | ||
| DISTLIST | ||
| INSTALL | ||
| Makefile.in | ||
| NEWS | ||
| README | ||
| THANKS | ||
| TODO | ||
| aclocal.m4 | ||
| autogen.sh | ||
| config.guess | ||
| config.h.in | ||
| config.sub | ||
| configure | ||
| configure.ac | ||
| gencmdlist.sh | ||
| gendistlist.sh | ||
| genfslist.sh | ||
| geninit.sh | ||
| geninitheader.sh | ||
| genkernsyms.sh.in | ||
| genmk.rb | ||
| genmoddep.awk | ||
| genmodsrc.sh | ||
| gensymlist.sh.in | ||
| install-sh | ||
| mkinstalldirs | ||
| stamp-h.in | ||
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.