[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[1828] 2008-08-23 Bean <address@hidden>
From: |
Bean |
Subject: |
[1828] 2008-08-23 Bean <address@hidden> |
Date: |
Sat, 23 Aug 2008 14:51:21 +0000 |
Revision: 1828
http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=1828
Author: bean
Date: 2008-08-23 14:51:19 +0000 (Sat, 23 Aug 2008)
Log Message:
-----------
2008-08-23 Bean <address@hidden>
* 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.
Modified Paths:
--------------
trunk/grub2/ChangeLog
trunk/grub2/conf/common.mk
trunk/grub2/conf/common.rmk
trunk/grub2/conf/i386-coreboot.mk
trunk/grub2/conf/i386-coreboot.rmk
trunk/grub2/conf/i386-efi.mk
trunk/grub2/conf/i386-efi.rmk
trunk/grub2/conf/i386-ieee1275.mk
trunk/grub2/conf/i386-ieee1275.rmk
trunk/grub2/conf/i386-pc.mk
trunk/grub2/conf/i386-pc.rmk
trunk/grub2/conf/powerpc-ieee1275.mk
trunk/grub2/conf/powerpc-ieee1275.rmk
trunk/grub2/conf/x86_64-efi.mk
trunk/grub2/conf/x86_64-efi.rmk
trunk/grub2/disk/i386/pc/biosdisk.c
trunk/grub2/disk/raid.c
trunk/grub2/include/grub/raid.h
trunk/grub2/util/grub-fstest.c
trunk/grub2/util/grub-probe.c
Added Paths:
-----------
trunk/grub2/disk/dmraid_nvidia.c
trunk/grub2/disk/mdraid_linux.c
trunk/grub2/disk/raid5_recover.c
trunk/grub2/disk/raid6_recover.c
Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog 2008-08-23 14:20:45 UTC (rev 1827)
+++ trunk/grub2/ChangeLog 2008-08-23 14:51:19 UTC (rev 1828)
@@ -1,5 +1,87 @@
2008-08-23 Bean <address@hidden>
+ * 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.
+
+2008-08-23 Bean <address@hidden>
+
* normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
* genfslist.sh: Ignore kernel.mod.
Modified: trunk/grub2/conf/common.mk
===================================================================
--- trunk/grub2/conf/common.mk 2008-08-23 14:20:45 UTC (rev 1827)
+++ trunk/grub2/conf/common.mk 2008-08-23 14:51:19 UTC (rev 1828)
@@ -40,12 +40,12 @@
\
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
-CLEANFILES += grub-probe$(EXEEXT) grub_probe-util_grub_probe.o
grub_probe-util_biosdisk.o grub_probe-util_misc.o grub_probe-util_getroot.o
grub_probe-kern_device.o grub_probe-kern_disk.o grub_probe-kern_err.o
grub_probe-kern_misc.o grub_probe-kern_parser.o grub_probe-kern_partition.o
grub_probe-kern_file.o grub_probe-fs_affs.o grub_probe-fs_cpio.o
grub_probe-fs_ext2.o grub_probe-fs_fat.o grub_probe-fs_hfs.o
grub_probe-fs_hfsplus.o grub_probe-fs_iso9660.o grub_probe-fs_udf.o
grub_probe-fs_jfs.o grub_probe-fs_minix.o grub_probe-fs_ntfs.o
grub_probe-fs_ntfscomp.o grub_probe-fs_reiserfs.o grub_probe-fs_sfs.o
grub_probe-fs_ufs.o grub_probe-fs_xfs.o grub_probe-fs_afs.o
grub_probe-partmap_pc.o grub_probe-partmap_apple.o grub_probe-partmap_gpt.o
grub_probe-kern_fs.o grub_probe-kern_env.o grub_probe-fs_fshelp.o
grub_probe-disk_lvm.o grub_probe-disk_raid.o grub_probe-grub_probe_init.o
-MOSTLYCLEANFILES += grub_probe-util_grub_probe.d grub_probe-util_biosdisk.d
grub_probe-util_misc.d grub_probe-util_getroot.d grub_probe-kern_device.d
grub_probe-kern_disk.d grub_probe-kern_err.d grub_probe-kern_misc.d
grub_probe-kern_parser.d grub_probe-kern_partition.d grub_probe-kern_file.d
grub_probe-fs_affs.d grub_probe-fs_cpio.d grub_probe-fs_ext2.d
grub_probe-fs_fat.d grub_probe-fs_hfs.d grub_probe-fs_hfsplus.d
grub_probe-fs_iso9660.d grub_probe-fs_udf.d grub_probe-fs_jfs.d
grub_probe-fs_minix.d grub_probe-fs_ntfs.d grub_probe-fs_ntfscomp.d
grub_probe-fs_reiserfs.d grub_probe-fs_sfs.d grub_probe-fs_ufs.d
grub_probe-fs_xfs.d grub_probe-fs_afs.d grub_probe-partmap_pc.d
grub_probe-partmap_apple.d grub_probe-partmap_gpt.d grub_probe-kern_fs.d
grub_probe-kern_env.d grub_probe-fs_fshelp.d grub_probe-disk_lvm.d
grub_probe-disk_raid.d grub_probe-grub_probe_init.d
+ disk/lvm.c disk/raid.c disk/mdraid_linux.c grub_probe_init.c
+CLEANFILES += grub-probe$(EXEEXT) grub_probe-util_grub_probe.o
grub_probe-util_biosdisk.o grub_probe-util_misc.o grub_probe-util_getroot.o
grub_probe-kern_device.o grub_probe-kern_disk.o grub_probe-kern_err.o
grub_probe-kern_misc.o grub_probe-kern_parser.o grub_probe-kern_partition.o
grub_probe-kern_file.o grub_probe-fs_affs.o grub_probe-fs_cpio.o
grub_probe-fs_ext2.o grub_probe-fs_fat.o grub_probe-fs_hfs.o
grub_probe-fs_hfsplus.o grub_probe-fs_iso9660.o grub_probe-fs_udf.o
grub_probe-fs_jfs.o grub_probe-fs_minix.o grub_probe-fs_ntfs.o
grub_probe-fs_ntfscomp.o grub_probe-fs_reiserfs.o grub_probe-fs_sfs.o
grub_probe-fs_ufs.o grub_probe-fs_xfs.o grub_probe-fs_afs.o
grub_probe-partmap_pc.o grub_probe-partmap_apple.o grub_probe-partmap_gpt.o
grub_probe-kern_fs.o grub_probe-kern_env.o grub_probe-fs_fshelp.o
grub_probe-disk_lvm.o grub_probe-disk_raid.o grub_probe-disk_mdraid_linux.o
grub_probe-grub_probe_init.o
+MOSTLYCLEANFILES += grub_probe-util_grub_probe.d grub_probe-util_biosdisk.d
grub_probe-util_misc.d grub_probe-util_getroot.d grub_probe-kern_device.d
grub_probe-kern_disk.d grub_probe-kern_err.d grub_probe-kern_misc.d
grub_probe-kern_parser.d grub_probe-kern_partition.d grub_probe-kern_file.d
grub_probe-fs_affs.d grub_probe-fs_cpio.d grub_probe-fs_ext2.d
grub_probe-fs_fat.d grub_probe-fs_hfs.d grub_probe-fs_hfsplus.d
grub_probe-fs_iso9660.d grub_probe-fs_udf.d grub_probe-fs_jfs.d
grub_probe-fs_minix.d grub_probe-fs_ntfs.d grub_probe-fs_ntfscomp.d
grub_probe-fs_reiserfs.d grub_probe-fs_sfs.d grub_probe-fs_ufs.d
grub_probe-fs_xfs.d grub_probe-fs_afs.d grub_probe-partmap_pc.d
grub_probe-partmap_apple.d grub_probe-partmap_gpt.d grub_probe-kern_fs.d
grub_probe-kern_env.d grub_probe-fs_fshelp.d grub_probe-disk_lvm.d
grub_probe-disk_raid.d grub_probe-disk_mdraid_linux.d
grub_probe-grub_probe_init.d
-grub-probe: $(grub_probe_DEPENDENCIES) grub_probe-util_grub_probe.o
grub_probe-util_biosdisk.o grub_probe-util_misc.o grub_probe-util_getroot.o
grub_probe-kern_device.o grub_probe-kern_disk.o grub_probe-kern_err.o
grub_probe-kern_misc.o grub_probe-kern_parser.o grub_probe-kern_partition.o
grub_probe-kern_file.o grub_probe-fs_affs.o grub_probe-fs_cpio.o
grub_probe-fs_ext2.o grub_probe-fs_fat.o grub_probe-fs_hfs.o
grub_probe-fs_hfsplus.o grub_probe-fs_iso9660.o grub_probe-fs_udf.o
grub_probe-fs_jfs.o grub_probe-fs_minix.o grub_probe-fs_ntfs.o
grub_probe-fs_ntfscomp.o grub_probe-fs_reiserfs.o grub_probe-fs_sfs.o
grub_probe-fs_ufs.o grub_probe-fs_xfs.o grub_probe-fs_afs.o
grub_probe-partmap_pc.o grub_probe-partmap_apple.o grub_probe-partmap_gpt.o
grub_probe-kern_fs.o grub_probe-kern_env.o grub_probe-fs_fshelp.o
grub_probe-disk_lvm.o grub_probe-disk_raid.o grub_probe-grub_probe_init.o
- $(CC) -o $@ grub_probe-util_grub_probe.o grub_probe-util_biosdisk.o
grub_probe-util_misc.o grub_probe-util_getroot.o grub_probe-kern_device.o
grub_probe-kern_disk.o grub_probe-kern_err.o grub_probe-kern_misc.o
grub_probe-kern_parser.o grub_probe-kern_partition.o grub_probe-kern_file.o
grub_probe-fs_affs.o grub_probe-fs_cpio.o grub_probe-fs_ext2.o
grub_probe-fs_fat.o grub_probe-fs_hfs.o grub_probe-fs_hfsplus.o
grub_probe-fs_iso9660.o grub_probe-fs_udf.o grub_probe-fs_jfs.o
grub_probe-fs_minix.o grub_probe-fs_ntfs.o grub_probe-fs_ntfscomp.o
grub_probe-fs_reiserfs.o grub_probe-fs_sfs.o grub_probe-fs_ufs.o
grub_probe-fs_xfs.o grub_probe-fs_afs.o grub_probe-partmap_pc.o
grub_probe-partmap_apple.o grub_probe-partmap_gpt.o grub_probe-kern_fs.o
grub_probe-kern_env.o grub_probe-fs_fshelp.o grub_probe-disk_lvm.o
grub_probe-disk_raid.o grub_probe-grub_probe_init.o $(LDFLAGS)
$(grub_probe_LDFLAGS)
+grub-probe: $(grub_probe_DEPENDENCIES) grub_probe-util_grub_probe.o
grub_probe-util_biosdisk.o grub_probe-util_misc.o grub_probe-util_getroot.o
grub_probe-kern_device.o grub_probe-kern_disk.o grub_probe-kern_err.o
grub_probe-kern_misc.o grub_probe-kern_parser.o grub_probe-kern_partition.o
grub_probe-kern_file.o grub_probe-fs_affs.o grub_probe-fs_cpio.o
grub_probe-fs_ext2.o grub_probe-fs_fat.o grub_probe-fs_hfs.o
grub_probe-fs_hfsplus.o grub_probe-fs_iso9660.o grub_probe-fs_udf.o
grub_probe-fs_jfs.o grub_probe-fs_minix.o grub_probe-fs_ntfs.o
grub_probe-fs_ntfscomp.o grub_probe-fs_reiserfs.o grub_probe-fs_sfs.o
grub_probe-fs_ufs.o grub_probe-fs_xfs.o grub_probe-fs_afs.o
grub_probe-partmap_pc.o grub_probe-partmap_apple.o grub_probe-partmap_gpt.o
grub_probe-kern_fs.o grub_probe-kern_env.o grub_probe-fs_fshelp.o
grub_probe-disk_lvm.o grub_probe-disk_raid.o grub_probe-disk_mdraid_linux.o
grub_probe-grub_probe_init.o
+ $(CC) -o $@ grub_probe-util_grub_probe.o grub_probe-util_biosdisk.o
grub_probe-util_misc.o grub_probe-util_getroot.o grub_probe-kern_device.o
grub_probe-kern_disk.o grub_probe-kern_err.o grub_probe-kern_misc.o
grub_probe-kern_parser.o grub_probe-kern_partition.o grub_probe-kern_file.o
grub_probe-fs_affs.o grub_probe-fs_cpio.o grub_probe-fs_ext2.o
grub_probe-fs_fat.o grub_probe-fs_hfs.o grub_probe-fs_hfsplus.o
grub_probe-fs_iso9660.o grub_probe-fs_udf.o grub_probe-fs_jfs.o
grub_probe-fs_minix.o grub_probe-fs_ntfs.o grub_probe-fs_ntfscomp.o
grub_probe-fs_reiserfs.o grub_probe-fs_sfs.o grub_probe-fs_ufs.o
grub_probe-fs_xfs.o grub_probe-fs_afs.o grub_probe-partmap_pc.o
grub_probe-partmap_apple.o grub_probe-partmap_gpt.o grub_probe-kern_fs.o
grub_probe-kern_env.o grub_probe-fs_fshelp.o grub_probe-disk_lvm.o
grub_probe-disk_raid.o grub_probe-disk_mdraid_linux.o
grub_probe-grub_probe_init.o $(LDFLAGS) $(grub_probe_LDFLAGS)
grub_probe-util_grub_probe.o: util/grub-probe.c
$(util/grub-probe.c_DEPENDENCIES)
$(CC) -Iutil -I$(srcdir)/util $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_probe_CFLAGS) -MD -c -o $@ $<
@@ -191,6 +191,10 @@
$(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_probe_CFLAGS) -MD -c -o $@ $<
-include grub_probe-disk_raid.d
+grub_probe-disk_mdraid_linux.o: disk/mdraid_linux.c
$(disk/mdraid_linux.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_probe_CFLAGS) -MD -c -o $@ $<
+-include grub_probe-disk_mdraid_linux.d
+
grub_probe-grub_probe_init.o: grub_probe_init.c
$(grub_probe_init.c_DEPENDENCIES)
$(CC) -I. -I$(srcdir)/. $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_probe_CFLAGS) -MD -c -o $@ $<
-include grub_probe-grub_probe_init.d
@@ -205,7 +209,7 @@
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 \
@@ -213,13 +217,15 @@
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
-CLEANFILES += grub-fstest$(EXEEXT) grub_fstest-util_grub_fstest.o
grub_fstest-util_hostfs.o grub_fstest-util_misc.o grub_fstest-kern_file.o
grub_fstest-kern_device.o grub_fstest-kern_disk.o grub_fstest-kern_err.o
grub_fstest-kern_misc.o grub_fstest-disk_host.o grub_fstest-disk_loopback.o
grub_fstest-normal_arg.o grub_fstest-normal_misc.o grub_fstest-io_gzio.o
grub_fstest-lib_hexdump.o grub_fstest-commands_blocklist.o
grub_fstest-commands_ls.o grub_fstest-fs_affs.o grub_fstest-fs_cpio.o
grub_fstest-fs_ext2.o grub_fstest-fs_fat.o grub_fstest-fs_hfs.o
grub_fstest-fs_hfsplus.o grub_fstest-fs_iso9660.o grub_fstest-fs_udf.o
grub_fstest-fs_jfs.o grub_fstest-fs_minix.o grub_fstest-fs_ntfs.o
grub_fstest-fs_ntfscomp.o grub_fstest-fs_reiserfs.o grub_fstest-fs_sfs.o
grub_fstest-fs_ufs.o grub_fstest-fs_xfs.o grub_fstest-fs_afs.o
grub_fstest-kern_partition.o grub_fstest-partmap_pc.o
grub_fstest-partmap_apple.o grub_fstest-partmap_gpt.o grub_fstest-kern_fs.o
grub_fstest-kern_env.o grub_fstest-fs_fshelp.o grub_fstest-disk_lvm.o
grub_fstest-disk_raid.o grub_fstest-grub_fstest_init.o
-MOSTLYCLEANFILES += grub_fstest-util_grub_fstest.d grub_fstest-util_hostfs.d
grub_fstest-util_misc.d grub_fstest-kern_file.d grub_fstest-kern_device.d
grub_fstest-kern_disk.d grub_fstest-kern_err.d grub_fstest-kern_misc.d
grub_fstest-disk_host.d grub_fstest-disk_loopback.d grub_fstest-normal_arg.d
grub_fstest-normal_misc.d grub_fstest-io_gzio.d grub_fstest-lib_hexdump.d
grub_fstest-commands_blocklist.d grub_fstest-commands_ls.d
grub_fstest-fs_affs.d grub_fstest-fs_cpio.d grub_fstest-fs_ext2.d
grub_fstest-fs_fat.d grub_fstest-fs_hfs.d grub_fstest-fs_hfsplus.d
grub_fstest-fs_iso9660.d grub_fstest-fs_udf.d grub_fstest-fs_jfs.d
grub_fstest-fs_minix.d grub_fstest-fs_ntfs.d grub_fstest-fs_ntfscomp.d
grub_fstest-fs_reiserfs.d grub_fstest-fs_sfs.d grub_fstest-fs_ufs.d
grub_fstest-fs_xfs.d grub_fstest-fs_afs.d grub_fstest-kern_partition.d
grub_fstest-partmap_pc.d grub_fstest-partmap_apple.d grub_fstest-partmap_gpt.d
grub_fstest-kern_fs.d grub_fstest-kern_env.d grub_fstest-fs_fshelp.d
grub_fstest-disk_lvm.d grub_fstest-disk_raid.d grub_fstest-grub_fstest_init.d
+CLEANFILES += grub-fstest$(EXEEXT) grub_fstest-util_grub_fstest.o
grub_fstest-util_hostfs.o grub_fstest-util_misc.o grub_fstest-kern_file.o
grub_fstest-kern_device.o grub_fstest-kern_disk.o grub_fstest-kern_err.o
grub_fstest-kern_misc.o grub_fstest-disk_host.o grub_fstest-disk_loopback.o
grub_fstest-normal_arg.o grub_fstest-normal_misc.o grub_fstest-lib_hexdump.o
grub_fstest-lib_crc.o grub_fstest-commands_blocklist.o
grub_fstest-commands_ls.o grub_fstest-fs_affs.o grub_fstest-fs_cpio.o
grub_fstest-fs_ext2.o grub_fstest-fs_fat.o grub_fstest-fs_hfs.o
grub_fstest-fs_hfsplus.o grub_fstest-fs_iso9660.o grub_fstest-fs_udf.o
grub_fstest-fs_jfs.o grub_fstest-fs_minix.o grub_fstest-fs_ntfs.o
grub_fstest-fs_ntfscomp.o grub_fstest-fs_reiserfs.o grub_fstest-fs_sfs.o
grub_fstest-fs_ufs.o grub_fstest-fs_xfs.o grub_fstest-fs_afs.o
grub_fstest-kern_partition.o grub_fstest-partmap_pc.o
grub_fstest-partmap_apple.o grub_fstest-partmap_gpt.o grub_fstest-kern_fs.o
grub_fstest-kern_env.o grub_fstest-fs_fshelp.o grub_fstest-disk_lvm.o
grub_fstest-disk_raid.o grub_fstest-disk_raid5_recover.o
grub_fstest-disk_raid6_recover.o grub_fstest-disk_mdraid_linux.o
grub_fstest-disk_dmraid_nvidia.o grub_fstest-grub_fstest_init.o
+MOSTLYCLEANFILES += grub_fstest-util_grub_fstest.d grub_fstest-util_hostfs.d
grub_fstest-util_misc.d grub_fstest-kern_file.d grub_fstest-kern_device.d
grub_fstest-kern_disk.d grub_fstest-kern_err.d grub_fstest-kern_misc.d
grub_fstest-disk_host.d grub_fstest-disk_loopback.d grub_fstest-normal_arg.d
grub_fstest-normal_misc.d grub_fstest-lib_hexdump.d grub_fstest-lib_crc.d
grub_fstest-commands_blocklist.d grub_fstest-commands_ls.d
grub_fstest-fs_affs.d grub_fstest-fs_cpio.d grub_fstest-fs_ext2.d
grub_fstest-fs_fat.d grub_fstest-fs_hfs.d grub_fstest-fs_hfsplus.d
grub_fstest-fs_iso9660.d grub_fstest-fs_udf.d grub_fstest-fs_jfs.d
grub_fstest-fs_minix.d grub_fstest-fs_ntfs.d grub_fstest-fs_ntfscomp.d
grub_fstest-fs_reiserfs.d grub_fstest-fs_sfs.d grub_fstest-fs_ufs.d
grub_fstest-fs_xfs.d grub_fstest-fs_afs.d grub_fstest-kern_partition.d
grub_fstest-partmap_pc.d grub_fstest-partmap_apple.d grub_fstest-partmap_gpt.d
grub_fstest-kern_fs.d grub_fstest-kern_env.d grub_fstest-fs_fshelp.d
grub_fstest-disk_lvm.d grub_fstest-disk_raid.d grub_fstest-disk_raid5_recover.d
grub_fstest-disk_raid6_recover.d grub_fstest-disk_mdraid_linux.d
grub_fstest-disk_dmraid_nvidia.d grub_fstest-grub_fstest_init.d
-grub-fstest: $(grub_fstest_DEPENDENCIES) grub_fstest-util_grub_fstest.o
grub_fstest-util_hostfs.o grub_fstest-util_misc.o grub_fstest-kern_file.o
grub_fstest-kern_device.o grub_fstest-kern_disk.o grub_fstest-kern_err.o
grub_fstest-kern_misc.o grub_fstest-disk_host.o grub_fstest-disk_loopback.o
grub_fstest-normal_arg.o grub_fstest-normal_misc.o grub_fstest-io_gzio.o
grub_fstest-lib_hexdump.o grub_fstest-commands_blocklist.o
grub_fstest-commands_ls.o grub_fstest-fs_affs.o grub_fstest-fs_cpio.o
grub_fstest-fs_ext2.o grub_fstest-fs_fat.o grub_fstest-fs_hfs.o
grub_fstest-fs_hfsplus.o grub_fstest-fs_iso9660.o grub_fstest-fs_udf.o
grub_fstest-fs_jfs.o grub_fstest-fs_minix.o grub_fstest-fs_ntfs.o
grub_fstest-fs_ntfscomp.o grub_fstest-fs_reiserfs.o grub_fstest-fs_sfs.o
grub_fstest-fs_ufs.o grub_fstest-fs_xfs.o grub_fstest-fs_afs.o
grub_fstest-kern_partition.o grub_fstest-partmap_pc.o
grub_fstest-partmap_apple.o grub_fstest-partmap_gpt.o grub_fstest-kern_fs.o
grub_fstest-kern_env.o grub_fstest-fs_fshelp.o grub_fstest-disk_lvm.o
grub_fstest-disk_raid.o grub_fstest-grub_fstest_init.o
- $(CC) -o $@ grub_fstest-util_grub_fstest.o grub_fstest-util_hostfs.o
grub_fstest-util_misc.o grub_fstest-kern_file.o grub_fstest-kern_device.o
grub_fstest-kern_disk.o grub_fstest-kern_err.o grub_fstest-kern_misc.o
grub_fstest-disk_host.o grub_fstest-disk_loopback.o grub_fstest-normal_arg.o
grub_fstest-normal_misc.o grub_fstest-io_gzio.o grub_fstest-lib_hexdump.o
grub_fstest-commands_blocklist.o grub_fstest-commands_ls.o
grub_fstest-fs_affs.o grub_fstest-fs_cpio.o grub_fstest-fs_ext2.o
grub_fstest-fs_fat.o grub_fstest-fs_hfs.o grub_fstest-fs_hfsplus.o
grub_fstest-fs_iso9660.o grub_fstest-fs_udf.o grub_fstest-fs_jfs.o
grub_fstest-fs_minix.o grub_fstest-fs_ntfs.o grub_fstest-fs_ntfscomp.o
grub_fstest-fs_reiserfs.o grub_fstest-fs_sfs.o grub_fstest-fs_ufs.o
grub_fstest-fs_xfs.o grub_fstest-fs_afs.o grub_fstest-kern_partition.o
grub_fstest-partmap_pc.o grub_fstest-partmap_apple.o grub_fstest-partmap_gpt.o
grub_fstest-kern_fs.o grub_fstest-kern_env.o grub_fstest-fs_fshelp.o
grub_fstest-disk_lvm.o grub_fstest-disk_raid.o grub_fstest-grub_fstest_init.o
$(LDFLAGS) $(grub_fstest_LDFLAGS)
+grub-fstest: $(grub_fstest_DEPENDENCIES) grub_fstest-util_grub_fstest.o
grub_fstest-util_hostfs.o grub_fstest-util_misc.o grub_fstest-kern_file.o
grub_fstest-kern_device.o grub_fstest-kern_disk.o grub_fstest-kern_err.o
grub_fstest-kern_misc.o grub_fstest-disk_host.o grub_fstest-disk_loopback.o
grub_fstest-normal_arg.o grub_fstest-normal_misc.o grub_fstest-lib_hexdump.o
grub_fstest-lib_crc.o grub_fstest-commands_blocklist.o
grub_fstest-commands_ls.o grub_fstest-fs_affs.o grub_fstest-fs_cpio.o
grub_fstest-fs_ext2.o grub_fstest-fs_fat.o grub_fstest-fs_hfs.o
grub_fstest-fs_hfsplus.o grub_fstest-fs_iso9660.o grub_fstest-fs_udf.o
grub_fstest-fs_jfs.o grub_fstest-fs_minix.o grub_fstest-fs_ntfs.o
grub_fstest-fs_ntfscomp.o grub_fstest-fs_reiserfs.o grub_fstest-fs_sfs.o
grub_fstest-fs_ufs.o grub_fstest-fs_xfs.o grub_fstest-fs_afs.o
grub_fstest-kern_partition.o grub_fstest-partmap_pc.o
grub_fstest-partmap_apple.o grub_fstest-partmap_gpt.o grub_fstest-kern_fs.o
grub_fstest-kern_env.o grub_fstest-fs_fshelp.o grub_fstest-disk_lvm.o
grub_fstest-disk_raid.o grub_fstest-disk_raid5_recover.o
grub_fstest-disk_raid6_recover.o grub_fstest-disk_mdraid_linux.o
grub_fstest-disk_dmraid_nvidia.o grub_fstest-grub_fstest_init.o
+ $(CC) -o $@ grub_fstest-util_grub_fstest.o grub_fstest-util_hostfs.o
grub_fstest-util_misc.o grub_fstest-kern_file.o grub_fstest-kern_device.o
grub_fstest-kern_disk.o grub_fstest-kern_err.o grub_fstest-kern_misc.o
grub_fstest-disk_host.o grub_fstest-disk_loopback.o grub_fstest-normal_arg.o
grub_fstest-normal_misc.o grub_fstest-lib_hexdump.o grub_fstest-lib_crc.o
grub_fstest-commands_blocklist.o grub_fstest-commands_ls.o
grub_fstest-fs_affs.o grub_fstest-fs_cpio.o grub_fstest-fs_ext2.o
grub_fstest-fs_fat.o grub_fstest-fs_hfs.o grub_fstest-fs_hfsplus.o
grub_fstest-fs_iso9660.o grub_fstest-fs_udf.o grub_fstest-fs_jfs.o
grub_fstest-fs_minix.o grub_fstest-fs_ntfs.o grub_fstest-fs_ntfscomp.o
grub_fstest-fs_reiserfs.o grub_fstest-fs_sfs.o grub_fstest-fs_ufs.o
grub_fstest-fs_xfs.o grub_fstest-fs_afs.o grub_fstest-kern_partition.o
grub_fstest-partmap_pc.o grub_fstest-partmap_apple.o grub_fstest-partmap_gpt.o
grub_fstest-kern_fs.o grub_fstest-kern_env.o grub_fstest-fs_fshelp.o
grub_fstest-disk_lvm.o grub_fstest-disk_raid.o grub_fstest-disk_raid5_recover.o
grub_fstest-disk_raid6_recover.o grub_fstest-disk_mdraid_linux.o
grub_fstest-disk_dmraid_nvidia.o grub_fstest-grub_fstest_init.o $(LDFLAGS)
$(grub_fstest_LDFLAGS)
grub_fstest-util_grub_fstest.o: util/grub-fstest.c
$(util/grub-fstest.c_DEPENDENCIES)
$(CC) -Iutil -I$(srcdir)/util $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_fstest_CFLAGS) -MD -c -o $@ $<
@@ -269,14 +275,14 @@
$(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_fstest_CFLAGS) -MD -c -o $@ $<
-include grub_fstest-normal_misc.d
-grub_fstest-io_gzio.o: io/gzio.c $(io/gzio.c_DEPENDENCIES)
- $(CC) -Iio -I$(srcdir)/io $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_fstest_CFLAGS) -MD -c -o $@ $<
--include grub_fstest-io_gzio.d
-
grub_fstest-lib_hexdump.o: lib/hexdump.c $(lib/hexdump.c_DEPENDENCIES)
$(CC) -Ilib -I$(srcdir)/lib $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_fstest_CFLAGS) -MD -c -o $@ $<
-include grub_fstest-lib_hexdump.d
+grub_fstest-lib_crc.o: lib/crc.c $(lib/crc.c_DEPENDENCIES)
+ $(CC) -Ilib -I$(srcdir)/lib $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_fstest_CFLAGS) -MD -c -o $@ $<
+-include grub_fstest-lib_crc.d
+
grub_fstest-commands_blocklist.o: commands/blocklist.c
$(commands/blocklist.c_DEPENDENCIES)
$(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS)
-DGRUB_UTIL=1 $(grub_fstest_CFLAGS) -MD -c -o $@ $<
-include grub_fstest-commands_blocklist.d
@@ -389,6 +395,22 @@
$(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_fstest_CFLAGS) -MD -c -o $@ $<
-include grub_fstest-disk_raid.d
+grub_fstest-disk_raid5_recover.o: disk/raid5_recover.c
$(disk/raid5_recover.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_fstest_CFLAGS) -MD -c -o $@ $<
+-include grub_fstest-disk_raid5_recover.d
+
+grub_fstest-disk_raid6_recover.o: disk/raid6_recover.c
$(disk/raid6_recover.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_fstest_CFLAGS) -MD -c -o $@ $<
+-include grub_fstest-disk_raid6_recover.d
+
+grub_fstest-disk_mdraid_linux.o: disk/mdraid_linux.c
$(disk/mdraid_linux.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_fstest_CFLAGS) -MD -c -o $@ $<
+-include grub_fstest-disk_mdraid_linux.d
+
+grub_fstest-disk_dmraid_nvidia.o: disk/dmraid_nvidia.c
$(disk/dmraid_nvidia.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_fstest_CFLAGS) -MD -c -o $@ $<
+-include grub_fstest-disk_dmraid_nvidia.d
+
grub_fstest-grub_fstest_init.o: grub_fstest_init.c
$(grub_fstest_init.c_DEPENDENCIES)
$(CC) -I. -I$(srcdir)/. $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_fstest_CFLAGS) -MD -c -o $@ $<
-include grub_fstest-grub_fstest_init.d
@@ -1909,7 +1931,8 @@
# 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
@@ -1968,7 +1991,235 @@
raid_mod_CFLAGS = $(COMMON_CFLAGS)
raid_mod_LDFLAGS = $(COMMON_LDFLAGS)
-# For raid.mod
+# For raid5rec.mod
+raid5rec_mod_SOURCES = disk/raid5_recover.c
+CLEANFILES += raid5rec.mod mod-raid5rec.o mod-raid5rec.c pre-raid5rec.o
raid5rec_mod-disk_raid5_recover.o und-raid5rec.lst
+ifneq ($(raid5rec_mod_EXPORTS),no)
+CLEANFILES += def-raid5rec.lst
+DEFSYMFILES += def-raid5rec.lst
+endif
+MOSTLYCLEANFILES += raid5rec_mod-disk_raid5_recover.d
+UNDSYMFILES += und-raid5rec.lst
+
+raid5rec.mod: pre-raid5rec.o mod-raid5rec.o $(TARGET_OBJ2ELF)
+ -rm -f $@
+ $(TARGET_CC) $(raid5rec_mod_LDFLAGS) $(TARGET_LDFLAGS)
$(MODULE_LDFLAGS) -Wl,-r,-d -o $@ pre-raid5rec.o mod-raid5rec.o
+ if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f
$@; exit 1); fi
+ $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K
_grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
+
+pre-raid5rec.o: $(raid5rec_mod_DEPENDENCIES) raid5rec_mod-disk_raid5_recover.o
+ -rm -f $@
+ $(TARGET_CC) $(raid5rec_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@
raid5rec_mod-disk_raid5_recover.o
+
+mod-raid5rec.o: mod-raid5rec.c
+ $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(raid5rec_mod_CFLAGS)
-c -o $@ $<
+
+mod-raid5rec.c: moddep.lst genmodsrc.sh
+ sh $(srcdir)/genmodsrc.sh 'raid5rec' $< > $@ || (rm -f $@; exit 1)
+
+ifneq ($(raid5rec_mod_EXPORTS),no)
+def-raid5rec.lst: pre-raid5rec.o
+ $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 raid5rec/' >
$@
+endif
+
+und-raid5rec.lst: pre-raid5rec.o
+ echo 'raid5rec' > $@
+ $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+raid5rec_mod-disk_raid5_recover.o: disk/raid5_recover.c
$(disk/raid5_recover.c_DEPENDENCIES)
+ $(TARGET_CC) -Idisk -I$(srcdir)/disk $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(raid5rec_mod_CFLAGS) -MD -c -o $@ $<
+-include raid5rec_mod-disk_raid5_recover.d
+
+CLEANFILES += cmd-raid5rec_mod-disk_raid5_recover.lst
fs-raid5rec_mod-disk_raid5_recover.lst
partmap-raid5rec_mod-disk_raid5_recover.lst
+COMMANDFILES += cmd-raid5rec_mod-disk_raid5_recover.lst
+FSFILES += fs-raid5rec_mod-disk_raid5_recover.lst
+PARTMAPFILES += partmap-raid5rec_mod-disk_raid5_recover.lst
+
+cmd-raid5rec_mod-disk_raid5_recover.lst: disk/raid5_recover.c
$(disk/raid5_recover.c_DEPENDENCIES) gencmdlist.sh
+ set -e; $(TARGET_CC) -Idisk -I$(srcdir)/disk
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(raid5rec_mod_CFLAGS) -E $< | sh
$(srcdir)/gencmdlist.sh raid5rec > $@ || (rm -f $@; exit 1)
+
+fs-raid5rec_mod-disk_raid5_recover.lst: disk/raid5_recover.c
$(disk/raid5_recover.c_DEPENDENCIES) genfslist.sh
+ set -e; $(TARGET_CC) -Idisk -I$(srcdir)/disk
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(raid5rec_mod_CFLAGS) -E $< | sh
$(srcdir)/genfslist.sh raid5rec > $@ || (rm -f $@; exit 1)
+
+partmap-raid5rec_mod-disk_raid5_recover.lst: disk/raid5_recover.c
$(disk/raid5_recover.c_DEPENDENCIES) genpartmaplist.sh
+ set -e; $(TARGET_CC) -Idisk -I$(srcdir)/disk
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(raid5rec_mod_CFLAGS) -E $< | sh
$(srcdir)/genpartmaplist.sh raid5rec > $@ || (rm -f $@; exit 1)
+
+
+raid5rec_mod_CFLAGS = $(COMMON_CFLAGS)
+raid5rec_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+# For raid6rec.mod
+raid6rec_mod_SOURCES = disk/raid6_recover.c
+CLEANFILES += raid6rec.mod mod-raid6rec.o mod-raid6rec.c pre-raid6rec.o
raid6rec_mod-disk_raid6_recover.o und-raid6rec.lst
+ifneq ($(raid6rec_mod_EXPORTS),no)
+CLEANFILES += def-raid6rec.lst
+DEFSYMFILES += def-raid6rec.lst
+endif
+MOSTLYCLEANFILES += raid6rec_mod-disk_raid6_recover.d
+UNDSYMFILES += und-raid6rec.lst
+
+raid6rec.mod: pre-raid6rec.o mod-raid6rec.o $(TARGET_OBJ2ELF)
+ -rm -f $@
+ $(TARGET_CC) $(raid6rec_mod_LDFLAGS) $(TARGET_LDFLAGS)
$(MODULE_LDFLAGS) -Wl,-r,-d -o $@ pre-raid6rec.o mod-raid6rec.o
+ if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f
$@; exit 1); fi
+ $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K
_grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
+
+pre-raid6rec.o: $(raid6rec_mod_DEPENDENCIES) raid6rec_mod-disk_raid6_recover.o
+ -rm -f $@
+ $(TARGET_CC) $(raid6rec_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@
raid6rec_mod-disk_raid6_recover.o
+
+mod-raid6rec.o: mod-raid6rec.c
+ $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(raid6rec_mod_CFLAGS)
-c -o $@ $<
+
+mod-raid6rec.c: moddep.lst genmodsrc.sh
+ sh $(srcdir)/genmodsrc.sh 'raid6rec' $< > $@ || (rm -f $@; exit 1)
+
+ifneq ($(raid6rec_mod_EXPORTS),no)
+def-raid6rec.lst: pre-raid6rec.o
+ $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 raid6rec/' >
$@
+endif
+
+und-raid6rec.lst: pre-raid6rec.o
+ echo 'raid6rec' > $@
+ $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+raid6rec_mod-disk_raid6_recover.o: disk/raid6_recover.c
$(disk/raid6_recover.c_DEPENDENCIES)
+ $(TARGET_CC) -Idisk -I$(srcdir)/disk $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(raid6rec_mod_CFLAGS) -MD -c -o $@ $<
+-include raid6rec_mod-disk_raid6_recover.d
+
+CLEANFILES += cmd-raid6rec_mod-disk_raid6_recover.lst
fs-raid6rec_mod-disk_raid6_recover.lst
partmap-raid6rec_mod-disk_raid6_recover.lst
+COMMANDFILES += cmd-raid6rec_mod-disk_raid6_recover.lst
+FSFILES += fs-raid6rec_mod-disk_raid6_recover.lst
+PARTMAPFILES += partmap-raid6rec_mod-disk_raid6_recover.lst
+
+cmd-raid6rec_mod-disk_raid6_recover.lst: disk/raid6_recover.c
$(disk/raid6_recover.c_DEPENDENCIES) gencmdlist.sh
+ set -e; $(TARGET_CC) -Idisk -I$(srcdir)/disk
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(raid6rec_mod_CFLAGS) -E $< | sh
$(srcdir)/gencmdlist.sh raid6rec > $@ || (rm -f $@; exit 1)
+
+fs-raid6rec_mod-disk_raid6_recover.lst: disk/raid6_recover.c
$(disk/raid6_recover.c_DEPENDENCIES) genfslist.sh
+ set -e; $(TARGET_CC) -Idisk -I$(srcdir)/disk
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(raid6rec_mod_CFLAGS) -E $< | sh
$(srcdir)/genfslist.sh raid6rec > $@ || (rm -f $@; exit 1)
+
+partmap-raid6rec_mod-disk_raid6_recover.lst: disk/raid6_recover.c
$(disk/raid6_recover.c_DEPENDENCIES) genpartmaplist.sh
+ set -e; $(TARGET_CC) -Idisk -I$(srcdir)/disk
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(raid6rec_mod_CFLAGS) -E $< | sh
$(srcdir)/genpartmaplist.sh raid6rec > $@ || (rm -f $@; exit 1)
+
+
+raid6rec_mod_CFLAGS = $(COMMON_CFLAGS)
+raid6rec_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+# For mdraid.mod
+mdraid_mod_SOURCES = disk/mdraid_linux.c
+CLEANFILES += mdraid.mod mod-mdraid.o mod-mdraid.c pre-mdraid.o
mdraid_mod-disk_mdraid_linux.o und-mdraid.lst
+ifneq ($(mdraid_mod_EXPORTS),no)
+CLEANFILES += def-mdraid.lst
+DEFSYMFILES += def-mdraid.lst
+endif
+MOSTLYCLEANFILES += mdraid_mod-disk_mdraid_linux.d
+UNDSYMFILES += und-mdraid.lst
+
+mdraid.mod: pre-mdraid.o mod-mdraid.o $(TARGET_OBJ2ELF)
+ -rm -f $@
+ $(TARGET_CC) $(mdraid_mod_LDFLAGS) $(TARGET_LDFLAGS) $(MODULE_LDFLAGS)
-Wl,-r,-d -o $@ pre-mdraid.o mod-mdraid.o
+ if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f
$@; exit 1); fi
+ $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K
_grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
+
+pre-mdraid.o: $(mdraid_mod_DEPENDENCIES) mdraid_mod-disk_mdraid_linux.o
+ -rm -f $@
+ $(TARGET_CC) $(mdraid_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@
mdraid_mod-disk_mdraid_linux.o
+
+mod-mdraid.o: mod-mdraid.c
+ $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(mdraid_mod_CFLAGS)
-c -o $@ $<
+
+mod-mdraid.c: moddep.lst genmodsrc.sh
+ sh $(srcdir)/genmodsrc.sh 'mdraid' $< > $@ || (rm -f $@; exit 1)
+
+ifneq ($(mdraid_mod_EXPORTS),no)
+def-mdraid.lst: pre-mdraid.o
+ $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 mdraid/' > $@
+endif
+
+und-mdraid.lst: pre-mdraid.o
+ echo 'mdraid' > $@
+ $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+mdraid_mod-disk_mdraid_linux.o: disk/mdraid_linux.c
$(disk/mdraid_linux.c_DEPENDENCIES)
+ $(TARGET_CC) -Idisk -I$(srcdir)/disk $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(mdraid_mod_CFLAGS) -MD -c -o $@ $<
+-include mdraid_mod-disk_mdraid_linux.d
+
+CLEANFILES += cmd-mdraid_mod-disk_mdraid_linux.lst
fs-mdraid_mod-disk_mdraid_linux.lst partmap-mdraid_mod-disk_mdraid_linux.lst
+COMMANDFILES += cmd-mdraid_mod-disk_mdraid_linux.lst
+FSFILES += fs-mdraid_mod-disk_mdraid_linux.lst
+PARTMAPFILES += partmap-mdraid_mod-disk_mdraid_linux.lst
+
+cmd-mdraid_mod-disk_mdraid_linux.lst: disk/mdraid_linux.c
$(disk/mdraid_linux.c_DEPENDENCIES) gencmdlist.sh
+ set -e; $(TARGET_CC) -Idisk -I$(srcdir)/disk
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(mdraid_mod_CFLAGS) -E $< | sh
$(srcdir)/gencmdlist.sh mdraid > $@ || (rm -f $@; exit 1)
+
+fs-mdraid_mod-disk_mdraid_linux.lst: disk/mdraid_linux.c
$(disk/mdraid_linux.c_DEPENDENCIES) genfslist.sh
+ set -e; $(TARGET_CC) -Idisk -I$(srcdir)/disk
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(mdraid_mod_CFLAGS) -E $< | sh
$(srcdir)/genfslist.sh mdraid > $@ || (rm -f $@; exit 1)
+
+partmap-mdraid_mod-disk_mdraid_linux.lst: disk/mdraid_linux.c
$(disk/mdraid_linux.c_DEPENDENCIES) genpartmaplist.sh
+ set -e; $(TARGET_CC) -Idisk -I$(srcdir)/disk
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(mdraid_mod_CFLAGS) -E $< | sh
$(srcdir)/genpartmaplist.sh mdraid > $@ || (rm -f $@; exit 1)
+
+
+mdraid_mod_CFLAGS = $(COMMON_CFLAGS)
+mdraid_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+# For dm_nv.mod
+dm_nv_mod_SOURCES = disk/dmraid_nvidia.c
+CLEANFILES += dm_nv.mod mod-dm_nv.o mod-dm_nv.c pre-dm_nv.o
dm_nv_mod-disk_dmraid_nvidia.o und-dm_nv.lst
+ifneq ($(dm_nv_mod_EXPORTS),no)
+CLEANFILES += def-dm_nv.lst
+DEFSYMFILES += def-dm_nv.lst
+endif
+MOSTLYCLEANFILES += dm_nv_mod-disk_dmraid_nvidia.d
+UNDSYMFILES += und-dm_nv.lst
+
+dm_nv.mod: pre-dm_nv.o mod-dm_nv.o $(TARGET_OBJ2ELF)
+ -rm -f $@
+ $(TARGET_CC) $(dm_nv_mod_LDFLAGS) $(TARGET_LDFLAGS) $(MODULE_LDFLAGS)
-Wl,-r,-d -o $@ pre-dm_nv.o mod-dm_nv.o
+ if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f
$@; exit 1); fi
+ $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K
_grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
+
+pre-dm_nv.o: $(dm_nv_mod_DEPENDENCIES) dm_nv_mod-disk_dmraid_nvidia.o
+ -rm -f $@
+ $(TARGET_CC) $(dm_nv_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@
dm_nv_mod-disk_dmraid_nvidia.o
+
+mod-dm_nv.o: mod-dm_nv.c
+ $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(dm_nv_mod_CFLAGS) -c
-o $@ $<
+
+mod-dm_nv.c: moddep.lst genmodsrc.sh
+ sh $(srcdir)/genmodsrc.sh 'dm_nv' $< > $@ || (rm -f $@; exit 1)
+
+ifneq ($(dm_nv_mod_EXPORTS),no)
+def-dm_nv.lst: pre-dm_nv.o
+ $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 dm_nv/' > $@
+endif
+
+und-dm_nv.lst: pre-dm_nv.o
+ echo 'dm_nv' > $@
+ $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+dm_nv_mod-disk_dmraid_nvidia.o: disk/dmraid_nvidia.c
$(disk/dmraid_nvidia.c_DEPENDENCIES)
+ $(TARGET_CC) -Idisk -I$(srcdir)/disk $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(dm_nv_mod_CFLAGS) -MD -c -o $@ $<
+-include dm_nv_mod-disk_dmraid_nvidia.d
+
+CLEANFILES += cmd-dm_nv_mod-disk_dmraid_nvidia.lst
fs-dm_nv_mod-disk_dmraid_nvidia.lst partmap-dm_nv_mod-disk_dmraid_nvidia.lst
+COMMANDFILES += cmd-dm_nv_mod-disk_dmraid_nvidia.lst
+FSFILES += fs-dm_nv_mod-disk_dmraid_nvidia.lst
+PARTMAPFILES += partmap-dm_nv_mod-disk_dmraid_nvidia.lst
+
+cmd-dm_nv_mod-disk_dmraid_nvidia.lst: disk/dmraid_nvidia.c
$(disk/dmraid_nvidia.c_DEPENDENCIES) gencmdlist.sh
+ set -e; $(TARGET_CC) -Idisk -I$(srcdir)/disk
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(dm_nv_mod_CFLAGS) -E $< | sh
$(srcdir)/gencmdlist.sh dm_nv > $@ || (rm -f $@; exit 1)
+
+fs-dm_nv_mod-disk_dmraid_nvidia.lst: disk/dmraid_nvidia.c
$(disk/dmraid_nvidia.c_DEPENDENCIES) genfslist.sh
+ set -e; $(TARGET_CC) -Idisk -I$(srcdir)/disk
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(dm_nv_mod_CFLAGS) -E $< | sh
$(srcdir)/genfslist.sh dm_nv > $@ || (rm -f $@; exit 1)
+
+partmap-dm_nv_mod-disk_dmraid_nvidia.lst: disk/dmraid_nvidia.c
$(disk/dmraid_nvidia.c_DEPENDENCIES) genpartmaplist.sh
+ set -e; $(TARGET_CC) -Idisk -I$(srcdir)/disk
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(dm_nv_mod_CFLAGS) -E $< | sh
$(srcdir)/genpartmaplist.sh dm_nv > $@ || (rm -f $@; exit 1)
+
+
+dm_nv_mod_CFLAGS = $(COMMON_CFLAGS)
+dm_nv_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+# For lvm.mod
lvm_mod_SOURCES = disk/lvm.c
CLEANFILES += lvm.mod mod-lvm.o mod-lvm.c pre-lvm.o lvm_mod-disk_lvm.o
und-lvm.lst
ifneq ($(lvm_mod_EXPORTS),no)
Modified: trunk/grub2/conf/common.rmk
===================================================================
--- trunk/grub2/conf/common.rmk 2008-08-23 14:20:45 UTC (rev 1827)
+++ trunk/grub2/conf/common.rmk 2008-08-23 14:51:19 UTC (rev 1828)
@@ -21,7 +21,7 @@
\
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 @@
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 @@
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 @@
# 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)
Modified: trunk/grub2/conf/i386-coreboot.mk
===================================================================
--- trunk/grub2/conf/i386-coreboot.mk 2008-08-23 14:20:45 UTC (rev 1827)
+++ trunk/grub2/conf/i386-coreboot.mk 2008-08-23 14:51:19 UTC (rev 1828)
@@ -222,13 +222,14 @@
util/biosdisk.c util/getroot.c \
util/i386/pc/misc.c \
\
- disk/raid.c disk/lvm.c \
+ disk/raid.c disk/raid5_recover.c disk/raid6_recover.c \
+ disk/mdraid_linux.c disk/dmraid_nvidia.c disk/lvm.c \
grub_emu_init.c
-CLEANFILES += grub-emu$(EXEEXT) grub_emu-commands_boot.o
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o
grub_emu-disk_loopback.o grub_emu-fs_affs.o grub_emu-fs_cpio.o
grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o
grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o
grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o
grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o
grub_emu-fs_fshelp.o grub_emu-io_gzio.o grub_emu-kern_device.o
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o
grub_emu-kern_err.o grub_emu-normal_execute.o grub_emu-kern_file.o
grub_emu-kern_fs.o grub_emu-normal_lexer.o grub_emu-kern_loader.o
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o
grub_emu-grub_script_tab.o grub_emu-kern_partition.o grub_emu-kern_rescue.o
grub_emu-kern_term.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o
grub_emu-normal_command.o grub_emu-normal_function.o
grub_emu-normal_completion.o grub_emu-normal_main.o grub_emu-normal_menu.o
grub_emu-normal_menu_entry.o grub_emu-normal_misc.o grub_emu-normal_script.o
grub_emu-normal_color.o grub_emu-partmap_amiga.o grub_emu-partmap_apple.o
grub_emu-partmap_pc.o grub_emu-partmap_sun.o grub_emu-partmap_acorn.o
grub_emu-partmap_gpt.o grub_emu-util_console.o grub_emu-util_hostfs.o
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o
grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
-MOSTLYCLEANFILES += grub_emu-commands_boot.d grub_emu-commands_cat.d
grub_emu-commands_cmp.d grub_emu-commands_configfile.d grub_emu-commands_echo.d
grub_emu-commands_help.d grub_emu-commands_terminal.d grub_emu-commands_ls.d
grub_emu-commands_test.d grub_emu-commands_search.d
grub_emu-commands_blocklist.d grub_emu-commands_hexdump.d
grub_emu-lib_hexdump.d grub_emu-commands_i386_cpuid.d grub_emu-disk_host.d
grub_emu-disk_loopback.d grub_emu-fs_affs.d grub_emu-fs_cpio.d
grub_emu-fs_ext2.d grub_emu-fs_fat.d grub_emu-fs_hfs.d grub_emu-fs_hfsplus.d
grub_emu-fs_iso9660.d grub_emu-fs_udf.d grub_emu-fs_jfs.d grub_emu-fs_minix.d
grub_emu-fs_ntfs.d grub_emu-fs_ntfscomp.d grub_emu-fs_reiserfs.d
grub_emu-fs_sfs.d grub_emu-fs_ufs.d grub_emu-fs_xfs.d grub_emu-fs_afs.d
grub_emu-fs_fshelp.d grub_emu-io_gzio.d grub_emu-kern_device.d
grub_emu-kern_disk.d grub_emu-kern_dl.d grub_emu-kern_elf.d grub_emu-kern_env.d
grub_emu-kern_err.d grub_emu-normal_execute.d grub_emu-kern_file.d
grub_emu-kern_fs.d grub_emu-normal_lexer.d grub_emu-kern_loader.d
grub_emu-kern_main.d grub_emu-kern_misc.d grub_emu-kern_parser.d
grub_emu-grub_script_tab.d grub_emu-kern_partition.d grub_emu-kern_rescue.d
grub_emu-kern_term.d grub_emu-normal_arg.d grub_emu-normal_cmdline.d
grub_emu-normal_command.d grub_emu-normal_function.d
grub_emu-normal_completion.d grub_emu-normal_main.d grub_emu-normal_menu.d
grub_emu-normal_menu_entry.d grub_emu-normal_misc.d grub_emu-normal_script.d
grub_emu-normal_color.d grub_emu-partmap_amiga.d grub_emu-partmap_apple.d
grub_emu-partmap_pc.d grub_emu-partmap_sun.d grub_emu-partmap_acorn.d
grub_emu-partmap_gpt.d grub_emu-util_console.d grub_emu-util_hostfs.d
grub_emu-util_grub_emu.d grub_emu-util_misc.d grub_emu-util_biosdisk.d
grub_emu-util_getroot.d grub_emu-util_i386_pc_misc.d grub_emu-disk_raid.d
grub_emu-disk_lvm.d grub_emu-grub_emu_init.d
+CLEANFILES += grub-emu$(EXEEXT) grub_emu-commands_boot.o
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o
grub_emu-disk_loopback.o grub_emu-fs_affs.o grub_emu-fs_cpio.o
grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o
grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o
grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o
grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o
grub_emu-fs_fshelp.o grub_emu-io_gzio.o grub_emu-kern_device.o
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o
grub_emu-kern_err.o grub_emu-normal_execute.o grub_emu-kern_file.o
grub_emu-kern_fs.o grub_emu-normal_lexer.o grub_emu-kern_loader.o
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o
grub_emu-grub_script_tab.o grub_emu-kern_partition.o grub_emu-kern_rescue.o
grub_emu-kern_term.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o
grub_emu-normal_command.o grub_emu-normal_function.o
grub_emu-normal_completion.o grub_emu-normal_main.o grub_emu-normal_menu.o
grub_emu-normal_menu_entry.o grub_emu-normal_misc.o grub_emu-normal_script.o
grub_emu-normal_color.o grub_emu-partmap_amiga.o grub_emu-partmap_apple.o
grub_emu-partmap_pc.o grub_emu-partmap_sun.o grub_emu-partmap_acorn.o
grub_emu-partmap_gpt.o grub_emu-util_console.o grub_emu-util_hostfs.o
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o
grub_emu-disk_raid5_recover.o grub_emu-disk_raid6_recover.o
grub_emu-disk_mdraid_linux.o grub_emu-disk_dmraid_nvidia.o grub_emu-disk_lvm.o
grub_emu-grub_emu_init.o
+MOSTLYCLEANFILES += grub_emu-commands_boot.d grub_emu-commands_cat.d
grub_emu-commands_cmp.d grub_emu-commands_configfile.d grub_emu-commands_echo.d
grub_emu-commands_help.d grub_emu-commands_terminal.d grub_emu-commands_ls.d
grub_emu-commands_test.d grub_emu-commands_search.d
grub_emu-commands_blocklist.d grub_emu-commands_hexdump.d
grub_emu-lib_hexdump.d grub_emu-commands_i386_cpuid.d grub_emu-disk_host.d
grub_emu-disk_loopback.d grub_emu-fs_affs.d grub_emu-fs_cpio.d
grub_emu-fs_ext2.d grub_emu-fs_fat.d grub_emu-fs_hfs.d grub_emu-fs_hfsplus.d
grub_emu-fs_iso9660.d grub_emu-fs_udf.d grub_emu-fs_jfs.d grub_emu-fs_minix.d
grub_emu-fs_ntfs.d grub_emu-fs_ntfscomp.d grub_emu-fs_reiserfs.d
grub_emu-fs_sfs.d grub_emu-fs_ufs.d grub_emu-fs_xfs.d grub_emu-fs_afs.d
grub_emu-fs_fshelp.d grub_emu-io_gzio.d grub_emu-kern_device.d
grub_emu-kern_disk.d grub_emu-kern_dl.d grub_emu-kern_elf.d grub_emu-kern_env.d
grub_emu-kern_err.d grub_emu-normal_execute.d grub_emu-kern_file.d
grub_emu-kern_fs.d grub_emu-normal_lexer.d grub_emu-kern_loader.d
grub_emu-kern_main.d grub_emu-kern_misc.d grub_emu-kern_parser.d
grub_emu-grub_script_tab.d grub_emu-kern_partition.d grub_emu-kern_rescue.d
grub_emu-kern_term.d grub_emu-normal_arg.d grub_emu-normal_cmdline.d
grub_emu-normal_command.d grub_emu-normal_function.d
grub_emu-normal_completion.d grub_emu-normal_main.d grub_emu-normal_menu.d
grub_emu-normal_menu_entry.d grub_emu-normal_misc.d grub_emu-normal_script.d
grub_emu-normal_color.d grub_emu-partmap_amiga.d grub_emu-partmap_apple.d
grub_emu-partmap_pc.d grub_emu-partmap_sun.d grub_emu-partmap_acorn.d
grub_emu-partmap_gpt.d grub_emu-util_console.d grub_emu-util_hostfs.d
grub_emu-util_grub_emu.d grub_emu-util_misc.d grub_emu-util_biosdisk.d
grub_emu-util_getroot.d grub_emu-util_i386_pc_misc.d grub_emu-disk_raid.d
grub_emu-disk_raid5_recover.d grub_emu-disk_raid6_recover.d
grub_emu-disk_mdraid_linux.d grub_emu-disk_dmraid_nvidia.d grub_emu-disk_lvm.d
grub_emu-grub_emu_init.d
-grub-emu: $(grub_emu_DEPENDENCIES) grub_emu-commands_boot.o
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o
grub_emu-disk_loopback.o grub_emu-fs_affs.o grub_emu-fs_cpio.o
grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o
grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o
grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o
grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o
grub_emu-fs_fshelp.o grub_emu-io_gzio.o grub_emu-kern_device.o
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o
grub_emu-kern_err.o grub_emu-normal_execute.o grub_emu-kern_file.o
grub_emu-kern_fs.o grub_emu-normal_lexer.o grub_emu-kern_loader.o
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o
grub_emu-grub_script_tab.o grub_emu-kern_partition.o grub_emu-kern_rescue.o
grub_emu-kern_term.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o
grub_emu-normal_command.o grub_emu-normal_function.o
grub_emu-normal_completion.o grub_emu-normal_main.o grub_emu-normal_menu.o
grub_emu-normal_menu_entry.o grub_emu-normal_misc.o grub_emu-normal_script.o
grub_emu-normal_color.o grub_emu-partmap_amiga.o grub_emu-partmap_apple.o
grub_emu-partmap_pc.o grub_emu-partmap_sun.o grub_emu-partmap_acorn.o
grub_emu-partmap_gpt.o grub_emu-util_console.o grub_emu-util_hostfs.o
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o
grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
- $(CC) -o $@ grub_emu-commands_boot.o grub_emu-commands_cat.o
grub_emu-commands_cmp.o grub_emu-commands_configfile.o grub_emu-commands_echo.o
grub_emu-commands_help.o grub_emu-commands_terminal.o grub_emu-commands_ls.o
grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o
grub_emu-disk_loopback.o grub_emu-fs_affs.o grub_emu-fs_cpio.o
grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o
grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o
grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o
grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o
grub_emu-fs_fshelp.o grub_emu-io_gzio.o grub_emu-kern_device.o
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o
grub_emu-kern_err.o grub_emu-normal_execute.o grub_emu-kern_file.o
grub_emu-kern_fs.o grub_emu-normal_lexer.o grub_emu-kern_loader.o
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o
grub_emu-grub_script_tab.o grub_emu-kern_partition.o grub_emu-kern_rescue.o
grub_emu-kern_term.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o
grub_emu-normal_command.o grub_emu-normal_function.o
grub_emu-normal_completion.o grub_emu-normal_main.o grub_emu-normal_menu.o
grub_emu-normal_menu_entry.o grub_emu-normal_misc.o grub_emu-normal_script.o
grub_emu-normal_color.o grub_emu-partmap_amiga.o grub_emu-partmap_apple.o
grub_emu-partmap_pc.o grub_emu-partmap_sun.o grub_emu-partmap_acorn.o
grub_emu-partmap_gpt.o grub_emu-util_console.o grub_emu-util_hostfs.o
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o
grub_emu-disk_lvm.o grub_emu-grub_emu_init.o $(LDFLAGS) $(grub_emu_LDFLAGS)
+grub-emu: $(grub_emu_DEPENDENCIES) grub_emu-commands_boot.o
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o
grub_emu-disk_loopback.o grub_emu-fs_affs.o grub_emu-fs_cpio.o
grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o
grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o
grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o
grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o
grub_emu-fs_fshelp.o grub_emu-io_gzio.o grub_emu-kern_device.o
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o
grub_emu-kern_err.o grub_emu-normal_execute.o grub_emu-kern_file.o
grub_emu-kern_fs.o grub_emu-normal_lexer.o grub_emu-kern_loader.o
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o
grub_emu-grub_script_tab.o grub_emu-kern_partition.o grub_emu-kern_rescue.o
grub_emu-kern_term.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o
grub_emu-normal_command.o grub_emu-normal_function.o
grub_emu-normal_completion.o grub_emu-normal_main.o grub_emu-normal_menu.o
grub_emu-normal_menu_entry.o grub_emu-normal_misc.o grub_emu-normal_script.o
grub_emu-normal_color.o grub_emu-partmap_amiga.o grub_emu-partmap_apple.o
grub_emu-partmap_pc.o grub_emu-partmap_sun.o grub_emu-partmap_acorn.o
grub_emu-partmap_gpt.o grub_emu-util_console.o grub_emu-util_hostfs.o
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o
grub_emu-disk_raid5_recover.o grub_emu-disk_raid6_recover.o
grub_emu-disk_mdraid_linux.o grub_emu-disk_dmraid_nvidia.o grub_emu-disk_lvm.o
grub_emu-grub_emu_init.o
+ $(CC) -o $@ grub_emu-commands_boot.o grub_emu-commands_cat.o
grub_emu-commands_cmp.o grub_emu-commands_configfile.o grub_emu-commands_echo.o
grub_emu-commands_help.o grub_emu-commands_terminal.o grub_emu-commands_ls.o
grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o
grub_emu-disk_loopback.o grub_emu-fs_affs.o grub_emu-fs_cpio.o
grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o
grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o
grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o
grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o
grub_emu-fs_fshelp.o grub_emu-io_gzio.o grub_emu-kern_device.o
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o
grub_emu-kern_err.o grub_emu-normal_execute.o grub_emu-kern_file.o
grub_emu-kern_fs.o grub_emu-normal_lexer.o grub_emu-kern_loader.o
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o
grub_emu-grub_script_tab.o grub_emu-kern_partition.o grub_emu-kern_rescue.o
grub_emu-kern_term.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o
grub_emu-normal_command.o grub_emu-normal_function.o
grub_emu-normal_completion.o grub_emu-normal_main.o grub_emu-normal_menu.o
grub_emu-normal_menu_entry.o grub_emu-normal_misc.o grub_emu-normal_script.o
grub_emu-normal_color.o grub_emu-partmap_amiga.o grub_emu-partmap_apple.o
grub_emu-partmap_pc.o grub_emu-partmap_sun.o grub_emu-partmap_acorn.o
grub_emu-partmap_gpt.o grub_emu-util_console.o grub_emu-util_hostfs.o
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o
grub_emu-disk_raid5_recover.o grub_emu-disk_raid6_recover.o
grub_emu-disk_mdraid_linux.o grub_emu-disk_dmraid_nvidia.o grub_emu-disk_lvm.o
grub_emu-grub_emu_init.o $(LDFLAGS) $(grub_emu_LDFLAGS)
grub_emu-commands_boot.o: commands/boot.c $(commands/boot.c_DEPENDENCIES)
$(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS)
-DGRUB_UTIL=1 $(grub_emu_CFLAGS) -MD -c -o $@ $<
@@ -542,6 +543,22 @@
$(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
-include grub_emu-disk_raid.d
+grub_emu-disk_raid5_recover.o: disk/raid5_recover.c
$(disk/raid5_recover.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-disk_raid5_recover.d
+
+grub_emu-disk_raid6_recover.o: disk/raid6_recover.c
$(disk/raid6_recover.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-disk_raid6_recover.d
+
+grub_emu-disk_mdraid_linux.o: disk/mdraid_linux.c
$(disk/mdraid_linux.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-disk_mdraid_linux.d
+
+grub_emu-disk_dmraid_nvidia.o: disk/dmraid_nvidia.c
$(disk/dmraid_nvidia.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-disk_dmraid_nvidia.d
+
grub_emu-disk_lvm.o: disk/lvm.c $(disk/lvm.c_DEPENDENCIES)
$(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
-include grub_emu-disk_lvm.d
Modified: trunk/grub2/conf/i386-coreboot.rmk
===================================================================
--- trunk/grub2/conf/i386-coreboot.rmk 2008-08-23 14:20:45 UTC (rev 1827)
+++ trunk/grub2/conf/i386-coreboot.rmk 2008-08-23 14:51:19 UTC (rev 1828)
@@ -85,7 +85,8 @@
util/biosdisk.c util/getroot.c \
util/i386/pc/misc.c \
\
- disk/raid.c disk/lvm.c \
+ disk/raid.c disk/raid5_recover.c disk/raid6_recover.c \
+ disk/mdraid_linux.c disk/dmraid_nvidia.c disk/lvm.c \
grub_emu_init.c
grub_emu_LDFLAGS = $(LIBCURSES)
Modified: trunk/grub2/conf/i386-efi.mk
===================================================================
--- trunk/grub2/conf/i386-efi.mk 2008-08-23 14:20:45 UTC (rev 1827)
+++ trunk/grub2/conf/i386-efi.mk 2008-08-23 14:51:19 UTC (rev 1828)
@@ -99,7 +99,8 @@
util/biosdisk.c util/getroot.c \
util/i386/pc/misc.c \
\
- disk/raid.c disk/lvm.c \
+ disk/raid.c disk/raid5_recover.c disk/raid6_recover.c \
+ disk/mdraid_linux.c disk/dmraid_nvidia.c disk/lvm.c \
grub_emu_init.c
grub_emu_LDFLAGS = $(LIBCURSES)
Modified: trunk/grub2/conf/i386-efi.rmk
===================================================================
--- trunk/grub2/conf/i386-efi.rmk 2008-08-23 14:20:45 UTC (rev 1827)
+++ trunk/grub2/conf/i386-efi.rmk 2008-08-23 14:51:19 UTC (rev 1828)
@@ -62,7 +62,8 @@
util/biosdisk.c util/getroot.c \
util/i386/pc/misc.c \
\
- disk/raid.c disk/lvm.c \
+ disk/raid.c disk/raid5_recover.c disk/raid6_recover.c \
+ disk/mdraid_linux.c disk/dmraid_nvidia.c disk/lvm.c \
grub_emu_init.c
grub_emu_LDFLAGS = $(LIBCURSES)
Modified: trunk/grub2/conf/i386-ieee1275.mk
===================================================================
--- trunk/grub2/conf/i386-ieee1275.mk 2008-08-23 14:20:45 UTC (rev 1827)
+++ trunk/grub2/conf/i386-ieee1275.mk 2008-08-23 14:51:19 UTC (rev 1828)
@@ -220,13 +220,14 @@
util/biosdisk.c util/getroot.c \
util/i386/pc/misc.c \
\
- disk/raid.c disk/lvm.c \
+ disk/raid.c disk/raid5_recover.c disk/raid6_recover.c \
+ disk/mdraid_linux.c disk/dmraid_nvidia.c disk/lvm.c \
grub_emu_init.c
-CLEANFILES += grub-emu$(EXEEXT) grub_emu-commands_boot.o
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_halt.o grub_emu-commands_reboot.o
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o
grub_emu-fs_afs.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-util_console.o
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
-MOSTLYCLEANFILES += grub_emu-commands_boot.d grub_emu-commands_cat.d
grub_emu-commands_cmp.d grub_emu-commands_configfile.d grub_emu-commands_echo.d
grub_emu-commands_help.d grub_emu-commands_terminal.d grub_emu-commands_ls.d
grub_emu-commands_test.d grub_emu-commands_search.d
grub_emu-commands_blocklist.d grub_emu-commands_hexdump.d
grub_emu-lib_hexdump.d grub_emu-commands_halt.d grub_emu-commands_reboot.d
grub_emu-commands_i386_cpuid.d grub_emu-disk_host.d grub_emu-disk_loopback.d
grub_emu-fs_affs.d grub_emu-fs_cpio.d grub_emu-fs_ext2.d grub_emu-fs_fat.d
grub_emu-fs_hfs.d grub_emu-fs_hfsplus.d grub_emu-fs_iso9660.d grub_emu-fs_udf.d
grub_emu-fs_jfs.d grub_emu-fs_minix.d grub_emu-fs_ntfs.d grub_emu-fs_ntfscomp.d
grub_emu-fs_reiserfs.d grub_emu-fs_sfs.d grub_emu-fs_ufs.d grub_emu-fs_xfs.d
grub_emu-fs_afs.d grub_emu-fs_fshelp.d grub_emu-io_gzio.d
grub_emu-kern_device.d grub_emu-kern_disk.d grub_emu-kern_dl.d
grub_emu-kern_elf.d grub_emu-kern_env.d grub_emu-kern_err.d
grub_emu-normal_execute.d grub_emu-kern_file.d grub_emu-kern_fs.d
grub_emu-normal_lexer.d grub_emu-kern_loader.d grub_emu-kern_main.d
grub_emu-kern_misc.d grub_emu-kern_parser.d grub_emu-grub_script_tab.d
grub_emu-kern_partition.d grub_emu-kern_rescue.d grub_emu-kern_term.d
grub_emu-normal_arg.d grub_emu-normal_cmdline.d grub_emu-normal_command.d
grub_emu-normal_function.d grub_emu-normal_completion.d grub_emu-normal_main.d
grub_emu-normal_menu.d grub_emu-normal_menu_entry.d grub_emu-normal_misc.d
grub_emu-normal_script.d grub_emu-normal_color.d grub_emu-partmap_amiga.d
grub_emu-partmap_apple.d grub_emu-partmap_pc.d grub_emu-partmap_sun.d
grub_emu-partmap_acorn.d grub_emu-partmap_gpt.d grub_emu-util_console.d
grub_emu-util_hostfs.d grub_emu-util_grub_emu.d grub_emu-util_misc.d
grub_emu-util_biosdisk.d grub_emu-util_getroot.d grub_emu-util_i386_pc_misc.d
grub_emu-disk_raid.d grub_emu-disk_lvm.d grub_emu-grub_emu_init.d
+CLEANFILES += grub-emu$(EXEEXT) grub_emu-commands_boot.o
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_halt.o grub_emu-commands_reboot.o
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o
grub_emu-fs_afs.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-util_console.o
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o
grub_emu-disk_raid.o grub_emu-disk_raid5_recover.o
grub_emu-disk_raid6_recover.o grub_emu-disk_mdraid_linux.o
grub_emu-disk_dmraid_nvidia.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
+MOSTLYCLEANFILES += grub_emu-commands_boot.d grub_emu-commands_cat.d
grub_emu-commands_cmp.d grub_emu-commands_configfile.d grub_emu-commands_echo.d
grub_emu-commands_help.d grub_emu-commands_terminal.d grub_emu-commands_ls.d
grub_emu-commands_test.d grub_emu-commands_search.d
grub_emu-commands_blocklist.d grub_emu-commands_hexdump.d
grub_emu-lib_hexdump.d grub_emu-commands_halt.d grub_emu-commands_reboot.d
grub_emu-commands_i386_cpuid.d grub_emu-disk_host.d grub_emu-disk_loopback.d
grub_emu-fs_affs.d grub_emu-fs_cpio.d grub_emu-fs_ext2.d grub_emu-fs_fat.d
grub_emu-fs_hfs.d grub_emu-fs_hfsplus.d grub_emu-fs_iso9660.d grub_emu-fs_udf.d
grub_emu-fs_jfs.d grub_emu-fs_minix.d grub_emu-fs_ntfs.d grub_emu-fs_ntfscomp.d
grub_emu-fs_reiserfs.d grub_emu-fs_sfs.d grub_emu-fs_ufs.d grub_emu-fs_xfs.d
grub_emu-fs_afs.d grub_emu-fs_fshelp.d grub_emu-io_gzio.d
grub_emu-kern_device.d grub_emu-kern_disk.d grub_emu-kern_dl.d
grub_emu-kern_elf.d grub_emu-kern_env.d grub_emu-kern_err.d
grub_emu-normal_execute.d grub_emu-kern_file.d grub_emu-kern_fs.d
grub_emu-normal_lexer.d grub_emu-kern_loader.d grub_emu-kern_main.d
grub_emu-kern_misc.d grub_emu-kern_parser.d grub_emu-grub_script_tab.d
grub_emu-kern_partition.d grub_emu-kern_rescue.d grub_emu-kern_term.d
grub_emu-normal_arg.d grub_emu-normal_cmdline.d grub_emu-normal_command.d
grub_emu-normal_function.d grub_emu-normal_completion.d grub_emu-normal_main.d
grub_emu-normal_menu.d grub_emu-normal_menu_entry.d grub_emu-normal_misc.d
grub_emu-normal_script.d grub_emu-normal_color.d grub_emu-partmap_amiga.d
grub_emu-partmap_apple.d grub_emu-partmap_pc.d grub_emu-partmap_sun.d
grub_emu-partmap_acorn.d grub_emu-partmap_gpt.d grub_emu-util_console.d
grub_emu-util_hostfs.d grub_emu-util_grub_emu.d grub_emu-util_misc.d
grub_emu-util_biosdisk.d grub_emu-util_getroot.d grub_emu-util_i386_pc_misc.d
grub_emu-disk_raid.d grub_emu-disk_raid5_recover.d
grub_emu-disk_raid6_recover.d grub_emu-disk_mdraid_linux.d
grub_emu-disk_dmraid_nvidia.d grub_emu-disk_lvm.d grub_emu-grub_emu_init.d
-grub-emu: $(grub_emu_DEPENDENCIES) grub_emu-commands_boot.o
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_halt.o grub_emu-commands_reboot.o
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o
grub_emu-fs_afs.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-util_console.o
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
- $(CC) -o $@ grub_emu-commands_boot.o grub_emu-commands_cat.o
grub_emu-commands_cmp.o grub_emu-commands_configfile.o grub_emu-commands_echo.o
grub_emu-commands_help.o grub_emu-commands_terminal.o grub_emu-commands_ls.o
grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_halt.o grub_emu-commands_reboot.o
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o
grub_emu-fs_afs.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-util_console.o
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o $(LDFLAGS)
$(grub_emu_LDFLAGS)
+grub-emu: $(grub_emu_DEPENDENCIES) grub_emu-commands_boot.o
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_halt.o grub_emu-commands_reboot.o
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o
grub_emu-fs_afs.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-util_console.o
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o
grub_emu-disk_raid.o grub_emu-disk_raid5_recover.o
grub_emu-disk_raid6_recover.o grub_emu-disk_mdraid_linux.o
grub_emu-disk_dmraid_nvidia.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
+ $(CC) -o $@ grub_emu-commands_boot.o grub_emu-commands_cat.o
grub_emu-commands_cmp.o grub_emu-commands_configfile.o grub_emu-commands_echo.o
grub_emu-commands_help.o grub_emu-commands_terminal.o grub_emu-commands_ls.o
grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_halt.o grub_emu-commands_reboot.o
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o
grub_emu-fs_afs.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-util_console.o
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o
grub_emu-disk_raid.o grub_emu-disk_raid5_recover.o
grub_emu-disk_raid6_recover.o grub_emu-disk_mdraid_linux.o
grub_emu-disk_dmraid_nvidia.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
$(LDFLAGS) $(grub_emu_LDFLAGS)
grub_emu-commands_boot.o: commands/boot.c $(commands/boot.c_DEPENDENCIES)
$(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS)
-DGRUB_UTIL=1 $(grub_emu_CFLAGS) -MD -c -o $@ $<
@@ -548,6 +549,22 @@
$(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
-include grub_emu-disk_raid.d
+grub_emu-disk_raid5_recover.o: disk/raid5_recover.c
$(disk/raid5_recover.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-disk_raid5_recover.d
+
+grub_emu-disk_raid6_recover.o: disk/raid6_recover.c
$(disk/raid6_recover.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-disk_raid6_recover.d
+
+grub_emu-disk_mdraid_linux.o: disk/mdraid_linux.c
$(disk/mdraid_linux.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-disk_mdraid_linux.d
+
+grub_emu-disk_dmraid_nvidia.o: disk/dmraid_nvidia.c
$(disk/dmraid_nvidia.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-disk_dmraid_nvidia.d
+
grub_emu-disk_lvm.o: disk/lvm.c $(disk/lvm.c_DEPENDENCIES)
$(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
-include grub_emu-disk_lvm.d
Modified: trunk/grub2/conf/i386-ieee1275.rmk
===================================================================
--- trunk/grub2/conf/i386-ieee1275.rmk 2008-08-23 14:20:45 UTC (rev 1827)
+++ trunk/grub2/conf/i386-ieee1275.rmk 2008-08-23 14:51:19 UTC (rev 1828)
@@ -83,7 +83,8 @@
util/biosdisk.c util/getroot.c \
util/i386/pc/misc.c \
\
- disk/raid.c disk/lvm.c \
+ disk/raid.c disk/raid5_recover.c disk/raid6_recover.c \
+ disk/mdraid_linux.c disk/dmraid_nvidia.c disk/lvm.c \
grub_emu_init.c
grub_emu_LDFLAGS = $(LIBCURSES)
Modified: trunk/grub2/conf/i386-pc.mk
===================================================================
--- trunk/grub2/conf/i386-pc.mk 2008-08-23 14:20:45 UTC (rev 1827)
+++ trunk/grub2/conf/i386-pc.mk 2008-08-23 14:51:19 UTC (rev 1828)
@@ -326,14 +326,14 @@
\
partmap/pc.c partmap/gpt.c \
\
- disk/raid.c disk/lvm.c \
+ disk/raid.c disk/mdraid_linux.c disk/lvm.c \
util/raid.c util/lvm.c \
grub_setup_init.c
-CLEANFILES += grub-setup$(EXEEXT) grub_setup-util_i386_pc_grub_setup.o
grub_setup-util_biosdisk.o grub_setup-util_misc.o grub_setup-util_getroot.o
grub_setup-kern_device.o grub_setup-kern_disk.o grub_setup-kern_err.o
grub_setup-kern_misc.o grub_setup-kern_parser.o grub_setup-kern_partition.o
grub_setup-kern_file.o grub_setup-kern_fs.o grub_setup-kern_env.o
grub_setup-fs_fshelp.o grub_setup-fs_affs.o grub_setup-fs_cpio.o
grub_setup-fs_ext2.o grub_setup-fs_fat.o grub_setup-fs_hfs.o
grub_setup-fs_hfsplus.o grub_setup-fs_iso9660.o grub_setup-fs_udf.o
grub_setup-fs_jfs.o grub_setup-fs_minix.o grub_setup-fs_ntfs.o
grub_setup-fs_ntfscomp.o grub_setup-fs_reiserfs.o grub_setup-fs_sfs.o
grub_setup-fs_ufs.o grub_setup-fs_xfs.o grub_setup-fs_afs.o
grub_setup-partmap_pc.o grub_setup-partmap_gpt.o grub_setup-disk_raid.o
grub_setup-disk_lvm.o grub_setup-util_raid.o grub_setup-util_lvm.o
grub_setup-grub_setup_init.o
-MOSTLYCLEANFILES += grub_setup-util_i386_pc_grub_setup.d
grub_setup-util_biosdisk.d grub_setup-util_misc.d grub_setup-util_getroot.d
grub_setup-kern_device.d grub_setup-kern_disk.d grub_setup-kern_err.d
grub_setup-kern_misc.d grub_setup-kern_parser.d grub_setup-kern_partition.d
grub_setup-kern_file.d grub_setup-kern_fs.d grub_setup-kern_env.d
grub_setup-fs_fshelp.d grub_setup-fs_affs.d grub_setup-fs_cpio.d
grub_setup-fs_ext2.d grub_setup-fs_fat.d grub_setup-fs_hfs.d
grub_setup-fs_hfsplus.d grub_setup-fs_iso9660.d grub_setup-fs_udf.d
grub_setup-fs_jfs.d grub_setup-fs_minix.d grub_setup-fs_ntfs.d
grub_setup-fs_ntfscomp.d grub_setup-fs_reiserfs.d grub_setup-fs_sfs.d
grub_setup-fs_ufs.d grub_setup-fs_xfs.d grub_setup-fs_afs.d
grub_setup-partmap_pc.d grub_setup-partmap_gpt.d grub_setup-disk_raid.d
grub_setup-disk_lvm.d grub_setup-util_raid.d grub_setup-util_lvm.d
grub_setup-grub_setup_init.d
+CLEANFILES += grub-setup$(EXEEXT) grub_setup-util_i386_pc_grub_setup.o
grub_setup-util_biosdisk.o grub_setup-util_misc.o grub_setup-util_getroot.o
grub_setup-kern_device.o grub_setup-kern_disk.o grub_setup-kern_err.o
grub_setup-kern_misc.o grub_setup-kern_parser.o grub_setup-kern_partition.o
grub_setup-kern_file.o grub_setup-kern_fs.o grub_setup-kern_env.o
grub_setup-fs_fshelp.o grub_setup-fs_affs.o grub_setup-fs_cpio.o
grub_setup-fs_ext2.o grub_setup-fs_fat.o grub_setup-fs_hfs.o
grub_setup-fs_hfsplus.o grub_setup-fs_iso9660.o grub_setup-fs_udf.o
grub_setup-fs_jfs.o grub_setup-fs_minix.o grub_setup-fs_ntfs.o
grub_setup-fs_ntfscomp.o grub_setup-fs_reiserfs.o grub_setup-fs_sfs.o
grub_setup-fs_ufs.o grub_setup-fs_xfs.o grub_setup-fs_afs.o
grub_setup-partmap_pc.o grub_setup-partmap_gpt.o grub_setup-disk_raid.o
grub_setup-disk_mdraid_linux.o grub_setup-disk_lvm.o grub_setup-util_raid.o
grub_setup-util_lvm.o grub_setup-grub_setup_init.o
+MOSTLYCLEANFILES += grub_setup-util_i386_pc_grub_setup.d
grub_setup-util_biosdisk.d grub_setup-util_misc.d grub_setup-util_getroot.d
grub_setup-kern_device.d grub_setup-kern_disk.d grub_setup-kern_err.d
grub_setup-kern_misc.d grub_setup-kern_parser.d grub_setup-kern_partition.d
grub_setup-kern_file.d grub_setup-kern_fs.d grub_setup-kern_env.d
grub_setup-fs_fshelp.d grub_setup-fs_affs.d grub_setup-fs_cpio.d
grub_setup-fs_ext2.d grub_setup-fs_fat.d grub_setup-fs_hfs.d
grub_setup-fs_hfsplus.d grub_setup-fs_iso9660.d grub_setup-fs_udf.d
grub_setup-fs_jfs.d grub_setup-fs_minix.d grub_setup-fs_ntfs.d
grub_setup-fs_ntfscomp.d grub_setup-fs_reiserfs.d grub_setup-fs_sfs.d
grub_setup-fs_ufs.d grub_setup-fs_xfs.d grub_setup-fs_afs.d
grub_setup-partmap_pc.d grub_setup-partmap_gpt.d grub_setup-disk_raid.d
grub_setup-disk_mdraid_linux.d grub_setup-disk_lvm.d grub_setup-util_raid.d
grub_setup-util_lvm.d grub_setup-grub_setup_init.d
-grub-setup: $(grub_setup_DEPENDENCIES) grub_setup-util_i386_pc_grub_setup.o
grub_setup-util_biosdisk.o grub_setup-util_misc.o grub_setup-util_getroot.o
grub_setup-kern_device.o grub_setup-kern_disk.o grub_setup-kern_err.o
grub_setup-kern_misc.o grub_setup-kern_parser.o grub_setup-kern_partition.o
grub_setup-kern_file.o grub_setup-kern_fs.o grub_setup-kern_env.o
grub_setup-fs_fshelp.o grub_setup-fs_affs.o grub_setup-fs_cpio.o
grub_setup-fs_ext2.o grub_setup-fs_fat.o grub_setup-fs_hfs.o
grub_setup-fs_hfsplus.o grub_setup-fs_iso9660.o grub_setup-fs_udf.o
grub_setup-fs_jfs.o grub_setup-fs_minix.o grub_setup-fs_ntfs.o
grub_setup-fs_ntfscomp.o grub_setup-fs_reiserfs.o grub_setup-fs_sfs.o
grub_setup-fs_ufs.o grub_setup-fs_xfs.o grub_setup-fs_afs.o
grub_setup-partmap_pc.o grub_setup-partmap_gpt.o grub_setup-disk_raid.o
grub_setup-disk_lvm.o grub_setup-util_raid.o grub_setup-util_lvm.o
grub_setup-grub_setup_init.o
- $(CC) -o $@ grub_setup-util_i386_pc_grub_setup.o
grub_setup-util_biosdisk.o grub_setup-util_misc.o grub_setup-util_getroot.o
grub_setup-kern_device.o grub_setup-kern_disk.o grub_setup-kern_err.o
grub_setup-kern_misc.o grub_setup-kern_parser.o grub_setup-kern_partition.o
grub_setup-kern_file.o grub_setup-kern_fs.o grub_setup-kern_env.o
grub_setup-fs_fshelp.o grub_setup-fs_affs.o grub_setup-fs_cpio.o
grub_setup-fs_ext2.o grub_setup-fs_fat.o grub_setup-fs_hfs.o
grub_setup-fs_hfsplus.o grub_setup-fs_iso9660.o grub_setup-fs_udf.o
grub_setup-fs_jfs.o grub_setup-fs_minix.o grub_setup-fs_ntfs.o
grub_setup-fs_ntfscomp.o grub_setup-fs_reiserfs.o grub_setup-fs_sfs.o
grub_setup-fs_ufs.o grub_setup-fs_xfs.o grub_setup-fs_afs.o
grub_setup-partmap_pc.o grub_setup-partmap_gpt.o grub_setup-disk_raid.o
grub_setup-disk_lvm.o grub_setup-util_raid.o grub_setup-util_lvm.o
grub_setup-grub_setup_init.o $(LDFLAGS) $(grub_setup_LDFLAGS)
+grub-setup: $(grub_setup_DEPENDENCIES) grub_setup-util_i386_pc_grub_setup.o
grub_setup-util_biosdisk.o grub_setup-util_misc.o grub_setup-util_getroot.o
grub_setup-kern_device.o grub_setup-kern_disk.o grub_setup-kern_err.o
grub_setup-kern_misc.o grub_setup-kern_parser.o grub_setup-kern_partition.o
grub_setup-kern_file.o grub_setup-kern_fs.o grub_setup-kern_env.o
grub_setup-fs_fshelp.o grub_setup-fs_affs.o grub_setup-fs_cpio.o
grub_setup-fs_ext2.o grub_setup-fs_fat.o grub_setup-fs_hfs.o
grub_setup-fs_hfsplus.o grub_setup-fs_iso9660.o grub_setup-fs_udf.o
grub_setup-fs_jfs.o grub_setup-fs_minix.o grub_setup-fs_ntfs.o
grub_setup-fs_ntfscomp.o grub_setup-fs_reiserfs.o grub_setup-fs_sfs.o
grub_setup-fs_ufs.o grub_setup-fs_xfs.o grub_setup-fs_afs.o
grub_setup-partmap_pc.o grub_setup-partmap_gpt.o grub_setup-disk_raid.o
grub_setup-disk_mdraid_linux.o grub_setup-disk_lvm.o grub_setup-util_raid.o
grub_setup-util_lvm.o grub_setup-grub_setup_init.o
+ $(CC) -o $@ grub_setup-util_i386_pc_grub_setup.o
grub_setup-util_biosdisk.o grub_setup-util_misc.o grub_setup-util_getroot.o
grub_setup-kern_device.o grub_setup-kern_disk.o grub_setup-kern_err.o
grub_setup-kern_misc.o grub_setup-kern_parser.o grub_setup-kern_partition.o
grub_setup-kern_file.o grub_setup-kern_fs.o grub_setup-kern_env.o
grub_setup-fs_fshelp.o grub_setup-fs_affs.o grub_setup-fs_cpio.o
grub_setup-fs_ext2.o grub_setup-fs_fat.o grub_setup-fs_hfs.o
grub_setup-fs_hfsplus.o grub_setup-fs_iso9660.o grub_setup-fs_udf.o
grub_setup-fs_jfs.o grub_setup-fs_minix.o grub_setup-fs_ntfs.o
grub_setup-fs_ntfscomp.o grub_setup-fs_reiserfs.o grub_setup-fs_sfs.o
grub_setup-fs_ufs.o grub_setup-fs_xfs.o grub_setup-fs_afs.o
grub_setup-partmap_pc.o grub_setup-partmap_gpt.o grub_setup-disk_raid.o
grub_setup-disk_mdraid_linux.o grub_setup-disk_lvm.o grub_setup-util_raid.o
grub_setup-util_lvm.o grub_setup-grub_setup_init.o $(LDFLAGS)
$(grub_setup_LDFLAGS)
grub_setup-util_i386_pc_grub_setup.o: util/i386/pc/grub-setup.c
$(util/i386/pc/grub-setup.c_DEPENDENCIES)
$(CC) -Iutil/i386/pc -I$(srcdir)/util/i386/pc $(CPPFLAGS) $(CFLAGS)
-DGRUB_UTIL=1 $(grub_setup_CFLAGS) -MD -c -o $@ $<
@@ -471,6 +471,10 @@
$(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_setup_CFLAGS) -MD -c -o $@ $<
-include grub_setup-disk_raid.d
+grub_setup-disk_mdraid_linux.o: disk/mdraid_linux.c
$(disk/mdraid_linux.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_setup_CFLAGS) -MD -c -o $@ $<
+-include grub_setup-disk_mdraid_linux.d
+
grub_setup-disk_lvm.o: disk/lvm.c $(disk/lvm.c_DEPENDENCIES)
$(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_setup_CFLAGS) -MD -c -o $@ $<
-include grub_setup-disk_lvm.d
@@ -542,13 +546,14 @@
util/biosdisk.c util/getroot.c \
util/i386/pc/misc.c \
\
- disk/raid.c disk/lvm.c \
+ disk/raid.c disk/raid5_recover.c disk/raid6_recover.c \
+ disk/mdraid_linux.c disk/dmraid_nvidia.c disk/lvm.c \
grub_emu_init.c
-CLEANFILES += grub-emu$(EXEEXT) grub_emu-commands_boot.o
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_i386_pc_halt.o
grub_emu-commands_reboot.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o
grub_emu-disk_loopback.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o
grub_emu-normal_color.o grub_emu-normal_menu.o grub_emu-normal_menu_entry.o
grub_emu-normal_misc.o grub_emu-normal_script.o grub_emu-partmap_amiga.o
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-fs_affs.o
grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o
grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o
grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o
grub_emu-fs_afs.o grub_emu-util_console.o grub_emu-util_hostfs.o
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o
grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
-MOSTLYCLEANFILES += grub_emu-commands_boot.d grub_emu-commands_cat.d
grub_emu-commands_cmp.d grub_emu-commands_configfile.d grub_emu-commands_echo.d
grub_emu-commands_help.d grub_emu-commands_terminal.d grub_emu-commands_ls.d
grub_emu-commands_test.d grub_emu-commands_search.d
grub_emu-commands_blocklist.d grub_emu-commands_hexdump.d
grub_emu-lib_hexdump.d grub_emu-commands_i386_pc_halt.d
grub_emu-commands_reboot.d grub_emu-commands_i386_cpuid.d grub_emu-disk_host.d
grub_emu-disk_loopback.d grub_emu-fs_fshelp.d grub_emu-io_gzio.d
grub_emu-kern_device.d grub_emu-kern_disk.d grub_emu-kern_dl.d
grub_emu-kern_elf.d grub_emu-kern_env.d grub_emu-kern_err.d
grub_emu-normal_execute.d grub_emu-kern_file.d grub_emu-kern_fs.d
grub_emu-normal_lexer.d grub_emu-kern_loader.d grub_emu-kern_main.d
grub_emu-kern_misc.d grub_emu-kern_parser.d grub_emu-grub_script_tab.d
grub_emu-kern_partition.d grub_emu-kern_rescue.d grub_emu-kern_term.d
grub_emu-normal_arg.d grub_emu-normal_cmdline.d grub_emu-normal_command.d
grub_emu-normal_function.d grub_emu-normal_completion.d grub_emu-normal_main.d
grub_emu-normal_color.d grub_emu-normal_menu.d grub_emu-normal_menu_entry.d
grub_emu-normal_misc.d grub_emu-normal_script.d grub_emu-partmap_amiga.d
grub_emu-partmap_apple.d grub_emu-partmap_pc.d grub_emu-partmap_sun.d
grub_emu-partmap_acorn.d grub_emu-partmap_gpt.d grub_emu-fs_affs.d
grub_emu-fs_cpio.d grub_emu-fs_ext2.d grub_emu-fs_fat.d grub_emu-fs_hfs.d
grub_emu-fs_hfsplus.d grub_emu-fs_iso9660.d grub_emu-fs_udf.d grub_emu-fs_jfs.d
grub_emu-fs_minix.d grub_emu-fs_ntfs.d grub_emu-fs_ntfscomp.d
grub_emu-fs_reiserfs.d grub_emu-fs_sfs.d grub_emu-fs_ufs.d grub_emu-fs_xfs.d
grub_emu-fs_afs.d grub_emu-util_console.d grub_emu-util_hostfs.d
grub_emu-util_grub_emu.d grub_emu-util_misc.d grub_emu-util_biosdisk.d
grub_emu-util_getroot.d grub_emu-util_i386_pc_misc.d grub_emu-disk_raid.d
grub_emu-disk_lvm.d grub_emu-grub_emu_init.d
+CLEANFILES += grub-emu$(EXEEXT) grub_emu-commands_boot.o
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_i386_pc_halt.o
grub_emu-commands_reboot.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o
grub_emu-disk_loopback.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o
grub_emu-normal_color.o grub_emu-normal_menu.o grub_emu-normal_menu_entry.o
grub_emu-normal_misc.o grub_emu-normal_script.o grub_emu-partmap_amiga.o
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-fs_affs.o
grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o
grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o
grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o
grub_emu-fs_afs.o grub_emu-util_console.o grub_emu-util_hostfs.o
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o
grub_emu-disk_raid5_recover.o grub_emu-disk_raid6_recover.o
grub_emu-disk_mdraid_linux.o grub_emu-disk_dmraid_nvidia.o grub_emu-disk_lvm.o
grub_emu-grub_emu_init.o
+MOSTLYCLEANFILES += grub_emu-commands_boot.d grub_emu-commands_cat.d
grub_emu-commands_cmp.d grub_emu-commands_configfile.d grub_emu-commands_echo.d
grub_emu-commands_help.d grub_emu-commands_terminal.d grub_emu-commands_ls.d
grub_emu-commands_test.d grub_emu-commands_search.d
grub_emu-commands_blocklist.d grub_emu-commands_hexdump.d
grub_emu-lib_hexdump.d grub_emu-commands_i386_pc_halt.d
grub_emu-commands_reboot.d grub_emu-commands_i386_cpuid.d grub_emu-disk_host.d
grub_emu-disk_loopback.d grub_emu-fs_fshelp.d grub_emu-io_gzio.d
grub_emu-kern_device.d grub_emu-kern_disk.d grub_emu-kern_dl.d
grub_emu-kern_elf.d grub_emu-kern_env.d grub_emu-kern_err.d
grub_emu-normal_execute.d grub_emu-kern_file.d grub_emu-kern_fs.d
grub_emu-normal_lexer.d grub_emu-kern_loader.d grub_emu-kern_main.d
grub_emu-kern_misc.d grub_emu-kern_parser.d grub_emu-grub_script_tab.d
grub_emu-kern_partition.d grub_emu-kern_rescue.d grub_emu-kern_term.d
grub_emu-normal_arg.d grub_emu-normal_cmdline.d grub_emu-normal_command.d
grub_emu-normal_function.d grub_emu-normal_completion.d grub_emu-normal_main.d
grub_emu-normal_color.d grub_emu-normal_menu.d grub_emu-normal_menu_entry.d
grub_emu-normal_misc.d grub_emu-normal_script.d grub_emu-partmap_amiga.d
grub_emu-partmap_apple.d grub_emu-partmap_pc.d grub_emu-partmap_sun.d
grub_emu-partmap_acorn.d grub_emu-partmap_gpt.d grub_emu-fs_affs.d
grub_emu-fs_cpio.d grub_emu-fs_ext2.d grub_emu-fs_fat.d grub_emu-fs_hfs.d
grub_emu-fs_hfsplus.d grub_emu-fs_iso9660.d grub_emu-fs_udf.d grub_emu-fs_jfs.d
grub_emu-fs_minix.d grub_emu-fs_ntfs.d grub_emu-fs_ntfscomp.d
grub_emu-fs_reiserfs.d grub_emu-fs_sfs.d grub_emu-fs_ufs.d grub_emu-fs_xfs.d
grub_emu-fs_afs.d grub_emu-util_console.d grub_emu-util_hostfs.d
grub_emu-util_grub_emu.d grub_emu-util_misc.d grub_emu-util_biosdisk.d
grub_emu-util_getroot.d grub_emu-util_i386_pc_misc.d grub_emu-disk_raid.d
grub_emu-disk_raid5_recover.d grub_emu-disk_raid6_recover.d
grub_emu-disk_mdraid_linux.d grub_emu-disk_dmraid_nvidia.d grub_emu-disk_lvm.d
grub_emu-grub_emu_init.d
-grub-emu: $(grub_emu_DEPENDENCIES) grub_emu-commands_boot.o
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_i386_pc_halt.o
grub_emu-commands_reboot.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o
grub_emu-disk_loopback.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o
grub_emu-normal_color.o grub_emu-normal_menu.o grub_emu-normal_menu_entry.o
grub_emu-normal_misc.o grub_emu-normal_script.o grub_emu-partmap_amiga.o
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-fs_affs.o
grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o
grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o
grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o
grub_emu-fs_afs.o grub_emu-util_console.o grub_emu-util_hostfs.o
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o
grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
- $(CC) -o $@ grub_emu-commands_boot.o grub_emu-commands_cat.o
grub_emu-commands_cmp.o grub_emu-commands_configfile.o grub_emu-commands_echo.o
grub_emu-commands_help.o grub_emu-commands_terminal.o grub_emu-commands_ls.o
grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_i386_pc_halt.o
grub_emu-commands_reboot.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o
grub_emu-disk_loopback.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o
grub_emu-normal_color.o grub_emu-normal_menu.o grub_emu-normal_menu_entry.o
grub_emu-normal_misc.o grub_emu-normal_script.o grub_emu-partmap_amiga.o
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-fs_affs.o
grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o
grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o
grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o
grub_emu-fs_afs.o grub_emu-util_console.o grub_emu-util_hostfs.o
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o
grub_emu-disk_lvm.o grub_emu-grub_emu_init.o $(LDFLAGS) $(grub_emu_LDFLAGS)
+grub-emu: $(grub_emu_DEPENDENCIES) grub_emu-commands_boot.o
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_i386_pc_halt.o
grub_emu-commands_reboot.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o
grub_emu-disk_loopback.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o
grub_emu-normal_color.o grub_emu-normal_menu.o grub_emu-normal_menu_entry.o
grub_emu-normal_misc.o grub_emu-normal_script.o grub_emu-partmap_amiga.o
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-fs_affs.o
grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o
grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o
grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o
grub_emu-fs_afs.o grub_emu-util_console.o grub_emu-util_hostfs.o
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o
grub_emu-disk_raid5_recover.o grub_emu-disk_raid6_recover.o
grub_emu-disk_mdraid_linux.o grub_emu-disk_dmraid_nvidia.o grub_emu-disk_lvm.o
grub_emu-grub_emu_init.o
+ $(CC) -o $@ grub_emu-commands_boot.o grub_emu-commands_cat.o
grub_emu-commands_cmp.o grub_emu-commands_configfile.o grub_emu-commands_echo.o
grub_emu-commands_help.o grub_emu-commands_terminal.o grub_emu-commands_ls.o
grub_emu-commands_test.o grub_emu-commands_search.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_i386_pc_halt.o
grub_emu-commands_reboot.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o
grub_emu-disk_loopback.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o
grub_emu-normal_color.o grub_emu-normal_menu.o grub_emu-normal_menu_entry.o
grub_emu-normal_misc.o grub_emu-normal_script.o grub_emu-partmap_amiga.o
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-fs_affs.o
grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o
grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o
grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o
grub_emu-fs_afs.o grub_emu-util_console.o grub_emu-util_hostfs.o
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o
grub_emu-disk_raid5_recover.o grub_emu-disk_raid6_recover.o
grub_emu-disk_mdraid_linux.o grub_emu-disk_dmraid_nvidia.o grub_emu-disk_lvm.o
grub_emu-grub_emu_init.o $(LDFLAGS) $(grub_emu_LDFLAGS)
grub_emu-commands_boot.o: commands/boot.c $(commands/boot.c_DEPENDENCIES)
$(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS)
-DGRUB_UTIL=1 $(grub_emu_CFLAGS) -MD -c -o $@ $<
@@ -870,6 +875,22 @@
$(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
-include grub_emu-disk_raid.d
+grub_emu-disk_raid5_recover.o: disk/raid5_recover.c
$(disk/raid5_recover.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-disk_raid5_recover.d
+
+grub_emu-disk_raid6_recover.o: disk/raid6_recover.c
$(disk/raid6_recover.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-disk_raid6_recover.d
+
+grub_emu-disk_mdraid_linux.o: disk/mdraid_linux.c
$(disk/mdraid_linux.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-disk_mdraid_linux.d
+
+grub_emu-disk_dmraid_nvidia.o: disk/dmraid_nvidia.c
$(disk/dmraid_nvidia.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-disk_dmraid_nvidia.d
+
grub_emu-disk_lvm.o: disk/lvm.c $(disk/lvm.c_DEPENDENCIES)
$(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
-include grub_emu-disk_lvm.d
Modified: trunk/grub2/conf/i386-pc.rmk
===================================================================
--- trunk/grub2/conf/i386-pc.rmk 2008-08-23 14:20:45 UTC (rev 1827)
+++ trunk/grub2/conf/i386-pc.rmk 2008-08-23 14:51:19 UTC (rev 1828)
@@ -103,7 +103,7 @@
\
partmap/pc.c partmap/gpt.c \
\
- disk/raid.c disk/lvm.c \
+ disk/raid.c disk/mdraid_linux.c disk/lvm.c \
util/raid.c util/lvm.c \
grub_setup_init.c
@@ -143,7 +143,8 @@
util/biosdisk.c util/getroot.c \
util/i386/pc/misc.c \
\
- disk/raid.c disk/lvm.c \
+ disk/raid.c disk/raid5_recover.c disk/raid6_recover.c \
+ disk/mdraid_linux.c disk/dmraid_nvidia.c disk/lvm.c \
grub_emu_init.c
grub_emu_LDFLAGS = $(LIBCURSES)
Modified: trunk/grub2/conf/powerpc-ieee1275.mk
===================================================================
--- trunk/grub2/conf/powerpc-ieee1275.mk 2008-08-23 14:20:45 UTC (rev
1827)
+++ trunk/grub2/conf/powerpc-ieee1275.mk 2008-08-23 14:51:19 UTC (rev
1828)
@@ -86,13 +86,14 @@
util/biosdisk.c util/getroot.c \
util/powerpc/ieee1275/misc.c \
\
- disk/raid.c disk/lvm.c \
+ disk/raid.c disk/raid5_recover.c disk/raid6_recover.c \
+ disk/mdraid_linux.c disk/dmraid_nvidia.c disk/lvm.c \
grub_script.tab.c grub_emu_init.c
-CLEANFILES += grub-emu$(EXEEXT) grub_emu-commands_boot.o
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o
grub_emu-commands_help.o grub_emu-commands_search.o
grub_emu-commands_terminal.o grub_emu-commands_test.o grub_emu-commands_ls.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_halt.o grub_emu-commands_reboot.o
grub_emu-disk_loopback.o grub_emu-fs_affs.o grub_emu-fs_cpio.o
grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o
grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o
grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o
grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o
grub_emu-io_gzio.o grub_emu-kern_device.o grub_emu-kern_disk.o
grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o
grub_emu-kern_file.o grub_emu-kern_fs.o grub_emu-kern_loader.o
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o
grub_emu-fs_fshelp.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o
grub_emu-normal_command.o grub_emu-normal_completion.o
grub_emu-normal_execute.o grub_emu-normal_function.o grub_emu-normal_lexer.o
grub_emu-normal_main.o grub_emu-normal_menu.o grub_emu-normal_menu_entry.o
grub_emu-normal_misc.o grub_emu-normal_script.o grub_emu-normal_color.o
grub_emu-partmap_amiga.o grub_emu-partmap_apple.o grub_emu-partmap_pc.o
grub_emu-partmap_sun.o grub_emu-partmap_acorn.o grub_emu-util_console.o
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o
grub_emu-util_biosdisk.o grub_emu-util_getroot.o
grub_emu-util_powerpc_ieee1275_misc.o grub_emu-disk_raid.o grub_emu-disk_lvm.o
grub_emu-grub_script_tab.o grub_emu-grub_emu_init.o
-MOSTLYCLEANFILES += grub_emu-commands_boot.d grub_emu-commands_cat.d
grub_emu-commands_cmp.d grub_emu-commands_configfile.d grub_emu-commands_help.d
grub_emu-commands_search.d grub_emu-commands_terminal.d
grub_emu-commands_test.d grub_emu-commands_ls.d grub_emu-commands_blocklist.d
grub_emu-commands_hexdump.d grub_emu-lib_hexdump.d grub_emu-commands_halt.d
grub_emu-commands_reboot.d grub_emu-disk_loopback.d grub_emu-fs_affs.d
grub_emu-fs_cpio.d grub_emu-fs_ext2.d grub_emu-fs_fat.d grub_emu-fs_hfs.d
grub_emu-fs_hfsplus.d grub_emu-fs_iso9660.d grub_emu-fs_udf.d grub_emu-fs_jfs.d
grub_emu-fs_minix.d grub_emu-fs_ntfs.d grub_emu-fs_ntfscomp.d
grub_emu-fs_reiserfs.d grub_emu-fs_sfs.d grub_emu-fs_ufs.d grub_emu-fs_xfs.d
grub_emu-fs_afs.d grub_emu-io_gzio.d grub_emu-kern_device.d
grub_emu-kern_disk.d grub_emu-kern_dl.d grub_emu-kern_elf.d grub_emu-kern_env.d
grub_emu-kern_err.d grub_emu-kern_file.d grub_emu-kern_fs.d
grub_emu-kern_loader.d grub_emu-kern_main.d grub_emu-kern_misc.d
grub_emu-kern_parser.d grub_emu-kern_partition.d grub_emu-kern_rescue.d
grub_emu-kern_term.d grub_emu-fs_fshelp.d grub_emu-normal_arg.d
grub_emu-normal_cmdline.d grub_emu-normal_command.d
grub_emu-normal_completion.d grub_emu-normal_execute.d
grub_emu-normal_function.d grub_emu-normal_lexer.d grub_emu-normal_main.d
grub_emu-normal_menu.d grub_emu-normal_menu_entry.d grub_emu-normal_misc.d
grub_emu-normal_script.d grub_emu-normal_color.d grub_emu-partmap_amiga.d
grub_emu-partmap_apple.d grub_emu-partmap_pc.d grub_emu-partmap_sun.d
grub_emu-partmap_acorn.d grub_emu-util_console.d grub_emu-util_hostfs.d
grub_emu-util_grub_emu.d grub_emu-util_misc.d grub_emu-util_biosdisk.d
grub_emu-util_getroot.d grub_emu-util_powerpc_ieee1275_misc.d
grub_emu-disk_raid.d grub_emu-disk_lvm.d grub_emu-grub_script_tab.d
grub_emu-grub_emu_init.d
+CLEANFILES += grub-emu$(EXEEXT) grub_emu-commands_boot.o
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o
grub_emu-commands_help.o grub_emu-commands_search.o
grub_emu-commands_terminal.o grub_emu-commands_test.o grub_emu-commands_ls.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_halt.o grub_emu-commands_reboot.o
grub_emu-disk_loopback.o grub_emu-fs_affs.o grub_emu-fs_cpio.o
grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o
grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o
grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o
grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o
grub_emu-io_gzio.o grub_emu-kern_device.o grub_emu-kern_disk.o
grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o
grub_emu-kern_file.o grub_emu-kern_fs.o grub_emu-kern_loader.o
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o
grub_emu-fs_fshelp.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o
grub_emu-normal_command.o grub_emu-normal_completion.o
grub_emu-normal_execute.o grub_emu-normal_function.o grub_emu-normal_lexer.o
grub_emu-normal_main.o grub_emu-normal_menu.o grub_emu-normal_menu_entry.o
grub_emu-normal_misc.o grub_emu-normal_script.o grub_emu-normal_color.o
grub_emu-partmap_amiga.o grub_emu-partmap_apple.o grub_emu-partmap_pc.o
grub_emu-partmap_sun.o grub_emu-partmap_acorn.o grub_emu-util_console.o
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o
grub_emu-util_biosdisk.o grub_emu-util_getroot.o
grub_emu-util_powerpc_ieee1275_misc.o grub_emu-disk_raid.o
grub_emu-disk_raid5_recover.o grub_emu-disk_raid6_recover.o
grub_emu-disk_mdraid_linux.o grub_emu-disk_dmraid_nvidia.o grub_emu-disk_lvm.o
grub_emu-grub_script_tab.o grub_emu-grub_emu_init.o
+MOSTLYCLEANFILES += grub_emu-commands_boot.d grub_emu-commands_cat.d
grub_emu-commands_cmp.d grub_emu-commands_configfile.d grub_emu-commands_help.d
grub_emu-commands_search.d grub_emu-commands_terminal.d
grub_emu-commands_test.d grub_emu-commands_ls.d grub_emu-commands_blocklist.d
grub_emu-commands_hexdump.d grub_emu-lib_hexdump.d grub_emu-commands_halt.d
grub_emu-commands_reboot.d grub_emu-disk_loopback.d grub_emu-fs_affs.d
grub_emu-fs_cpio.d grub_emu-fs_ext2.d grub_emu-fs_fat.d grub_emu-fs_hfs.d
grub_emu-fs_hfsplus.d grub_emu-fs_iso9660.d grub_emu-fs_udf.d grub_emu-fs_jfs.d
grub_emu-fs_minix.d grub_emu-fs_ntfs.d grub_emu-fs_ntfscomp.d
grub_emu-fs_reiserfs.d grub_emu-fs_sfs.d grub_emu-fs_ufs.d grub_emu-fs_xfs.d
grub_emu-fs_afs.d grub_emu-io_gzio.d grub_emu-kern_device.d
grub_emu-kern_disk.d grub_emu-kern_dl.d grub_emu-kern_elf.d grub_emu-kern_env.d
grub_emu-kern_err.d grub_emu-kern_file.d grub_emu-kern_fs.d
grub_emu-kern_loader.d grub_emu-kern_main.d grub_emu-kern_misc.d
grub_emu-kern_parser.d grub_emu-kern_partition.d grub_emu-kern_rescue.d
grub_emu-kern_term.d grub_emu-fs_fshelp.d grub_emu-normal_arg.d
grub_emu-normal_cmdline.d grub_emu-normal_command.d
grub_emu-normal_completion.d grub_emu-normal_execute.d
grub_emu-normal_function.d grub_emu-normal_lexer.d grub_emu-normal_main.d
grub_emu-normal_menu.d grub_emu-normal_menu_entry.d grub_emu-normal_misc.d
grub_emu-normal_script.d grub_emu-normal_color.d grub_emu-partmap_amiga.d
grub_emu-partmap_apple.d grub_emu-partmap_pc.d grub_emu-partmap_sun.d
grub_emu-partmap_acorn.d grub_emu-util_console.d grub_emu-util_hostfs.d
grub_emu-util_grub_emu.d grub_emu-util_misc.d grub_emu-util_biosdisk.d
grub_emu-util_getroot.d grub_emu-util_powerpc_ieee1275_misc.d
grub_emu-disk_raid.d grub_emu-disk_raid5_recover.d
grub_emu-disk_raid6_recover.d grub_emu-disk_mdraid_linux.d
grub_emu-disk_dmraid_nvidia.d grub_emu-disk_lvm.d grub_emu-grub_script_tab.d
grub_emu-grub_emu_init.d
-grub-emu: $(grub_emu_DEPENDENCIES) grub_emu-commands_boot.o
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o
grub_emu-commands_help.o grub_emu-commands_search.o
grub_emu-commands_terminal.o grub_emu-commands_test.o grub_emu-commands_ls.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_halt.o grub_emu-commands_reboot.o
grub_emu-disk_loopback.o grub_emu-fs_affs.o grub_emu-fs_cpio.o
grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o
grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o
grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o
grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o
grub_emu-io_gzio.o grub_emu-kern_device.o grub_emu-kern_disk.o
grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o
grub_emu-kern_file.o grub_emu-kern_fs.o grub_emu-kern_loader.o
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o
grub_emu-fs_fshelp.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o
grub_emu-normal_command.o grub_emu-normal_completion.o
grub_emu-normal_execute.o grub_emu-normal_function.o grub_emu-normal_lexer.o
grub_emu-normal_main.o grub_emu-normal_menu.o grub_emu-normal_menu_entry.o
grub_emu-normal_misc.o grub_emu-normal_script.o grub_emu-normal_color.o
grub_emu-partmap_amiga.o grub_emu-partmap_apple.o grub_emu-partmap_pc.o
grub_emu-partmap_sun.o grub_emu-partmap_acorn.o grub_emu-util_console.o
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o
grub_emu-util_biosdisk.o grub_emu-util_getroot.o
grub_emu-util_powerpc_ieee1275_misc.o grub_emu-disk_raid.o grub_emu-disk_lvm.o
grub_emu-grub_script_tab.o grub_emu-grub_emu_init.o
- $(CC) -o $@ grub_emu-commands_boot.o grub_emu-commands_cat.o
grub_emu-commands_cmp.o grub_emu-commands_configfile.o grub_emu-commands_help.o
grub_emu-commands_search.o grub_emu-commands_terminal.o
grub_emu-commands_test.o grub_emu-commands_ls.o grub_emu-commands_blocklist.o
grub_emu-commands_hexdump.o grub_emu-lib_hexdump.o grub_emu-commands_halt.o
grub_emu-commands_reboot.o grub_emu-disk_loopback.o grub_emu-fs_affs.o
grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o
grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o
grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o
grub_emu-fs_afs.o grub_emu-io_gzio.o grub_emu-kern_device.o
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o
grub_emu-kern_err.o grub_emu-kern_file.o grub_emu-kern_fs.o
grub_emu-kern_loader.o grub_emu-kern_main.o grub_emu-kern_misc.o
grub_emu-kern_parser.o grub_emu-kern_partition.o grub_emu-kern_rescue.o
grub_emu-kern_term.o grub_emu-fs_fshelp.o grub_emu-normal_arg.o
grub_emu-normal_cmdline.o grub_emu-normal_command.o
grub_emu-normal_completion.o grub_emu-normal_execute.o
grub_emu-normal_function.o grub_emu-normal_lexer.o grub_emu-normal_main.o
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o
grub_emu-partmap_acorn.o grub_emu-util_console.o grub_emu-util_hostfs.o
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o
grub_emu-util_getroot.o grub_emu-util_powerpc_ieee1275_misc.o
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_script_tab.o
grub_emu-grub_emu_init.o $(LDFLAGS) $(grub_emu_LDFLAGS)
+grub-emu: $(grub_emu_DEPENDENCIES) grub_emu-commands_boot.o
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o
grub_emu-commands_help.o grub_emu-commands_search.o
grub_emu-commands_terminal.o grub_emu-commands_test.o grub_emu-commands_ls.o
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o
grub_emu-lib_hexdump.o grub_emu-commands_halt.o grub_emu-commands_reboot.o
grub_emu-disk_loopback.o grub_emu-fs_affs.o grub_emu-fs_cpio.o
grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o
grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o
grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o
grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o
grub_emu-io_gzio.o grub_emu-kern_device.o grub_emu-kern_disk.o
grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o
grub_emu-kern_file.o grub_emu-kern_fs.o grub_emu-kern_loader.o
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o
grub_emu-fs_fshelp.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o
grub_emu-normal_command.o grub_emu-normal_completion.o
grub_emu-normal_execute.o grub_emu-normal_function.o grub_emu-normal_lexer.o
grub_emu-normal_main.o grub_emu-normal_menu.o grub_emu-normal_menu_entry.o
grub_emu-normal_misc.o grub_emu-normal_script.o grub_emu-normal_color.o
grub_emu-partmap_amiga.o grub_emu-partmap_apple.o grub_emu-partmap_pc.o
grub_emu-partmap_sun.o grub_emu-partmap_acorn.o grub_emu-util_console.o
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o
grub_emu-util_biosdisk.o grub_emu-util_getroot.o
grub_emu-util_powerpc_ieee1275_misc.o grub_emu-disk_raid.o
grub_emu-disk_raid5_recover.o grub_emu-disk_raid6_recover.o
grub_emu-disk_mdraid_linux.o grub_emu-disk_dmraid_nvidia.o grub_emu-disk_lvm.o
grub_emu-grub_script_tab.o grub_emu-grub_emu_init.o
+ $(CC) -o $@ grub_emu-commands_boot.o grub_emu-commands_cat.o
grub_emu-commands_cmp.o grub_emu-commands_configfile.o grub_emu-commands_help.o
grub_emu-commands_search.o grub_emu-commands_terminal.o
grub_emu-commands_test.o grub_emu-commands_ls.o grub_emu-commands_blocklist.o
grub_emu-commands_hexdump.o grub_emu-lib_hexdump.o grub_emu-commands_halt.o
grub_emu-commands_reboot.o grub_emu-disk_loopback.o grub_emu-fs_affs.o
grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o
grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o
grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o
grub_emu-fs_afs.o grub_emu-io_gzio.o grub_emu-kern_device.o
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o
grub_emu-kern_err.o grub_emu-kern_file.o grub_emu-kern_fs.o
grub_emu-kern_loader.o grub_emu-kern_main.o grub_emu-kern_misc.o
grub_emu-kern_parser.o grub_emu-kern_partition.o grub_emu-kern_rescue.o
grub_emu-kern_term.o grub_emu-fs_fshelp.o grub_emu-normal_arg.o
grub_emu-normal_cmdline.o grub_emu-normal_command.o
grub_emu-normal_completion.o grub_emu-normal_execute.o
grub_emu-normal_function.o grub_emu-normal_lexer.o grub_emu-normal_main.o
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o
grub_emu-partmap_acorn.o grub_emu-util_console.o grub_emu-util_hostfs.o
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o
grub_emu-util_getroot.o grub_emu-util_powerpc_ieee1275_misc.o
grub_emu-disk_raid.o grub_emu-disk_raid5_recover.o
grub_emu-disk_raid6_recover.o grub_emu-disk_mdraid_linux.o
grub_emu-disk_dmraid_nvidia.o grub_emu-disk_lvm.o grub_emu-grub_script_tab.o
grub_emu-grub_emu_init.o $(LDFLAGS) $(grub_emu_LDFLAGS)
grub_emu-commands_boot.o: commands/boot.c $(commands/boot.c_DEPENDENCIES)
$(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS)
-DGRUB_UTIL=1 $(grub_emu_CFLAGS) -MD -c -o $@ $<
@@ -394,6 +395,22 @@
$(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
-include grub_emu-disk_raid.d
+grub_emu-disk_raid5_recover.o: disk/raid5_recover.c
$(disk/raid5_recover.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-disk_raid5_recover.d
+
+grub_emu-disk_raid6_recover.o: disk/raid6_recover.c
$(disk/raid6_recover.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-disk_raid6_recover.d
+
+grub_emu-disk_mdraid_linux.o: disk/mdraid_linux.c
$(disk/mdraid_linux.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-disk_mdraid_linux.d
+
+grub_emu-disk_dmraid_nvidia.o: disk/dmraid_nvidia.c
$(disk/dmraid_nvidia.c_DEPENDENCIES)
+ $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-disk_dmraid_nvidia.d
+
grub_emu-disk_lvm.o: disk/lvm.c $(disk/lvm.c_DEPENDENCIES)
$(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1
$(grub_emu_CFLAGS) -MD -c -o $@ $<
-include grub_emu-disk_lvm.d
Modified: trunk/grub2/conf/powerpc-ieee1275.rmk
===================================================================
--- trunk/grub2/conf/powerpc-ieee1275.rmk 2008-08-23 14:20:45 UTC (rev
1827)
+++ trunk/grub2/conf/powerpc-ieee1275.rmk 2008-08-23 14:51:19 UTC (rev
1828)
@@ -67,7 +67,8 @@
util/biosdisk.c util/getroot.c \
util/powerpc/ieee1275/misc.c \
\
- disk/raid.c disk/lvm.c \
+ disk/raid.c disk/raid5_recover.c disk/raid6_recover.c \
+ disk/mdraid_linux.c disk/dmraid_nvidia.c disk/lvm.c \
grub_script.tab.c grub_emu_init.c
grub_emu_LDFLAGS = $(LIBCURSES)
Modified: trunk/grub2/conf/x86_64-efi.mk
===================================================================
--- trunk/grub2/conf/x86_64-efi.mk 2008-08-23 14:20:45 UTC (rev 1827)
+++ trunk/grub2/conf/x86_64-efi.mk 2008-08-23 14:51:19 UTC (rev 1828)
@@ -83,7 +83,8 @@
util/biosdisk.c util/getroot.c \
util/i386/pc/misc.c \
\
- disk/raid.c disk/lvm.c \
+ disk/raid.c disk/raid5_recover.c disk/raid6_recover.c \
+ disk/mdraid_linux.c disk/dmraid_nvidia.c disk/lvm.c \
grub_emu_init.c
grub_emu_LDFLAGS = $(LIBCURSES)
Modified: trunk/grub2/conf/x86_64-efi.rmk
===================================================================
--- trunk/grub2/conf/x86_64-efi.rmk 2008-08-23 14:20:45 UTC (rev 1827)
+++ trunk/grub2/conf/x86_64-efi.rmk 2008-08-23 14:51:19 UTC (rev 1828)
@@ -64,7 +64,8 @@
util/biosdisk.c util/getroot.c \
util/i386/pc/misc.c \
\
- disk/raid.c disk/lvm.c \
+ disk/raid.c disk/raid5_recover.c disk/raid6_recover.c \
+ disk/mdraid_linux.c disk/dmraid_nvidia.c disk/lvm.c \
grub_emu_init.c
grub_emu_LDFLAGS = $(LIBCURSES)
Added: trunk/grub2/disk/dmraid_nvidia.c
===================================================================
--- trunk/grub2/disk/dmraid_nvidia.c (rev 0)
+++ trunk/grub2/disk/dmraid_nvidia.c 2008-08-23 14:51:19 UTC (rev 1828)
@@ -0,0 +1,166 @@
+/* dmraid_nvidia.c - module to handle Nvidia fakeraid. */
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2006,2007,2008 Free Software Foundation, Inc.
+ *
+ * GRUB is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GRUB is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <grub/dl.h>
+#include <grub/disk.h>
+#include <grub/mm.h>
+#include <grub/err.h>
+#include <grub/misc.h>
+#include <grub/raid.h>
+
+#define NV_SIGNATURES 4
+
+#define NV_IDLE 0
+#define NV_SCDB_INIT_RAID 2
+#define NV_SCDB_REBUILD_RAID 3
+#define NV_SCDB_UPGRADE_RAID 4
+#define NV_SCDB_SYNC_RAID 5
+
+#define NV_LEVEL_UNKNOWN 0x00
+#define NV_LEVEL_JBOD 0xFF
+#define NV_LEVEL_0 0x80
+#define NV_LEVEL_1 0x81
+#define NV_LEVEL_3 0x83
+#define NV_LEVEL_5 0x85
+#define NV_LEVEL_10 0x8a
+#define NV_LEVEL_1_0 0x8180
+
+#define NV_ARRAY_FLAG_BOOT 1 /* BIOS use only. */
+#define NV_ARRAY_FLAG_ERROR 2 /* Degraded or offling. */
+#define NV_ARRAY_FLAG_PARITY_VALID 4 /* RAID-3/5 parity valid. */
+
+struct grub_nv_array
+{
+ grub_uint32_t version;
+ grub_uint32_t signature[NV_SIGNATURES];
+ grub_uint8_t raid_job_code;
+ grub_uint8_t stripe_width;
+ grub_uint8_t total_volumes;
+ grub_uint8_t original_width;
+ grub_uint32_t raid_level;
+ grub_uint32_t stripe_block_size;
+ grub_uint32_t stripe_block_size_bytes;
+ grub_uint32_t stripe_block_size_log2;
+ grub_uint32_t stripe_mask;
+ grub_uint32_t stripe_size;
+ grub_uint32_t stripe_size_bytes;
+ grub_uint32_t raid_job_mask;
+ grub_uint32_t original_capacity;
+ grub_uint32_t flags;
+};
+
+#define NV_ID_LEN 8
+#define NV_ID_STRING "NVIDIA"
+#define NV_VERSION 100
+
+#define NV_PRODID_LEN 16
+#define NV_PRODREV_LEN 4
+
+struct grub_nv_super
+{
+ char vendor[NV_ID_LEN]; /* 0x00 - 0x07 ID string. */
+ grub_uint32_t size; /* 0x08 - 0x0B Size of metadata in dwords. */
+ grub_uint32_t chksum; /* 0x0C - 0x0F Checksum of this struct.
*/
+ grub_uint16_t version; /* 0x10 - 0x11 NV version. */
+ grub_uint8_t unit_number; /* 0x12 Disk index in array. */
+ grub_uint8_t reserved; /* 0x13. */
+ grub_uint32_t capacity; /* 0x14 - 0x17 Array capacity in sectors. */
+ grub_uint32_t sector_size; /* 0x18 - 0x1B Sector size. */
+ char prodid[NV_PRODID_LEN]; /* 0x1C - 0x2B Array product ID. */
+ char prodrev[NV_PRODREV_LEN]; /* 0x2C - 0x2F Array product revision */
+ grub_uint32_t unit_flags; /* 0x30 - 0x33 Flags for this disk */
+ struct grub_nv_array array; /* Array information */
+} __attribute__ ((packed));
+
+static grub_err_t
+grub_dmraid_nv_detect (grub_disk_t disk, struct grub_raid_array *array)
+{
+ grub_disk_addr_t sector;
+ struct grub_nv_super sb;
+ grub_uint32_t *uuid;
+
+ if (disk->partition)
+ return grub_error (GRUB_ERR_OUT_OF_RANGE, "skip partition");
+
+ sector = grub_disk_get_size (disk) - 2;
+
+ if (grub_disk_read (disk, sector, 0, sizeof (sb), (char *) &sb))
+ return grub_errno;
+
+ if (grub_memcmp (sb.vendor, NV_ID_STRING, 6))
+ return grub_error (GRUB_ERR_OUT_OF_RANGE, "not raid");
+
+ if (sb.version != NV_VERSION)
+ return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
+ "Unknown version: %d.%d", sb.version);
+
+ switch (sb.array.raid_level)
+ {
+ case NV_LEVEL_0:
+ array->level = 0;
+ array->disk_size = sb.capacity / sb.array.total_volumes;
+ break;
+
+ case NV_LEVEL_1:
+ array->level = 1;
+ array->disk_size = sb.capacity;
+ break;
+
+ case NV_LEVEL_5:
+ array->level = 5;
+ array->layout = GRUB_RAID_LAYOUT_LEFT_ASYMMETRIC;
+ array->disk_size = sb.capacity / (sb.array.total_volumes - 1);
+ break;
+
+ default:
+ return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
+ "Unsupported RAID level: %d", sb.array.raid_level);
+ }
+
+ array->number = 0;
+ array->total_devs = sb.array.total_volumes;
+ array->chunk_size = sb.array.stripe_block_size;
+ array->index = sb.unit_number;
+ array->uuid_len = sizeof (sb.array.signature);
+ array->uuid = grub_malloc (sizeof (sb.array.signature));
+ if (! array->uuid)
+ return grub_errno;
+
+ grub_memcpy (array->uuid, (char *) &sb.array.signature,
+ sizeof (sb.array.signature));
+
+ return 0;
+}
+
+static struct grub_raid grub_dmraid_nv_dev =
+{
+ .name = "dmraid_nv",
+ .detect = grub_dmraid_nv_detect,
+ .next = 0
+};
+
+GRUB_MOD_INIT(dm_nv)
+{
+ grub_raid_register (&grub_dmraid_nv_dev);
+}
+
+GRUB_MOD_FINI(dm_nv)
+{
+ grub_raid_register (&grub_dmraid_nv_dev);
+}
Modified: trunk/grub2/disk/i386/pc/biosdisk.c
===================================================================
--- trunk/grub2/disk/i386/pc/biosdisk.c 2008-08-23 14:20:45 UTC (rev 1827)
+++ trunk/grub2/disk/i386/pc/biosdisk.c 2008-08-23 14:51:19 UTC (rev 1828)
@@ -120,7 +120,7 @@
{
data->flags = GRUB_BIOSDISK_FLAG_LBA | GRUB_BIOSDISK_FLAG_CDROM;
data->sectors = 32;
- total_sectors = 9000000; /* TODO: get the correct size. */
+ total_sectors = ULONG_MAX; /* TODO: get the correct size. */
}
else if (drive & 0x80)
{
Added: trunk/grub2/disk/mdraid_linux.c
===================================================================
--- trunk/grub2/disk/mdraid_linux.c (rev 0)
+++ trunk/grub2/disk/mdraid_linux.c 2008-08-23 14:51:19 UTC (rev 1828)
@@ -0,0 +1,233 @@
+/* mdraid_linux.c - module to handle linux softraid. */
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2008 Free Software Foundation, Inc.
+ *
+ * GRUB is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GRUB is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <grub/dl.h>
+#include <grub/disk.h>
+#include <grub/mm.h>
+#include <grub/err.h>
+#include <grub/misc.h>
+#include <grub/raid.h>
+
+/* Linux RAID on disk structures and constants,
+ copied from include/linux/raid/md_p.h. */
+
+#define RESERVED_BYTES (64 * 1024)
+#define RESERVED_SECTORS (RESERVED_BYTES / 512)
+
+#define NEW_SIZE_SECTORS(x) ((x & ~(RESERVED_SECTORS - 1)) \
+ - RESERVED_SECTORS)
+
+#define SB_BYTES 4096
+#define SB_WORDS (SB_BYTES / 4)
+#define SB_SECTORS (SB_BYTES / 512)
+
+/*
+ * The following are counted in 32-bit words
+ */
+#define SB_GENERIC_OFFSET 0
+
+#define SB_PERSONALITY_OFFSET 64
+#define SB_DISKS_OFFSET 128
+#define SB_DESCRIPTOR_OFFSET 992
+
+#define SB_GENERIC_CONSTANT_WORDS 32
+#define SB_GENERIC_STATE_WORDS 32
+#define SB_GENERIC_WORDS (SB_GENERIC_CONSTANT_WORDS + \
+ SB_GENERIC_STATE_WORDS)
+
+#define SB_PERSONALITY_WORDS 64
+#define SB_DESCRIPTOR_WORDS 32
+#define SB_DISKS 27
+#define SB_DISKS_WORDS (SB_DISKS * SB_DESCRIPTOR_WORDS)
+
+#define SB_RESERVED_WORDS (1024 \
+ - SB_GENERIC_WORDS \
+ - SB_PERSONALITY_WORDS \
+ - SB_DISKS_WORDS \
+ - SB_DESCRIPTOR_WORDS)
+
+#define SB_EQUAL_WORDS (SB_GENERIC_WORDS \
+ + SB_PERSONALITY_WORDS \
+ + SB_DISKS_WORDS)
+
+/*
+ * Device "operational" state bits
+ */
+#define DISK_FAULTY 0
+#define DISK_ACTIVE 1
+#define DISK_SYNC 2
+#define DISK_REMOVED 3
+
+#define DISK_WRITEMOSTLY 9
+
+#define SB_MAGIC 0xa92b4efc
+
+/*
+ * Superblock state bits
+ */
+#define SB_CLEAN 0
+#define SB_ERRORS 1
+
+#define SB_BITMAP_PRESENT 8
+
+struct grub_raid_disk_09
+{
+ grub_uint32_t number; /* Device number in the entire set. */
+ grub_uint32_t major; /* Device major number. */
+ grub_uint32_t minor; /* Device minor number. */
+ grub_uint32_t raid_disk; /* The role of the device in the raid set. */
+ grub_uint32_t state; /* Operational state. */
+ grub_uint32_t reserved[SB_DESCRIPTOR_WORDS - 5];
+};
+
+struct grub_raid_super_09
+{
+ /*
+ * Constant generic information
+ */
+ grub_uint32_t md_magic; /* MD identifier. */
+ grub_uint32_t major_version; /* Major version. */
+ grub_uint32_t minor_version; /* Minor version. */
+ grub_uint32_t patch_version; /* Patchlevel version. */
+ grub_uint32_t gvalid_words; /* Number of used words in this section. */
+ grub_uint32_t set_uuid0; /* Raid set identifier. */
+ grub_uint32_t ctime; /* Creation time. */
+ grub_uint32_t level; /* Raid personality. */
+ grub_uint32_t size; /* Apparent size of each individual disk. */
+ grub_uint32_t nr_disks; /* Total disks in the raid set. */
+ grub_uint32_t raid_disks; /* Disks in a fully functional raid set. */
+ grub_uint32_t md_minor; /* Preferred MD minor device number. */
+ grub_uint32_t not_persistent; /* Does it have a persistent
superblock. */
+ grub_uint32_t set_uuid1; /* Raid set identifier #2. */
+ grub_uint32_t set_uuid2; /* Raid set identifier #3. */
+ grub_uint32_t set_uuid3; /* Raid set identifier #4. */
+ grub_uint32_t gstate_creserved[SB_GENERIC_CONSTANT_WORDS - 16];
+
+ /*
+ * Generic state information
+ */
+ grub_uint32_t utime; /* Superblock update time. */
+ grub_uint32_t state; /* State bits (clean, ...). */
+ grub_uint32_t active_disks; /* Number of currently active disks. */
+ grub_uint32_t working_disks; /* Number of working disks. */
+ grub_uint32_t failed_disks; /* Number of failed disks. */
+ grub_uint32_t spare_disks; /* Number of spare disks. */
+ grub_uint32_t sb_csum; /* Checksum of the whole superblock. */
+ grub_uint64_t events; /* Superblock update count. */
+ grub_uint64_t cp_events; /* Checkpoint update count. */
+ grub_uint32_t recovery_cp; /* Recovery checkpoint sector count. */
+ grub_uint32_t gstate_sreserved[SB_GENERIC_STATE_WORDS - 12];
+
+ /*
+ * Personality information
+ */
+ grub_uint32_t layout; /* The array's physical layout. */
+ grub_uint32_t chunk_size; /* Chunk size in bytes. */
+ grub_uint32_t root_pv; /* LV root PV. */
+ grub_uint32_t root_block; /* LV root block. */
+ grub_uint32_t pstate_reserved[SB_PERSONALITY_WORDS - 4];
+
+ /*
+ * Disks information
+ */
+ struct grub_raid_disk_09 disks[SB_DISKS];
+
+ /*
+ * Reserved
+ */
+ grub_uint32_t reserved[SB_RESERVED_WORDS];
+
+ /*
+ * Active descriptor
+ */
+ struct grub_raid_disk_09 this_disk;
+} __attribute__ ((packed));
+
+static grub_err_t
+grub_mdraid_detect (grub_disk_t disk, struct grub_raid_array *array)
+{
+ grub_disk_addr_t sector;
+ grub_uint64_t size;
+ struct grub_raid_super_09 sb;
+ grub_uint32_t *uuid;
+
+ /* The sector where the RAID superblock is stored, if available. */
+ size = grub_disk_get_size (disk);
+ sector = NEW_SIZE_SECTORS (size);
+
+ if (grub_disk_read (disk, sector, 0, SB_BYTES, (char *) &sb))
+ return grub_errno;
+
+ /* Look whether there is a RAID superblock. */
+ if (sb.md_magic != SB_MAGIC)
+ return grub_error (GRUB_ERR_OUT_OF_RANGE, "not raid");
+
+ /* FIXME: Also support version 1.0. */
+ if (sb.major_version != 0 || sb.minor_version != 90)
+ return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
+ "Unsupported RAID version: %d.%d",
+ sb.major_version, sb.minor_version);
+
+ /* FIXME: Check the checksum. */
+
+ /* Multipath. */
+ if ((int) sb.level == -4)
+ sb.level = 1;
+
+ if (sb.level != 0 && sb.level != 1 && sb.level != 4 &&
+ sb.level != 5 && sb.level != 6 && sb.level != 10)
+ return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
+ "Unsupported RAID level: %d", sb.level);
+
+ array->number = sb.md_minor;
+ array->level = sb.level;
+ array->layout = sb.layout;
+ array->total_devs = sb.raid_disks;
+ array->disk_size = (sb.size) ? sb.size * 2 : sector;
+ array->chunk_size = sb.chunk_size >> 9;
+ array->index = sb.this_disk.number;
+ array->uuid_len = 16;
+ array->uuid = grub_malloc (16);
+ if (!array->uuid)
+ return grub_errno;
+
+ uuid = (grub_uint32_t *) array->uuid;
+ uuid[0] = sb.set_uuid0;
+ uuid[1] = sb.set_uuid1;
+ uuid[2] = sb.set_uuid2;
+ uuid[3] = sb.set_uuid3;
+
+ return 0;
+}
+
+static struct grub_raid grub_mdraid_dev = {
+ .name = "mdraid",
+ .detect = grub_mdraid_detect,
+ .next = 0
+};
+
+GRUB_MOD_INIT (mdraid)
+{
+ grub_raid_register (&grub_mdraid_dev);
+}
+
+GRUB_MOD_FINI (mdraid)
+{
+ grub_raid_register (&grub_mdraid_dev);
+}
Modified: trunk/grub2/disk/raid.c
===================================================================
--- trunk/grub2/disk/raid.c 2008-08-23 14:20:45 UTC (rev 1827)
+++ trunk/grub2/disk/raid.c 2008-08-23 14:51:19 UTC (rev 1828)
@@ -26,6 +26,8 @@
/* Linked list of RAID arrays. */
static struct grub_raid_array *array_list;
+grub_raid5_recover_func_t grub_raid5_recover_func;
+grub_raid6_recover_func_t grub_raid6_recover_func;
static char
@@ -43,10 +45,29 @@
return 1;
break;
+ case 4:
case 5:
- if (array->nr_devs >= array->total_devs - 1)
- return 1;
- break;
+ case 6:
+ case 10:
+ {
+ unsigned int n;
+
+ if (array->level == 10)
+ {
+ n = array->layout & 0xFF;
+ if (n == 1)
+ n = (array->layout >> 8) & 0xFF;
+
+ n--;
+ }
+ else
+ n = array->level / 3;
+
+ if (array->nr_devs >= array->total_devs - n)
+ return 1;
+
+ break;
+ }
}
return 0;
@@ -76,12 +97,13 @@
unsigned int i;
for (i = 0; i < array->total_devs; i++)
- {
- tmp = grub_malloc (sizeof (*tmp));
- tmp->disk = array->device[i];
- tmp->next = list;
- list = tmp;
- }
+ if (array->device[i])
+ {
+ tmp = grub_malloc (sizeof (*tmp));
+ tmp->disk = array->device[i];
+ tmp->next = list;
+ list = tmp;
+ }
return list;
}
@@ -91,6 +113,7 @@
grub_raid_open (const char *name, grub_disk_t disk)
{
struct grub_raid_array *array;
+ unsigned n;
for (array = array_list; array != NULL; array = array->next)
{
@@ -100,7 +123,8 @@
}
if (!array)
- return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "Unknown RAID device %s",
name);
+ return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "Unknown RAID device %s",
+ name);
disk->has_partitions = 1;
disk->id = array->number;
@@ -111,17 +135,27 @@
switch (array->level)
{
- case 0:
- /* FIXME: RAID0 disks can have different sizes! */
- disk->total_sectors = array->total_devs * array->disk_size;
- break;
-
case 1:
disk->total_sectors = array->disk_size;
break;
+ case 10:
+ n = array->layout & 0xFF;
+ if (n == 1)
+ n = (array->layout >> 8) & 0xFF;
+
+ disk->total_sectors = grub_divmod64 (array->total_devs *
+ array->disk_size,
+ n, 0);
+ break;
+
+ case 0:
+ case 4:
case 5:
- disk->total_sectors = (array->total_devs - 1) * array->disk_size;
+ case 6:
+ n = array->level / 3;
+
+ disk->total_sectors = (array->total_devs - n) * array->disk_size;
break;
}
@@ -137,6 +171,22 @@
return;
}
+void
+grub_raid_block_xor (char *buf1, char *buf2, int size)
+{
+ grub_size_t *p1, *p2;
+
+ p1 = (grub_size_t *) buf1;
+ p2 = (grub_size_t *) buf2;
+ size /= GRUB_CPU_SIZEOF_VOID_P;
+
+ while (size)
+ {
+ *(p1++) ^= *(p2++);
+ size--;
+ }
+}
+
static grub_err_t
grub_raid_read (grub_disk_t disk, grub_disk_addr_t sector,
grub_size_t size, char *buf)
@@ -147,190 +197,264 @@
switch (array->level)
{
case 0:
+ case 1:
+ case 10:
{
- grub_uint64_t a;
- grub_uint32_t b;
- unsigned int disknr;
- grub_disk_addr_t read_sector;
- grub_size_t read_size;
+ grub_disk_addr_t read_sector, far_ofs;
+ grub_uint32_t disknr, b, near, far, ofs;
- /* Find the first sector to read. */
- a = grub_divmod64 (sector, array->chunk_size, NULL);
- grub_divmod64 (a, array->total_devs, &disknr);
+ read_sector = grub_divmod64 (sector, array->chunk_size, &b);
+ far = ofs = near = 1;
+ far_ofs = 0;
- a = grub_divmod64 (sector, array->chunk_size * array->total_devs, NULL);
- grub_divmod64 (sector, array->chunk_size, &b);
- read_sector = a * array->chunk_size + b;
+ if (array->level == 1)
+ near = array->total_devs;
+ else if (array->level == 10)
+ {
+ near = array->layout & 0xFF;
+ far = (array->layout >> 8) & 0xFF;
+ if (array->layout >> 16)
+ {
+ ofs = far;
+ far_ofs = 1;
+ }
+ else
+ far_ofs = grub_divmod64 (array->disk_size,
+ far * array->chunk_size, 0);
- grub_divmod64 (read_sector, array->chunk_size, &b);
- read_size = array->chunk_size - b;
-
- if (read_size > size)
- read_size = size;
-
- while (1)
- {
- grub_uint32_t i;
+ far_ofs *= array->chunk_size;
+ }
- err = grub_disk_read (array->device[disknr], read_sector, 0,
- read_size << GRUB_DISK_SECTOR_BITS, buf);
- if (err)
- break;
+ read_sector = grub_divmod64 (read_sector * near, array->total_devs,
+ &disknr);
- buf += read_size << GRUB_DISK_SECTOR_BITS;
- size -= read_size;
- if (! size)
- break;
+ ofs *= array->chunk_size;
+ read_sector *= ofs;
- if (size > array->chunk_size)
- read_size = array->chunk_size;
- else
- read_size = size;
+ while (1)
+ {
+ grub_size_t read_size;
+ unsigned int i, j;
- /* Check whether the sector was aligned on a chunk size
- boundary. If this isn't the case, it's the first read
- and the next read should be set back to start of the
- boundary. */
- grub_divmod64 (read_sector, array->chunk_size, &i);
- read_sector -= i;
+ read_size = array->chunk_size - b;
+ if (read_size > size)
+ read_size = size;
- disknr++;
- /* See whether the disk was the last disk, and start
- reading from the first disk in that case. */
- if (disknr == array->total_devs)
- {
- disknr = 0;
- read_sector += array->chunk_size;
- }
- }
- }
- break;
+ for (i = 0; i < near; i++)
+ {
+ unsigned int k;
- case 1:
- /* This is easy, we can read from any disk we want. We will loop
- over all disks until we've found one that is available. In
- case of errs, we will try the to read the next disk. */
- {
- unsigned int i = 0;
-
- for (i = 0; i < array->total_devs; i++)
- {
- if (array->device[i])
- {
- err = grub_disk_read (array->device[i], sector, 0,
- size << GRUB_DISK_SECTOR_BITS, buf);
+ k = disknr;
+ for (j = 0; j < far; j++)
+ {
+ if (array->device[k])
+ {
+ if (grub_errno == GRUB_ERR_READ_ERROR)
+ grub_errno = GRUB_ERR_NONE;
- if (!err)
- break;
- }
- }
+ err = grub_disk_read (array->device[k],
+ read_sector + j * far_ofs + b,
+ 0,
+ read_size <<
GRUB_DISK_SECTOR_BITS,
+ buf);
+ if (! err)
+ break;
+ else if (err != GRUB_ERR_READ_ERROR)
+ return err;
+ }
+ else
+ err = grub_error (GRUB_ERR_READ_ERROR,
+ "disk missing.");
+
+ k++;
+ if (k == array->total_devs)
+ k = 0;
+ }
+
+ if (! err)
+ break;
+
+ disknr++;
+ if (disknr == array->total_devs)
+ {
+ disknr = 0;
+ read_sector += ofs;
+ }
+ }
+
+ if (err)
+ return err;
+
+ buf += read_size << GRUB_DISK_SECTOR_BITS;
+ size -= read_size;
+ if (! size)
+ break;
+
+ b = 0;
+ disknr += (near - i);
+ while (disknr >= array->total_devs)
+ {
+ disknr -= array->total_devs;
+ read_sector += ofs;
+ }
+ }
+ break;
}
- break;
+ case 4:
case 5:
+ case 6:
{
- grub_uint64_t a;
- grub_uint32_t b;
- int disknr;
grub_disk_addr_t read_sector;
- grub_size_t read_size;
+ grub_uint32_t b, p, n, disknr, e;
+ /* n = 1 for level 4 and 5, 2 for level 6. */
+ n = array->level / 3;
+
/* Find the first sector to read. */
- a = grub_divmod64 (sector, array->chunk_size, NULL);
- grub_divmod64 (a, (array->total_devs - 1), &b);
- disknr = b;
+ read_sector = grub_divmod64 (sector, array->chunk_size, &b);
+ read_sector = grub_divmod64 (read_sector, array->total_devs - n,
+ &disknr);
+ if (array->level >= 5)
+ {
+ grub_divmod64 (read_sector, array->total_devs, &p);
- a = grub_divmod64 (sector, array->chunk_size * (array->total_devs - 1),
- NULL);
- grub_divmod64 (sector, array->chunk_size, &b);
- read_sector = a * array->chunk_size + b;
+ if (! (array->layout & GRUB_RAID_LAYOUT_RIGHT_MASK))
+ p = array->total_devs - 1 - p;
- grub_divmod64 (read_sector, array->chunk_size * array->total_devs, &b);
- disknr -= (b / array->chunk_size);
- if (disknr < 0)
- disknr += array->total_devs;
-
- grub_divmod64 (read_sector, array->chunk_size, &b);
- read_size = array->chunk_size - b;
+ if (array->layout & GRUB_RAID_LAYOUT_SYMMETRIC_MASK)
+ {
+ disknr += p + n;
+ }
+ else
+ {
+ grub_uint32_t q;
- if (read_size > size)
- read_size = size;
+ q = p + (n - 1);
+ if (q >= array->total_devs)
+ q -= array->total_devs;
+
+ if (disknr >= p)
+ disknr += n;
+ else if (disknr >= q)
+ disknr += q + 1;
+ }
+
+ if (disknr >= array->total_devs)
+ disknr -= array->total_devs;
+ }
+ else
+ p = array->total_devs - n;
+
+ read_sector *= array->chunk_size;
while (1)
{
- grub_uint32_t i;
+ grub_size_t read_size;
+ int next_level;
- if (array->device[disknr])
- err = grub_disk_read (array->device[disknr], read_sector, 0,
- read_size << GRUB_DISK_SECTOR_BITS, buf);
+ read_size = array->chunk_size - b;
+ if (read_size > size)
+ read_size = size;
- /* If an error occurs when we already have an degraded
- array we can't recover from that. */
- if (err && ((array->total_devs - 1) == array->nr_devs))
- break;
-
- if (err || ! array->device[disknr])
- {
- /* Either an error occured or the disk is not
- available. We have to compute this block from the
- blocks on the other hard disks. */
- grub_size_t buf_size = read_size << GRUB_DISK_SECTOR_BITS;
- char buf2[buf_size];
- unsigned int j;
+ e = 0;
+ if (array->device[disknr])
+ {
+ /* Reset read error. */
+ if (grub_errno == GRUB_ERR_READ_ERROR)
+ grub_errno = GRUB_ERR_NONE;
- grub_memset (buf, 0, buf_size);
-
- for (j = 0; j < array->total_devs; j++)
- {
- unsigned int k;
+ err = grub_disk_read (array->device[disknr],
+ read_sector + b, 0,
+ read_size << GRUB_DISK_SECTOR_BITS,
+ buf);
- if (j != (unsigned int) disknr)
- {
- err = grub_disk_read (array->device[j], read_sector,
- 0, buf_size, buf2);
- if (err)
- return err;
-
- for (k = 0; k < buf_size; k++)
- buf[k] = buf[k] ^ buf2[k];
- }
- }
- }
+ if ((err) && (err != GRUB_ERR_READ_ERROR))
+ break;
+ e++;
+ }
+ else
+ err = GRUB_ERR_READ_ERROR;
- buf += (read_size << GRUB_DISK_SECTOR_BITS);
+ if (err)
+ {
+ if (array->nr_devs < array->total_devs - n + e)
+ break;
+
+ grub_errno = GRUB_ERR_NONE;
+ if (array->level == 6)
+ {
+ err = ((grub_raid6_recover_func) ?
+ (*grub_raid6_recover_func) (array, disknr, p,
+ buf, read_sector + b,
+ read_size) :
+ grub_error (GRUB_ERR_BAD_DEVICE,
+ "raid6rec is not loaded"));
+ }
+ else
+ {
+ err = ((grub_raid5_recover_func) ?
+ (*grub_raid5_recover_func) (array, disknr,
+ buf, read_sector + b,
+ read_size) :
+ grub_error (GRUB_ERR_BAD_DEVICE,
+ "raid5rec is not loaded"));
+ }
+
+ if (err)
+ break;
+ }
+
+ buf += read_size << GRUB_DISK_SECTOR_BITS;
size -= read_size;
if (! size)
break;
- if (size > array->chunk_size)
- read_size = array->chunk_size;
- else
- read_size = size;
+ b = 0;
+ disknr++;
- /* Check whether the sector was aligned on a chunk size
- boundary. If this isn't the case, it's the first read
- and the next read should be set back to start of the
- boundary. */
- grub_divmod64 (read_sector, array->chunk_size, &i);
- read_sector -= i;
+ if (array->layout & GRUB_RAID_LAYOUT_SYMMETRIC_MASK)
+ {
+ if (disknr == array->total_devs)
+ disknr = 0;
- disknr++;
- grub_divmod64 (read_sector,
- array->chunk_size * array->total_devs, &i);
- if ((unsigned int) disknr == (array->total_devs - (i /
array->chunk_size) - 1))
- disknr++;
- /* See whether the disk was the last disk, and start
- reading from the first disk in that case. */
- if ((unsigned int) disknr == array->total_devs)
- {
- disknr = 0;
- read_sector += array->chunk_size;
- grub_divmod64 (read_sector,
- array->chunk_size * array->total_devs, &i);
+ next_level = (disknr == p);
+ }
+ else
+ {
+ if (disknr == p)
+ disknr += n;
- if ((i / array->chunk_size) == (array->total_devs - 1))
- disknr++;
- }
+ next_level = (disknr >= array->total_devs);
+ }
+
+ if (next_level)
+ {
+ read_sector += array->chunk_size;
+
+ if (array->level >= 5)
+ {
+ if (array->layout & GRUB_RAID_LAYOUT_RIGHT_MASK)
+ p = (p == array->total_devs - 1) ? 0 : p + 1;
+ else
+ p = (p == 0) ? array->total_devs - 1 : p - 1;
+
+ if (array->layout & GRUB_RAID_LAYOUT_SYMMETRIC_MASK)
+ {
+ disknr = p + n;
+ if (disknr >= array->total_devs)
+ disknr -= array->total_devs;
+ }
+ else
+ {
+ disknr -= array->total_devs;
+ if (disknr == p)
+ disknr += n;
+ }
+ }
+ else
+ disknr = 0;
+ }
}
}
break;
@@ -348,169 +472,105 @@
return GRUB_ERR_NOT_IMPLEMENTED_YET;
}
-static int
-grub_raid_scan_device (const char *name)
+static grub_err_t
+insert_array (grub_disk_t disk, struct grub_raid_array *new_array,
+ const char *scanner_name)
{
- grub_err_t err;
- grub_disk_t disk;
- grub_disk_addr_t sector;
- grub_uint64_t size;
- struct grub_raid_super_09 sb;
- struct grub_raid_array *p, *array = NULL;
-
- grub_dprintf ("raid", "Scanning for RAID devices\n");
-
- disk = grub_disk_open (name);
- if (!disk)
- return 0;
-
- /* The sector where the RAID superblock is stored, if available. */
- size = grub_disk_get_size (disk);
- sector = GRUB_RAID_NEW_SIZE_SECTORS(size);
-
- err = grub_disk_read (disk, sector, 0, GRUB_RAID_SB_BYTES, (char *) &sb);
- grub_disk_close (disk);
- if (err)
- {
- grub_errno = GRUB_ERR_NONE;
- return 0;
- }
-
- /* Look whether there is a RAID superblock. */
- if (sb.md_magic != GRUB_RAID_SB_MAGIC)
- return 0;
+ struct grub_raid_array *array = 0, *p;
- /* FIXME: Also support version 1.0. */
- if (sb.major_version != 0 || sb.minor_version != 90)
- {
- grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
- "Unsupported RAID version: %d.%d",
- sb.major_version, sb.minor_version);
- return 0;
- }
-
- /* FIXME: Check the checksum. */
-
- /* FIXME: Support all RAID levels. */
- if (sb.level != 0 && sb.level != 1 && sb.level != 5)
- {
- grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
- "Unsupported RAID level: %d",
- sb.level);
- return 0;
- }
-
- /* FIXME: Support all layouts. */
- if (sb.level == 5 && sb.layout != 2)
- {
- grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
- "Unsupported RAID5 layout: %d",
- sb.layout);
- return 0;
- }
-
/* See whether the device is part of an array we have already seen a
device from. */
for (p = array_list; p != NULL; p = p->next)
- {
- if (p->uuid[0] == sb.set_uuid0 && p->uuid[1] == sb.set_uuid1
- && p->uuid[2] == sb.set_uuid2 && p->uuid[3] == sb.set_uuid3)
- {
- array = p;
- break;
- }
- }
+ if ((p->uuid_len == new_array->uuid_len) &&
+ (! grub_memcmp (p->uuid, new_array->uuid, p->uuid_len)))
+ {
+ grub_free (new_array->uuid);
+ array = p;
- /* Do some checks before adding the device to the array. */
- if (array)
- {
- /* FIXME: Check whether the update time of the superblocks are
- the same. */
-
- if (array->total_devs == array->nr_devs)
- {
- /* We found more members of the array than the array
- actually has according to its superblock. This shouldn't
- happen normally, but what is the sanest things to do in such
- a case? */
-
- grub_error (GRUB_ERR_BAD_NUMBER,
- "array->nr_devs > array->total_devs (%d)?!?",
- array->total_devs);
+ /* Do some checks before adding the device to the array. */
- return 0;
- }
-
- if (array->device[sb.this_disk.number] != NULL)
@@ Diff output truncated at 153600 characters. @@
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [1828] 2008-08-23 Bean <address@hidden>,
Bean <=