2007-05-16 Robert Millan <rmh@aybabtu.com>
* util/i386/efi/grub-install.in: New. * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the newly added grub-install. * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h include. * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with grub/util/biosdisk.h. * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with grub/util/biosdisk.h.
This commit is contained in:
parent
2d1a40a90c
commit
46b9d12846
8 changed files with 386 additions and 27 deletions
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
|||
2007-05-16 Robert Millan <rmh@aybabtu.com>
|
||||
|
||||
* util/i386/efi/grub-install.in: New.
|
||||
* conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
|
||||
newly added grub-install.
|
||||
* util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
|
||||
include.
|
||||
* util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
|
||||
grub/util/biosdisk.h.
|
||||
* util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
|
||||
grub/util/biosdisk.h.
|
||||
|
||||
2007-05-16 Robert Millan <rmh@aybabtu.com>
|
||||
|
||||
* include/grub/i386/pc/util/biosdisk.h: Moved to ...
|
||||
|
|
157
conf/i386-efi.mk
157
conf/i386-efi.mk
|
@ -6,7 +6,7 @@ COMMON_LDFLAGS = -melf_i386 -nostdlib
|
|||
|
||||
# Utilities.
|
||||
bin_UTILITIES = grub-mkimage
|
||||
#sbin_UTILITIES = grub-setup grub-mkdevicemap grub-probe
|
||||
sbin_UTILITIES = grub-mkdevicemap grub-probe
|
||||
#ifeq ($(enable_grub_emu), yes)
|
||||
#sbin_UTILITIES += grub-emu
|
||||
#endif
|
||||
|
@ -42,15 +42,144 @@ grub_mkimage-util_resolve.o: util/resolve.c
|
|||
# kern/fs.c kern/env.c fs/fshelp.c
|
||||
|
||||
# For grub-mkdevicemap.
|
||||
#grub_mkdevicemap_SOURCES = util/i386/pc/grub-mkdevicemap.c util/misc.c
|
||||
grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/misc.c
|
||||
CLEANFILES += grub-mkdevicemap grub_mkdevicemap-util_grub_mkdevicemap.o grub_mkdevicemap-util_misc.o
|
||||
MOSTLYCLEANFILES += grub_mkdevicemap-util_grub_mkdevicemap.d grub_mkdevicemap-util_misc.d
|
||||
|
||||
grub-mkdevicemap: $(grub_mkdevicemap_DEPENDENCIES) grub_mkdevicemap-util_grub_mkdevicemap.o grub_mkdevicemap-util_misc.o
|
||||
$(CC) -o $@ grub_mkdevicemap-util_grub_mkdevicemap.o grub_mkdevicemap-util_misc.o $(LDFLAGS) $(grub_mkdevicemap_LDFLAGS)
|
||||
|
||||
grub_mkdevicemap-util_grub_mkdevicemap.o: util/grub-mkdevicemap.c
|
||||
$(CC) -Iutil -I$(srcdir)/util $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_mkdevicemap_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_mkdevicemap-util_grub_mkdevicemap.d
|
||||
|
||||
grub_mkdevicemap-util_misc.o: util/misc.c
|
||||
$(CC) -Iutil -I$(srcdir)/util $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_mkdevicemap_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_mkdevicemap-util_misc.d
|
||||
|
||||
|
||||
# For grub-probe.
|
||||
#grub_probe_SOURCES = util/i386/pc/grub-probe.c \
|
||||
# util/i386/pc/biosdisk.c util/misc.c util/i386/pc/getroot.c \
|
||||
# kern/device.c kern/disk.c kern/err.c kern/misc.c fs/fat.c \
|
||||
# fs/ext2.c kern/parser.c kern/partition.c partmap/pc.c fs/ufs.c \
|
||||
# fs/minix.c fs/hfs.c fs/jfs.c kern/fs.c kern/env.c fs/fshelp.c \
|
||||
# fs/xfs.c fs/affs.c fs/sfs.c fs/hfsplus.c
|
||||
grub_probe_SOURCES = util/grub-probe.c \
|
||||
util/biosdisk.c util/misc.c util/getroot.c \
|
||||
kern/device.c kern/disk.c kern/err.c kern/misc.c fs/fat.c \
|
||||
fs/ext2.c kern/parser.c kern/partition.c partmap/pc.c \
|
||||
partmap/gpt.c fs/ufs.c fs/minix.c fs/hfs.c fs/jfs.c kern/fs.c \
|
||||
kern/env.c fs/fshelp.c fs/xfs.c fs/affs.c fs/sfs.c fs/hfsplus.c \
|
||||
disk/lvm.c disk/raid.c
|
||||
CLEANFILES += grub-probe 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-fs_fat.o grub_probe-fs_ext2.o grub_probe-kern_parser.o grub_probe-kern_partition.o grub_probe-partmap_pc.o grub_probe-partmap_gpt.o grub_probe-fs_ufs.o grub_probe-fs_minix.o grub_probe-fs_hfs.o grub_probe-fs_jfs.o grub_probe-kern_fs.o grub_probe-kern_env.o grub_probe-fs_fshelp.o grub_probe-fs_xfs.o grub_probe-fs_affs.o grub_probe-fs_sfs.o grub_probe-fs_hfsplus.o grub_probe-disk_lvm.o grub_probe-disk_raid.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-fs_fat.d grub_probe-fs_ext2.d grub_probe-kern_parser.d grub_probe-kern_partition.d grub_probe-partmap_pc.d grub_probe-partmap_gpt.d grub_probe-fs_ufs.d grub_probe-fs_minix.d grub_probe-fs_hfs.d grub_probe-fs_jfs.d grub_probe-kern_fs.d grub_probe-kern_env.d grub_probe-fs_fshelp.d grub_probe-fs_xfs.d grub_probe-fs_affs.d grub_probe-fs_sfs.d grub_probe-fs_hfsplus.d grub_probe-disk_lvm.d grub_probe-disk_raid.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-fs_fat.o grub_probe-fs_ext2.o grub_probe-kern_parser.o grub_probe-kern_partition.o grub_probe-partmap_pc.o grub_probe-partmap_gpt.o grub_probe-fs_ufs.o grub_probe-fs_minix.o grub_probe-fs_hfs.o grub_probe-fs_jfs.o grub_probe-kern_fs.o grub_probe-kern_env.o grub_probe-fs_fshelp.o grub_probe-fs_xfs.o grub_probe-fs_affs.o grub_probe-fs_sfs.o grub_probe-fs_hfsplus.o grub_probe-disk_lvm.o grub_probe-disk_raid.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-fs_fat.o grub_probe-fs_ext2.o grub_probe-kern_parser.o grub_probe-kern_partition.o grub_probe-partmap_pc.o grub_probe-partmap_gpt.o grub_probe-fs_ufs.o grub_probe-fs_minix.o grub_probe-fs_hfs.o grub_probe-fs_jfs.o grub_probe-kern_fs.o grub_probe-kern_env.o grub_probe-fs_fshelp.o grub_probe-fs_xfs.o grub_probe-fs_affs.o grub_probe-fs_sfs.o grub_probe-fs_hfsplus.o grub_probe-disk_lvm.o grub_probe-disk_raid.o $(LDFLAGS) $(grub_probe_LDFLAGS)
|
||||
|
||||
grub_probe-util_grub_probe.o: util/grub-probe.c
|
||||
$(CC) -Iutil -I$(srcdir)/util $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-util_grub_probe.d
|
||||
|
||||
grub_probe-util_biosdisk.o: util/biosdisk.c
|
||||
$(CC) -Iutil -I$(srcdir)/util $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-util_biosdisk.d
|
||||
|
||||
grub_probe-util_misc.o: util/misc.c
|
||||
$(CC) -Iutil -I$(srcdir)/util $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-util_misc.d
|
||||
|
||||
grub_probe-util_getroot.o: util/getroot.c
|
||||
$(CC) -Iutil -I$(srcdir)/util $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-util_getroot.d
|
||||
|
||||
grub_probe-kern_device.o: kern/device.c
|
||||
$(CC) -Ikern -I$(srcdir)/kern $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-kern_device.d
|
||||
|
||||
grub_probe-kern_disk.o: kern/disk.c
|
||||
$(CC) -Ikern -I$(srcdir)/kern $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-kern_disk.d
|
||||
|
||||
grub_probe-kern_err.o: kern/err.c
|
||||
$(CC) -Ikern -I$(srcdir)/kern $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-kern_err.d
|
||||
|
||||
grub_probe-kern_misc.o: kern/misc.c
|
||||
$(CC) -Ikern -I$(srcdir)/kern $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-kern_misc.d
|
||||
|
||||
grub_probe-fs_fat.o: fs/fat.c
|
||||
$(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-fs_fat.d
|
||||
|
||||
grub_probe-fs_ext2.o: fs/ext2.c
|
||||
$(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-fs_ext2.d
|
||||
|
||||
grub_probe-kern_parser.o: kern/parser.c
|
||||
$(CC) -Ikern -I$(srcdir)/kern $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-kern_parser.d
|
||||
|
||||
grub_probe-kern_partition.o: kern/partition.c
|
||||
$(CC) -Ikern -I$(srcdir)/kern $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-kern_partition.d
|
||||
|
||||
grub_probe-partmap_pc.o: partmap/pc.c
|
||||
$(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-partmap_pc.d
|
||||
|
||||
grub_probe-partmap_gpt.o: partmap/gpt.c
|
||||
$(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-partmap_gpt.d
|
||||
|
||||
grub_probe-fs_ufs.o: fs/ufs.c
|
||||
$(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-fs_ufs.d
|
||||
|
||||
grub_probe-fs_minix.o: fs/minix.c
|
||||
$(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-fs_minix.d
|
||||
|
||||
grub_probe-fs_hfs.o: fs/hfs.c
|
||||
$(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-fs_hfs.d
|
||||
|
||||
grub_probe-fs_jfs.o: fs/jfs.c
|
||||
$(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-fs_jfs.d
|
||||
|
||||
grub_probe-kern_fs.o: kern/fs.c
|
||||
$(CC) -Ikern -I$(srcdir)/kern $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-kern_fs.d
|
||||
|
||||
grub_probe-kern_env.o: kern/env.c
|
||||
$(CC) -Ikern -I$(srcdir)/kern $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-kern_env.d
|
||||
|
||||
grub_probe-fs_fshelp.o: fs/fshelp.c
|
||||
$(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-fs_fshelp.d
|
||||
|
||||
grub_probe-fs_xfs.o: fs/xfs.c
|
||||
$(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-fs_xfs.d
|
||||
|
||||
grub_probe-fs_affs.o: fs/affs.c
|
||||
$(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-fs_affs.d
|
||||
|
||||
grub_probe-fs_sfs.o: fs/sfs.c
|
||||
$(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-fs_sfs.d
|
||||
|
||||
grub_probe-fs_hfsplus.o: fs/hfsplus.c
|
||||
$(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-fs_hfsplus.d
|
||||
|
||||
grub_probe-disk_lvm.o: disk/lvm.c
|
||||
$(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-disk_lvm.d
|
||||
|
||||
grub_probe-disk_raid.o: disk/raid.c
|
||||
$(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 $(grub_probe_CFLAGS) -MD -c -o $@ $<
|
||||
-include grub_probe-disk_raid.d
|
||||
|
||||
|
||||
# For grub-emu.
|
||||
grub_emu_DEPENDENCIES = grub_script.tab.c grub_script.tab.h \
|
||||
|
@ -75,16 +204,22 @@ grub_emu_SOURCES = commands/boot.c commands/cat.c commands/cmp.c \
|
|||
partmap/amiga.c partmap/apple.c partmap/pc.c partmap/sun.c \
|
||||
partmap/acorn.c partmap/gpt.c \
|
||||
util/console.c util/grub-emu.c util/misc.c \
|
||||
util/i386/pc/biosdisk.c util/i386/pc/getroot.c \
|
||||
util/biosdisk.c util/getroot.c \
|
||||
util/i386/pc/misc.c grub_emu_init.c
|
||||
|
||||
grub_emu_LDFLAGS = $(LIBCURSES)
|
||||
|
||||
# Scripts.
|
||||
#sbin_SCRIPTS = grub-install
|
||||
sbin_SCRIPTS = grub-install
|
||||
|
||||
# For grub-install.
|
||||
#grub_install_SOURCES = util/efi/pc/grub-install.in
|
||||
grub_install_SOURCES = util/i386/efi/grub-install.in
|
||||
CLEANFILES += grub-install
|
||||
|
||||
grub-install: util/i386/efi/grub-install.in config.status
|
||||
./config.status --file=grub-install:util/i386/efi/grub-install.in
|
||||
chmod +x $@
|
||||
|
||||
|
||||
# Modules.
|
||||
pkgdata_MODULES = kernel.mod normal.mod _chain.mod chain.mod \
|
||||
|
|
|
@ -6,7 +6,7 @@ COMMON_LDFLAGS = -melf_i386 -nostdlib
|
|||
|
||||
# Utilities.
|
||||
bin_UTILITIES = grub-mkimage
|
||||
#sbin_UTILITIES = grub-setup grub-mkdevicemap grub-probe
|
||||
sbin_UTILITIES = grub-mkdevicemap grub-probe
|
||||
#ifeq ($(enable_grub_emu), yes)
|
||||
#sbin_UTILITIES += grub-emu
|
||||
#endif
|
||||
|
@ -24,15 +24,16 @@ grub_mkimage_SOURCES = util/i386/efi/grub-mkimage.c util/misc.c \
|
|||
# kern/fs.c kern/env.c fs/fshelp.c
|
||||
|
||||
# For grub-mkdevicemap.
|
||||
#grub_mkdevicemap_SOURCES = util/i386/pc/grub-mkdevicemap.c util/misc.c
|
||||
grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/misc.c
|
||||
|
||||
# For grub-probe.
|
||||
#grub_probe_SOURCES = util/i386/pc/grub-probe.c \
|
||||
# util/i386/pc/biosdisk.c util/misc.c util/i386/pc/getroot.c \
|
||||
# kern/device.c kern/disk.c kern/err.c kern/misc.c fs/fat.c \
|
||||
# fs/ext2.c kern/parser.c kern/partition.c partmap/pc.c fs/ufs.c \
|
||||
# fs/minix.c fs/hfs.c fs/jfs.c kern/fs.c kern/env.c fs/fshelp.c \
|
||||
# fs/xfs.c fs/affs.c fs/sfs.c fs/hfsplus.c
|
||||
grub_probe_SOURCES = util/grub-probe.c \
|
||||
util/biosdisk.c util/misc.c util/getroot.c \
|
||||
kern/device.c kern/disk.c kern/err.c kern/misc.c fs/fat.c \
|
||||
fs/ext2.c kern/parser.c kern/partition.c partmap/pc.c \
|
||||
partmap/gpt.c fs/ufs.c fs/minix.c fs/hfs.c fs/jfs.c kern/fs.c \
|
||||
kern/env.c fs/fshelp.c fs/xfs.c fs/affs.c fs/sfs.c fs/hfsplus.c \
|
||||
disk/lvm.c disk/raid.c
|
||||
|
||||
# For grub-emu.
|
||||
grub_emu_DEPENDENCIES = grub_script.tab.c grub_script.tab.h \
|
||||
|
@ -57,16 +58,16 @@ grub_emu_SOURCES = commands/boot.c commands/cat.c commands/cmp.c \
|
|||
partmap/amiga.c partmap/apple.c partmap/pc.c partmap/sun.c \
|
||||
partmap/acorn.c partmap/gpt.c \
|
||||
util/console.c util/grub-emu.c util/misc.c \
|
||||
util/i386/pc/biosdisk.c util/i386/pc/getroot.c \
|
||||
util/biosdisk.c util/getroot.c \
|
||||
util/i386/pc/misc.c grub_emu_init.c
|
||||
|
||||
grub_emu_LDFLAGS = $(LIBCURSES)
|
||||
|
||||
# Scripts.
|
||||
#sbin_SCRIPTS = grub-install
|
||||
sbin_SCRIPTS = grub-install
|
||||
|
||||
# For grub-install.
|
||||
#grub_install_SOURCES = util/efi/pc/grub-install.in
|
||||
grub_install_SOURCES = util/i386/efi/grub-install.in
|
||||
|
||||
# Modules.
|
||||
pkgdata_MODULES = kernel.mod normal.mod _chain.mod chain.mod \
|
||||
|
|
|
@ -88,10 +88,10 @@
|
|||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* The size of a `long', as computed by sizeof. */
|
||||
/* The size of `long', as computed by sizeof. */
|
||||
#undef SIZEOF_LONG
|
||||
|
||||
/* The size of a `void *', as computed by sizeof. */
|
||||
/* The size of `void *', as computed by sizeof. */
|
||||
#undef SIZEOF_VOID_P
|
||||
|
||||
/* Define it to either start or _start */
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <grub/machine/biosdisk.h>
|
||||
#include <grub/disk.h>
|
||||
#include <grub/partition.h>
|
||||
#include <grub/pc_partition.h>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include <dirent.h>
|
||||
|
||||
#include <grub/util/misc.h>
|
||||
#include <grub/i386/pc/util/biosdisk.h>
|
||||
#include <grub/util/biosdisk.h>
|
||||
|
||||
static void
|
||||
strip_extra_slashes (char *dir)
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#include <grub/fs.h>
|
||||
#include <grub/partition.h>
|
||||
#include <grub/pc_partition.h>
|
||||
#include <grub/machine/util/biosdisk.h>
|
||||
#include <grub/util/biosdisk.h>
|
||||
#include <grub/util/getroot.h>
|
||||
#include <grub/term.h>
|
||||
|
||||
|
|
212
util/i386/efi/grub-install.in
Normal file
212
util/i386/efi/grub-install.in
Normal file
|
@ -0,0 +1,212 @@
|
|||
#! /bin/sh
|
||||
|
||||
# Install GRUB on your EFI partition.
|
||||
# Copyright (C) 1999,2000,2001,2002,2003,2004,2005,2006 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file 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 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program 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 this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St - Suite 330, Boston, MA 02110, USA.
|
||||
|
||||
# Initialize some variables.
|
||||
transform="@program_transform_name@"
|
||||
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
sbindir=@sbindir@
|
||||
bindir=@bindir@
|
||||
libdir=@libdir@
|
||||
PACKAGE_NAME=@PACKAGE_NAME@
|
||||
PACKAGE_TARNAME=@PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION=@PACKAGE_VERSION@
|
||||
target_cpu=@target_cpu@
|
||||
platform=@platform@
|
||||
pkglibdir=${libdir}/`echo ${PACKAGE_TARNAME}/${target_cpu}-${platform} | sed ${transform}`
|
||||
|
||||
grub_mkimage=${bindir}/`echo grub-mkimage | sed ${transform}`
|
||||
grub_mkdevicemap=${sbindir}/`echo grub-mkdevicemap | sed ${transform}`
|
||||
grub_probe=${sbindir}/`echo grub-probe | sed ${transform}`
|
||||
rootdir=
|
||||
grub_prefix=`echo /boot/grub | sed ${transform}`
|
||||
modules=
|
||||
|
||||
no_floppy=
|
||||
force_lba=
|
||||
recheck=no
|
||||
debug=no
|
||||
|
||||
# Usage: usage
|
||||
# Print the usage.
|
||||
usage () {
|
||||
cat <<EOF
|
||||
Usage: grub-install [OPTION]
|
||||
Install GRUB on your EFI partition.
|
||||
|
||||
-h, --help print this message and exit
|
||||
-v, --version print the version information and exit
|
||||
--modules=MODULES pre-load specified modules MODULES
|
||||
--root-directory=DIR install GRUB images under the directory DIR
|
||||
instead of the root directory
|
||||
--grub-mkimage=FILE use FILE as grub-mkimage
|
||||
--grub-mkdevicemap=FILE use FILE as grub-mkdevicemap
|
||||
--grub-probe=FILE use FILE as grub-probe
|
||||
--no-floppy do not probe any floppy drive
|
||||
--recheck probe a device map even if it already exists
|
||||
|
||||
grub-install copies GRUB images into the DIR/boot directory specfied by
|
||||
--root-directory.
|
||||
|
||||
Report bugs to <bug-grub@gnu.org>.
|
||||
EOF
|
||||
}
|
||||
|
||||
# Check the arguments.
|
||||
for option in "$@"; do
|
||||
case "$option" in
|
||||
-h | --help)
|
||||
usage
|
||||
exit 0 ;;
|
||||
-v | --version)
|
||||
echo "grub-install (GNU GRUB ${PACKAGE_VERSION})"
|
||||
exit 0 ;;
|
||||
--modules=*)
|
||||
modules=`echo "$option" | sed 's/--modules=//'` ;;
|
||||
--root-directory=*)
|
||||
rootdir=`echo "$option" | sed 's/--root-directory=//'` ;;
|
||||
--grub-mkimage=*)
|
||||
grub_mkimage=`echo "$option" | sed 's/--grub-mkimage=//'` ;;
|
||||
--grub-mkdevicemap=*)
|
||||
grub_mkdevicemap=`echo "$option" | sed 's/--grub-mkdevicemap=//'` ;;
|
||||
--grub-probe=*)
|
||||
grub_probe=`echo "$option" | sed 's/--grub-probe=//'` ;;
|
||||
--no-floppy)
|
||||
no_floppy="--no-floppy" ;;
|
||||
--recheck)
|
||||
recheck=yes ;;
|
||||
# This is an undocumented feature...
|
||||
--debug)
|
||||
debug=yes ;;
|
||||
*)
|
||||
echo "Unrecognized option \`$option'" 1>&2
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# If the debugging feature is enabled, print commands.
|
||||
if test $debug = yes; then
|
||||
set -x
|
||||
fi
|
||||
|
||||
# Initialize these directories here, since ROOTDIR was initialized.
|
||||
case "$host_os" in
|
||||
netbsd* | openbsd*)
|
||||
# Because /boot is used for the boot block in NetBSD and OpenBSD, use /grub
|
||||
# instead of /boot/grub.
|
||||
grub_prefix=`echo /grub | sed ${transform}`
|
||||
bootdir=${rootdir}
|
||||
;;
|
||||
*)
|
||||
# Use /boot/grub by default.
|
||||
bootdir=${rootdir}/boot
|
||||
;;
|
||||
esac
|
||||
|
||||
grubdir=${bootdir}/`echo grub | sed ${transform}`
|
||||
device_map=${grubdir}/device.map
|
||||
|
||||
# Check if GRUB is installed.
|
||||
set $grub_mkimage dummy
|
||||
if test -f "$1"; then
|
||||
:
|
||||
else
|
||||
echo "$1: Not found." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set $grub_mkdevicemap dummy
|
||||
if test -f "$1"; then
|
||||
:
|
||||
else
|
||||
echo "$1: Not found." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create the GRUB directory if it is not present.
|
||||
test -d "$bootdir" || mkdir "$bootdir" || exit 1
|
||||
test -d "$grubdir" || mkdir "$grubdir" || exit 1
|
||||
|
||||
# If --recheck is specified, remove the device map, if present.
|
||||
if test $recheck = yes; then
|
||||
rm -f $device_map
|
||||
fi
|
||||
|
||||
# Create the device map file if it is not present.
|
||||
if test -f "$device_map"; then
|
||||
:
|
||||
else
|
||||
# Create a safe temporary file.
|
||||
test -n "$mklog" && log_file=`$mklog`
|
||||
|
||||
$grub_mkdevicemap --device-map=$device_map $no_floppy || exit 1
|
||||
fi
|
||||
|
||||
# Make sure that there is no duplicated entry.
|
||||
tmp=`sed -n '/^([fh]d[0-9]*)/s/\(^(.*)\).*/\1/p' $device_map \
|
||||
| sort | uniq -d | sed -n 1p`
|
||||
if test -n "$tmp"; then
|
||||
echo "The drive $tmp is defined multiple times in the device map $device_map" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Copy the GRUB images to the GRUB directory.
|
||||
for file in ${grubdir}/*.mod ${grubdir}/*.lst; do
|
||||
if test -f $file && [ "`basename $file`" != menu.lst ]; then
|
||||
rm -f $file || exit 1
|
||||
fi
|
||||
done
|
||||
for file in ${pkglibdir}/*.mod ${pkglibdir}/*.lst; do
|
||||
cp -f $file ${grubdir} || exit 1
|
||||
done
|
||||
|
||||
# Create the core image. First, auto-detect the filesystem module.
|
||||
fs_module=`$grub_probe --target=fs --device-map=${device_map} ${grubdir}`
|
||||
if test "x$fs_module" = xfat; then :; else
|
||||
echo "${grubdir} doesn't look like an EFI partition." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Then the partition map module.
|
||||
partmap_module=`$grub_probe --target=partmap --device-map=${device_map} ${grubdir}`
|
||||
if test "x$partmap_module" = x -a "x$modules" = x; then
|
||||
echo "Auto-detection of a partition map module failed." 1>&2
|
||||
echo "Please specify the module with the option \`--modules' explicitly." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# _chain is often useful
|
||||
modules="$modules $fs_module $partmap_module _chain"
|
||||
|
||||
$grub_mkimage --output=${grubdir}/grub.efi $modules || exit 1
|
||||
|
||||
# Prompt the user to check if the device map is correct.
|
||||
echo "Installation finished. No error reported."
|
||||
echo "This is the contents of the device map $device_map."
|
||||
echo "Check if this is correct or not. If any of the lines is incorrect,"
|
||||
echo "fix it and re-run the script \`grub-install'."
|
||||
echo
|
||||
|
||||
cat $device_map
|
||||
|
||||
# Bye.
|
||||
exit 0
|
Loading…
Reference in a new issue