* TODO: Add note about endianness in grub-mkimage. * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note section. * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage. (grub_mkimage_SOURCES): New target. * include/grub/kernel.h (grub_start_addr): Remove variable. (grub_end_addr): Likewise. (grub_total_module_size): Likewise. (grub_kernel_image_size): Likewise. (GRUB_MODULE_MAGIC): New constant. (grub_module_info): New structure. (grub_arch_modules_addr): New prototype. (grub_get_end_addr): Remove prototype. * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype. * include/grub/powerpc/ieee1275/kernel.h: New file. * include/grub/util/misc.h (grub_util_get_fp_size): New prototype. (grub_util_read_at): Likewise. (grub_util_write_image_at): Likewise. * kern/main.c (grub_get_end_addr): Remove function. (grub_load_modules): Call grub_arch_modules_addr instead of using grub_end_addr. Look for a grub_module_info struct in memory. Use the grub_module_info fields instead of calling grub_get_end_addr as loop conditions. Move grub_add_unused_region code here. (grub_add_unused_region): Remove function. * kern/i386/pc/init.c: Include grub/cache.h. (grub_machine_init): Remove call to grub_get_end_addr. Remove one call to add_mem_region. (grub_arch_modules_addr): New function. * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable. (grub_total_module_size): Likewise. Include grub/machine/kernel.h. (grub_arch_modules_addr): New function. * util/grub-emu.c (grub_end_addr): Remove variable. (grub_total_module_size): Likewise. (grub_arch_modules_addr): New function. * util/misc.c: Include unistd.h. (grub_util_get_fp_size): New function. (grub_util_read_at): Likewise. (grub_util_write_image_at): Likewise. (grub_util_read_image): Call grub_util_read_at. (grub_util_write_image): Call grub_util_write_image_at. * util/i386/pc/grub-mkimage.c (generate_image): Allocate additional memory in kernel_img for a struct grub_module_info. Fill in that grub_module_info. * util/powerpc/ieee1275/grub-mkimage.c: New file. |
||
|---|---|---|
| boot | ||
| commands | ||
| conf | ||
| disk | ||
| font | ||
| fs | ||
| hello | ||
| include/grub | ||
| kern | ||
| loader | ||
| normal | ||
| partmap | ||
| term | ||
| util | ||
| .cvsignore | ||
| AUTHORS | ||
| COPYING | ||
| ChangeLog | ||
| INSTALL | ||
| Makefile.in | ||
| NEWS | ||
| README | ||
| THANKS | ||
| TODO | ||
| aclocal.m4 | ||
| autogen.sh | ||
| config.guess | ||
| config.h.in | ||
| config.sub | ||
| configure | ||
| configure.ac | ||
| genkernsyms.sh | ||
| genmk.rb | ||
| genmodsrc.sh | ||
| gensymlist.sh | ||
| 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.
Because GRUB 2 was formerly developed under the project PUPA, there
remain still many places where PUPA is used instead of GRUB 2. So
suppose that PUPA is a synonym of GRUB 2 for now.
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>.
Because GRUB 2 is still in developmental stage, GRUB 2 is not for general
use (yet). For now, you can install GRUB 2 into a floppy by these
instructions:
$ configure && make
$ ./grub-mkimage -v -d . -o core.img _chain ext2
$ dd if=boot.img of=/dev/fd0 bs=512 count=1
$ dd if=core.img of=/dev/fd0 bs=512 seek=1
It would be easier to use Bochs <http://bochs.sf.net/> than a real
machine.