* commands/blocklist.c (grub_cmd_blocklist): Don't check whether 'partition' is NULL, grub_partition_get_start already does that. * commands/loadenv.c (check_blocklists): Likewise. (write_blocklists): Likewise. * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c. (grub_fstest_SOURCES): Likewise. (pkglib_MODULES): Add part_bsd.mod. (part_bsd_mod_SOURCES): New variable. (part_bsd_mod_CFLAGS): Likewise. (part_bsd_mod_LDFLAGS): Likewise. * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c. (grub_emu_SOURCES): Likewise. * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise. * include/grub/bsdlabel.h: New file. * include/grub/partition.h (grub_partition_map): Remove 'probe' and 'get_name'. (grub_partition): Add 'parent' and 'number'. Remove 'data'. (grub_partition_map_list): New variable. (grub_partition_map_register): Inline. (grub_partition_map_unregister): Likewise. (FOR_PARTITION_MAPS): New macro. (grub_partition_map_iterate): Removed. (grub_partition_get_start): Handle nested partitions. * include/grub/msdos_partition.h: Remove bsd-related entries. (grub_pc_partition): Remove. * kern/disk.c (grub_disk_close): Free partition data. (grub_disk_adjust_range): Handle nested partitions. * kern/partition.c (grub_partition_map_probe): New function. (grub_partition_probe): Parse name to number, handle subpartitions. (get_partmap): New function. (grub_partition_iterate): Handle subpartitions. (grub_partition_get_name): Likewise. * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise. * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise. * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise. * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access. Set 'number'. (acorn_partition_map_probe): Remove. (acorn_partition_map_get_name): Likewise. * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access. Set 'number'. Set 'index' to 0 since there can be only one partition entry per sector. (amiga_partition_map_probe): Remove. (amiga_partition_map_get_name): Likewise. * partmap/apple.c (apple_partition_map_iterate): Don't force raw access. Set 'number'. Set 'offset' and 'index' to real positions of partitions. (apple_partition_map_probe): Remove. (apple_partition_map_get_name): Likewise. * partmap/bsdlabel.c: New file. * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access. Set 'number'. Allocate 'data' so it can be correctly freed. Set 'index' to offset inside sector. (gpt_partition_map_probe): Remove. (gpt_partition_map_get_name): Likewise. * partmap/msdos.c (grub_partition_parse): Remove. (pc_partition_map_iterate): Don't force raw access. Set 'number'. Make 'ext_offset' a local variable. (pc_partition_map_probe): Remove. (pc_partition_map_get_name): Remove. * partmap/sun.c (sun_partition_map_iterate): Don't force raw access. Set 'number'. (sun_partition_map_probe): Remove. (sun_partition_map_get_name): Likewise. * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions. (grub_pcpart_type): Likewise. * util/hostdisk.c (open_device): Handle new numbering scheme. (grub_util_biosdisk_get_grub_dev): Handle nested partitions. * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme. * util/grub-probe.c (probe_partmap): Handle nested paritions. * util/grub-install.in: Insert all subpartition modules. * util/ieee1275/grub-install.in: Likewise.
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.
Description
Languages
C
82.5%
Assembly
13.6%
M4
1.4%
Shell
1.3%
Makefile
0.5%
Other
0.5%