2008-08-23 Bean <bean123ch@gmail.com>
* conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c. (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c. (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and dm_nv.mod. (raid5rec_mod_SOURCES): New macro. (raid5rec_mod_CFLAGS): Likewise. (raid5rec_mod_LDFLAGS): Likewise. (raid6rec_mod_SOURCES): Likewise. (raid6rec_mod_CFLAGS): Likewise. (raid6rec_mod_LDFLAGS): Likewise. (mdraid_mod_SOURCES): Likewise. (mdraid_mod_CFLAGS): Likewise. (mdraid_mod_LDFLAGS): Likewise. (dm_nv_mod_SOURCES): Likewise. (dm_nv_mod_CFLAGS): Likewise. (dm_nv_mod_LDFLAGS): Likewise. * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c. (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c. * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c. * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise. * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise. * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise. * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise. * disk/raid5_recover.c: New file. * disk/raid6_recover.c: Likewise. * disk/mdraid_linux.c: Likewise. * disk/dmraid_nvidia.c: Likewise. * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to ULONG_MAX. * disk/raid.c (grub_raid_open): Use the size of the smallest disk to calculate the size of raid device. (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four different layout of raid5. (grub_raid_scan_device): Remove code specific to mdraid. (grub_raid_list): New variable. (free_array): New function. (grub_raid_register): Likewise. (grub_raid_unregister): Likewise. (grub_raid_rescan): Likewise. (GRUB_MOD_INIT): Don't iterate device here. (GRUB_MOD_FINI): Use free_array to release resource. * include/grub/raid.h: Remove macro and structure specific to mdraid. (grub_raid5_recover_func_t): New function variable type. (grub_raid6_recover_func_t): Likewise. (grub_raid5_recover_func): New variable. (grub_raid6_recover_func): Likewise. (grub_raid_register): New function. (grub_raid_unregister): Likewise. (grub_raid_rescan): Likewise. (grub_raid_block_xor): Likewise. * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>. (CMD_CRC): New macro. (part): Removed. (read_file): Handle device as well as file. (cmd_crc): New function. (fstest): Handle multiple disks. (options): Remove part, raw and long, add root and diskcount. (usage): Add crc, remove -p, -r, -l, add -r and -c. (main): Find the first non option entry and ignore subsequence options, add handling for the new options, support multiple disks. * util/grub-probe.c (probe): Add mdraid to abstraction_name.
This commit is contained in:
parent
29c1891563
commit
5ed20adcb9
24 changed files with 1877 additions and 635 deletions
|
@ -21,7 +21,7 @@ grub_probe_SOURCES = util/grub-probe.c \
|
|||
\
|
||||
partmap/pc.c partmap/apple.c partmap/gpt.c \
|
||||
kern/fs.c kern/env.c fs/fshelp.c \
|
||||
disk/lvm.c disk/raid.c grub_probe_init.c
|
||||
disk/lvm.c disk/raid.c disk/mdraid_linux.c grub_probe_init.c
|
||||
|
||||
ifeq ($(enable_grub_fstest), yes)
|
||||
bin_UTILITIES += grub-fstest
|
||||
|
@ -32,7 +32,7 @@ util/grub-fstest.c_DEPENDENCIES = grub_fstest_init.h
|
|||
grub_fstest_SOURCES = util/grub-fstest.c util/hostfs.c util/misc.c \
|
||||
kern/file.c kern/device.c kern/disk.c kern/err.c kern/misc.c \
|
||||
disk/host.c disk/loopback.c normal/arg.c normal/misc.c \
|
||||
io/gzio.c lib/hexdump.c commands/blocklist.c commands/ls.c \
|
||||
lib/hexdump.c lib/crc.c commands/blocklist.c commands/ls.c \
|
||||
\
|
||||
fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c \
|
||||
fs/hfsplus.c fs/iso9660.c fs/udf.c fs/jfs.c fs/minix.c \
|
||||
|
@ -40,7 +40,9 @@ grub_fstest_SOURCES = util/grub-fstest.c util/hostfs.c util/misc.c \
|
|||
fs/ufs.c fs/xfs.c fs/afs.c \
|
||||
\
|
||||
kern/partition.c partmap/pc.c partmap/apple.c partmap/gpt.c \
|
||||
kern/fs.c kern/env.c fs/fshelp.c disk/lvm.c disk/raid.c \
|
||||
kern/fs.c kern/env.c fs/fshelp.c disk/lvm.c disk/raid.c \
|
||||
disk/raid5_recover.c disk/raid6_recover.c \
|
||||
disk/mdraid_linux.c disk/dmraid_nvidia.c \
|
||||
grub_fstest_init.c
|
||||
|
||||
# For the parser.
|
||||
|
@ -270,14 +272,35 @@ gpt_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|||
|
||||
# Special disk structures
|
||||
|
||||
pkglib_MODULES += raid.mod lvm.mod
|
||||
pkglib_MODULES += raid.mod raid5rec.mod raid6rec.mod mdraid.mod dm_nv.mod \
|
||||
lvm.mod
|
||||
|
||||
# For raid.mod
|
||||
raid_mod_SOURCES = disk/raid.c
|
||||
raid_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
raid_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For raid.mod
|
||||
# For raid5rec.mod
|
||||
raid5rec_mod_SOURCES = disk/raid5_recover.c
|
||||
raid5rec_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
raid5rec_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For raid6rec.mod
|
||||
raid6rec_mod_SOURCES = disk/raid6_recover.c
|
||||
raid6rec_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
raid6rec_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For mdraid.mod
|
||||
mdraid_mod_SOURCES = disk/mdraid_linux.c
|
||||
mdraid_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
mdraid_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For dm_nv.mod
|
||||
dm_nv_mod_SOURCES = disk/dmraid_nvidia.c
|
||||
dm_nv_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
dm_nv_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For lvm.mod
|
||||
lvm_mod_SOURCES = disk/lvm.c
|
||||
lvm_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
lvm_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue