grub_mkdevicemap_SOURCES += util/devicemap.c
endif
-# For grub-mkelfimage.
-bin_UTILITIES += grub-mkelfimage
-grub_mkelfimage_SOURCES = gnulib/progname.c util/elf/grub-mkimage.c \
- util/misc.c kern/emu/misc.c util/resolve.c
-util/elf/grub-mkimage.c_DEPENDENCIES = Makefile
+# For grub-mkimage.
+bin_UTILITIES += grub-mkimage
+grub_mkimage_SOURCES = gnulib/progname.c util/grub-mkimage.c util/misc.c \
- util/resolve.c lib/LzmaEnc.c lib/LzFind.c
++ util/resolve.c kern/emu/misc.c lib/LzmaEnc.c lib/LzFind.c
+util/grub-mkimage.c_DEPENDENCIES = Makefile
# For grub-probe.
sbin_UTILITIES += grub-probe
term/i386/pc/console.c term/i386/vga_common.c \
symlist.c
kernel_img_HEADERS += machine/biosdisk.h machine/vga.h machine/vbe.h \
- machine/pxe.h i386/pit.h
+ machine/pxe.h i386/pit.h machine/kernel.h
kernel_img_CFLAGS = $(COMMON_CFLAGS) $(TARGET_IMG_CFLAGS)
kernel_img_ASFLAGS = $(COMMON_ASFLAGS)
-kernel_img_LDFLAGS += $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS)$(GRUB_KERNEL_MACHINE_LINK_ADDR) $(COMMON_CFLAGS)
-kernel_img_FORMAT = binary
+kernel_img_LDFLAGS += $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS)0x8200 $(COMMON_CFLAGS)
# Utilities.
-bin_UTILITIES = grub-mkimage
sbin_UTILITIES = grub-setup
-# For grub-mkimage.
-grub_mkimage_SOURCES = gnulib/progname.c util/grub-mkrawimage.c util/misc.c \
- kern/emu/misc.c util/resolve.c lib/LzmaEnc.c lib/LzFind.c
-grub_mkimage_CFLAGS = -DGRUB_KERNEL_MACHINE_LINK_ADDR=$(GRUB_KERNEL_MACHINE_LINK_ADDR)
-util/grub-mkrawimage.c_DEPENDENCIES = Makefile
-
# For grub-setup.
util/i386/pc/grub-setup.c_DEPENDENCIES = grub_setup_init.h
- grub_setup_SOURCES = gnulib/progname.c \
- util/i386/pc/grub-setup.c util/hostdisk.c \
- util/misc.c util/getroot.c kern/device.c kern/disk.c \
- kern/err.c kern/misc.c kern/parser.c kern/partition.c \
- kern/file.c kern/fs.c kern/env.c kern/list.c \
- fs/fshelp.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 \
- fs/nilfs2.c fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c \
- fs/sfs.c fs/ufs.c fs/ufs2.c fs/xfs.c fs/afs.c \
- fs/afs_be.c fs/befs.c fs/befs_be.c fs/tar.c \
- \
- partmap/msdos.c partmap/bsdlabel.c partmap/sunpc.c \
- partmap/gpt.c \
- \
- disk/raid.c disk/mdraid_linux.c disk/lvm.c \
- util/raid.c util/lvm.c util/mm.c \
+ grub_setup_SOURCES = gnulib/progname.c util/i386/pc/grub-setup.c \
+ util/misc.c kern/emu/misc.c kern/emu/getroot.c \
+ kern/emu/hostdisk.c kern/device.c kern/disk.c kern/err.c \
+ kern/misc.c kern/parser.c kern/partition.c kern/file.c \
+ kern/emu/mm.c kern/fs.c kern/env.c kern/list.c fs/fshelp.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 \
+ fs/nilfs2.c fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c \
+ fs/sfs.c fs/ufs.c fs/ufs2.c fs/xfs.c fs/afs.c \
+ fs/afs_be.c fs/befs.c fs/befs_be.c fs/tar.c \
+ \
+ partmap/msdos.c partmap/bsdlabel.c partmap/sunpc.c \
+ partmap/gpt.c \
+ \
+ disk/raid.c disk/mdraid_linux.c disk/lvm.c \
+ util/raid.c util/lvm.c \
grub_setup_init.c
sbin_SCRIPTS += grub-install
kernel_img_FORMAT = binary
# Utilities.
-bin_UTILITIES = grub-mkimage
sbin_UTILITIES = grub-setup grub-ofpathname
-# For grub-mkimage.
-grub_mkimage_SOURCES = util/grub-mkrawimage.c util/misc.c kern/emu/misc.c \
- util/resolve.c gnulib/progname.c
-
# For grub-setup.
util/sparc64/ieee1275/grub-setup.c_DEPENDENCIES = grub_setup_init.h
- grub_setup_SOURCES = util/sparc64/ieee1275/grub-setup.c util/hostdisk.c \
- util/ieee1275/ofpath.c \
- util/misc.c util/getroot.c kern/device.c kern/disk.c \
- kern/err.c kern/misc.c kern/parser.c kern/partition.c \
- kern/file.c kern/fs.c kern/env.c kern/list.c \
- fs/fshelp.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 \
- fs/nilfs2.c fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c \
- fs/sfs.c fs/ufs.c fs/ufs2.c fs/xfs.c fs/afs.c \
- fs/afs_be.c fs/befs.c fs/befs_be.c fs/tar.c \
- \
- partmap/amiga.c partmap/apple.c partmap/msdos.c \
- partmap/bsdlabel.c partmap/sun.c partmap/acorn.c \
- \
- disk/raid.c disk/mdraid_linux.c disk/lvm.c \
- util/raid.c util/lvm.c util/mm.c gnulib/progname.c \
- grub_setup_init.c
+ grub_setup_SOURCES = util/sparc64/ieee1275/grub-setup.c \
+ util/ieee1275/ofpath.c util/misc.c kern/emu/hostdisk.c \
+ kern/emu/misc.c kern/emu/getroot.c kern/emu/mm.c kern/device.c \
+ kern/disk.c kern/err.c kern/misc.c kern/parser.c \
+ kern/partition.c kern/file.c kern/fs.c kern/env.c kern/list.c \
+ fs/fshelp.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 \
+ fs/nilfs2.c fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c \
+ fs/sfs.c fs/ufs.c fs/ufs2.c fs/xfs.c fs/afs.c \
+ fs/afs_be.c fs/befs.c fs/befs_be.c fs/tar.c \
+ \
+ partmap/amiga.c partmap/apple.c partmap/msdos.c \
+ partmap/bsdlabel.c partmap/sun.c partmap/acorn.c \
+ \
+ disk/raid.c disk/mdraid_linux.c disk/lvm.c util/raid.c \
+ util/lvm.c gnulib/progname.c grub_setup_init.c
# For grub-ofpathname.
- grub_ofpathname_SOURCES = util/ieee1275/grub-ofpathname.c \
- util/ieee1275/ofpath.c util/misc.c gnulib/progname.c
+ grub_ofpathname_SOURCES = util/ieee1275/grub-ofpathname.c \
+ util/ieee1275/ofpath.c util/misc.c kern/emu/misc.c \
+ gnulib/progname.c
# Scripts.
sbin_SCRIPTS = grub-install
native_platform=@platform@
pkglib_DATA="@pkglib_DATA@"
- coreboot_dir=${libdir}/$(echo ${PACKAGE_TARNAME} | sed ${transform})/${target_cpu}-coreboot
+ multiboot_dir=${libdir}/$(echo ${PACKAGE_TARNAME} | sed ${transform})/${target_cpu}-multiboot
pc_dir=${libdir}/$(echo ${PACKAGE_TARNAME} | sed ${transform})/${target_cpu}-pc
+efi32_dir=${libdir}/$(echo ${PACKAGE_TARNAME} | sed ${transform})/i386-efi
+efi64_dir=${libdir}/$(echo ${PACKAGE_TARNAME} | sed ${transform})/x86_64-efi
# Usage: usage
# Print the usage.
if test -e "${pc_dir}" ; then
process_input_dir ${pc_dir} pc
fi
+ if test -e "${efi32_dir}" ; then
+ process_input_dir ${efi32_dir} efi32
+ fi
+ if test -e "${efi64_dir}" ; then
+ process_input_dir ${efi64_dir} efi64
+ fi
else
process_input_dir ${override_dir} ${native_platform}
- coreboot_dir=
+ multiboot_dir=
pc_dir=
- case "${native_platform}" in
- multiboot) multiboot_dir=${override_dir} ;;
- pc) pc_dir=${override_dir} ;;
+ efi32_dir=
+ efi64_dir=
+ case "${target_cpu}-${native_platform}" in
- i386-coreboot) coreboot_dir=${override_dir} ;;
+ i386-pc) pc_dir=${override_dir} ;;
++ i386-multiboot) multiboot_dir=${override_dir} ;;
+ i386-efi) efi32_dir=${override_dir} ;;
+ x86_64-efi) efi64_dir=${override_dir} ;;
esac
fi
-# build multiboot core.img
+# obtain date-based UUID
+iso_uuid=$(date -u +%Y-%m-%d-%H-%M-%S-00)
+grub_mkisofs_arguments="${grub_mkisofs_arguments} --modification-date=$(echo ${iso_uuid} | sed -e s/-//g)"
+
- # build coreboot core.img
- if test -e "${coreboot_dir}" ; then
- echo "Enabling coreboot support ..."
++# build coreboot multiboot.img
+ if test -e "${multiboot_dir}" ; then
+ echo "Enabling multiboot support ..."
memdisk_img=`mktemp "$MKTEMP_TEMPLATE"`
memdisk_dir=`mktemp -d "$MKTEMP_TEMPLATE"`
mkdir -p ${memdisk_dir}/boot/grub
- # obtain date-based UUID
- iso_uuid=$(date -u +%Y-%m-%d-%H-%M-%S-00)
- modules="$(cat ${coreboot_dir}/partmap.lst) ${modules}"
+ modules="$(cat ${multiboot_dir}/partmap.lst) ${modules}"
cat << EOF > ${memdisk_dir}/boot/grub/grub.cfg
search --fs-uuid --set ${iso_uuid}
- set prefix=(\${root})/boot/grub/${target_cpu}-coreboot
+ set prefix=(\${root})/boot/grub/${target_cpu}-multiboot
+source \$prefix/grub.cfg
EOF
(for i in ${modules} ; do
echo "insmod $i"
tar -C ${memdisk_dir} -cf ${memdisk_img} boot
rm -rf ${memdisk_dir}
- grub-mkimage -O i386-coreboot -d ${coreboot_dir}/ -m ${memdisk_img} -o ${iso9660_dir}/boot/multiboot.img \
- grub-mkelfimage -d ${multiboot_dir}/ -m ${memdisk_img} -o ${iso9660_dir}/boot/multiboot.img \
++ grub-mkimage -O i386-coreboot -d ${multiboot_dir}/ -m ${memdisk_img} -o ${iso9660_dir}/boot/multiboot.img \
memdisk tar search iso9660 configfile sh \
ata at_keyboard
rm -f ${memdisk_img}