Reworked grub2 EFI setup to use system grub2-efi instead of internal build
This commit is contained in:
parent
725000e0a2
commit
595e78c0a1
51
Makefile
51
Makefile
@ -11,7 +11,6 @@ KERNEL_VERSION = 3.14.22
|
||||
KERNEL_PATCHES =
|
||||
BB_VERSION = 1.22.1
|
||||
SYSLINUX_VERSION = 4.04
|
||||
GRUB2_VERSION = 2.00
|
||||
MEMTEST_VERSION = 4.20
|
||||
PKG_EXT = pkg.tar.xz
|
||||
PKGMK_CONF = $(PWD)/pkgmk.conf
|
||||
@ -153,36 +152,9 @@ syslinux-distclean: syslinux-clean
|
||||
|
||||
|
||||
# grub2-efi
|
||||
iso/EFI/grub-$(GRUB2_VERSION).tar.xz:
|
||||
cd iso/EFI && wget http://ftp.gnu.org/gnu/grub/grub-$(GRUB2_VERSION).tar.xz
|
||||
|
||||
iso/EFI/grub2-build-x86_64/grub-$(GRUB2_VERSION): iso/EFI/grub-$(GRUB2_VERSION).tar.xz
|
||||
mkdir iso/EFI/grub2-build-x86_64
|
||||
tar -C iso/EFI/grub2-build-x86_64 -xJmf iso/EFI/grub-$(GRUB2_VERSION).tar.xz
|
||||
sed -i -e '/gets is a/d' iso/EFI/grub2-build-x86_64/grub-$(GRUB2_VERSION)/grub-core/gnulib/stdio.in.h
|
||||
|
||||
iso/EFI/grub2-build-i386/grub-$(GRUB2_VERSION): iso/EFI/grub-$(GRUB2_VERSION).tar.xz
|
||||
mkdir iso/EFI/grub2-build-i386
|
||||
tar -C iso/EFI/grub2-build-i386 -xJmf iso/EFI/grub-$(GRUB2_VERSION).tar.xz
|
||||
sed -i -e '/gets is a/d' iso/EFI/grub2-build-i386/grub-$(GRUB2_VERSION)/grub-core/gnulib/stdio.in.h
|
||||
|
||||
iso/EFI/grub2-x86_64.efi: iso/EFI/grub2-build-x86_64/grub-$(GRUB2_VERSION)
|
||||
(cd iso/EFI/grub2-build-x86_64 && \
|
||||
CFLAGS="-Wno-error" ./grub-$(GRUB2_VERSION)/configure --with-platform=efi --target=x86_64 && \
|
||||
make && \
|
||||
cd grub-core && \
|
||||
../grub-mkimage -c ../../../grub-early.cfg -d . -o ../../grub2-x86_64.efi \
|
||||
-O x86_64-efi -p "" iso9660 normal search search_fs_file)
|
||||
|
||||
iso/EFI/grub2-i386.efi: iso/EFI/grub2-build-i386/grub-$(GRUB2_VERSION)
|
||||
(cd iso/EFI/grub2-build-i386 && \
|
||||
CFLAGS="-Wno-error" ./grub-$(GRUB2_VERSION)/configure --with-platform=efi --target=i386 && \
|
||||
make && \
|
||||
cd grub-core && \
|
||||
../grub-mkimage -c ../../../grub-early.cfg -d . -o ../../grub2-i386.efi \
|
||||
-O i386-efi -p "" iso9660 normal search search_fs_file)
|
||||
|
||||
grub2-efi: iso/EFI/grub2-x86_64.efi iso/EFI/grub2-i386.efi
|
||||
grub2-efi: /usr/bin/grub-mkimage
|
||||
/usr/bin/grub-mkimage -c iso/grub-early.cfg -o iso/EFI/bootx64.efi -O x86_64-efi -p "" iso9660 normal search search_fs_file
|
||||
/usr/bin/grub-mkimage -c iso/grub-early.cfg -o iso/EFI/bootia32.efi -O i386-efi -p "" iso9660 normal search search_fs_file
|
||||
|
||||
iso/efiboot.img: grub2-efi
|
||||
dd if=/dev/zero of=iso/efiboot.img count=4096
|
||||
@ -190,21 +162,14 @@ iso/efiboot.img: grub2-efi
|
||||
mkdir -p iso/efiboot
|
||||
mount -o loop iso/efiboot.img iso/efiboot
|
||||
mkdir -p iso/efiboot/EFI/boot
|
||||
cp iso/EFI/grub2-x86_64.efi \
|
||||
iso/efiboot/EFI/boot/bootx64.efi
|
||||
cp iso/EFI/grub2-i386.efi \
|
||||
iso/efiboot/EFI/boot/bootia32.efi
|
||||
cp iso/EFI/bootx64.efi iso/efiboot/EFI/boot/
|
||||
cp iso/EFI/bootia32.efi iso/efiboot/EFI/boot/
|
||||
umount iso/efiboot
|
||||
|
||||
grub2-efi-clean:
|
||||
rm -rf iso/EFI/grub-$(GRUB2_VERSION) iso/EFI/grub2-build-*
|
||||
rm -f iso/EFI/grub2-*.efi
|
||||
rm -f iso/EFI/*.efi
|
||||
rm -rf iso/efiboot iso/efiboot.img
|
||||
|
||||
grub2-efi-distclean: grub2-efi-clean
|
||||
rm -f iso/EFI/grub-$(GRUB2_VERSION).tar.xz
|
||||
|
||||
|
||||
|
||||
|
||||
# memtest86+
|
||||
@ -441,8 +406,8 @@ iso: image-base memtest
|
||||
@cp iso/isolinux/memtest86+-$(MEMTEST_VERSION).bin $(IMG_ROOT_DIR)/boot/isolinux/memtest86plus
|
||||
@cp iso/efiboot.img $(IMG_ROOT_DIR)/boot/
|
||||
@mkdir -p $(IMG_ROOT_DIR)/boot/grub/{x86_64,i386}-efi
|
||||
@cp -a iso/EFI/grub2-build-x86_64/grub-core/*.{mod,lst} $(IMG_ROOT_DIR)/boot/grub/x86_64-efi/
|
||||
@cp -a iso/EFI/grub2-build-i386/grub-core/*.{mod,lst} $(IMG_ROOT_DIR)/boot/grub/i386-efi/
|
||||
@cp -a /usr/lib/grub/x86_64-efi/*.{mod,lst} $(IMG_ROOT_DIR)/boot/grub/x86_64-efi/
|
||||
@cp -a /usr/lib/grub/i386-efi/*.{mod,lst} $(IMG_ROOT_DIR)/boot/grub/i386-efi/
|
||||
@cp iso/grub.cfg $(IMG_ROOT_DIR)/boot/grub/
|
||||
@echo "- Creating ISO sort table"
|
||||
@echo "$(IMG_ROOT_DIR)/boot 100" > /tmp/iso.sort
|
||||
|
Loading…
x
Reference in New Issue
Block a user