]> glassweightruler.freedombox.rocks Git - Ventoy.git/blob - GRUB2/buildgrub.sh
1. Fix the bug when booing Easy Recovery Essentional for Windows10.
[Ventoy.git] / GRUB2 / buildgrub.sh
1 #!/bin/bash
2
3 VT_GRUB_DIR=$PWD
4
5 rm -rf INSTALL
6 rm -rf SRC
7 rm -rf NBP
8 rm -rf PXE
9
10 mkdir SRC
11 mkdir NBP
12 mkdir PXE
13
14 tar -xf grub-2.04.tar.xz -C ./SRC/
15
16 /bin/cp -a ./MOD_SRC/grub-2.04 ./SRC/
17
18 cd ./SRC/grub-2.04
19
20
21 # build for x86_64-efi
22 echo '======== build grub2 for x86_64-efi ==============='
23 make distclean
24 ./autogen.sh
25 ./configure --with-platform=efi --prefix=$VT_GRUB_DIR/INSTALL/
26 make -j 16 || exit 1
27 sh install.sh uefi
28
29
30 #build for i386-efi
31 echo '======== build grub2 for i386-efi ==============='
32 make distclean
33 ./autogen.sh
34 ./configure --target=i386 --with-platform=efi --prefix=$VT_GRUB_DIR/INSTALL/
35 make -j 16 || exit 1
36 sh install.sh i386efi
37
38
39
40 #build for arm64 EFI
41 echo '======== build grub2 for arm64-efi ==============='
42 PATH=$PATH:/opt/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin
43 make distclean
44 ./autogen.sh
45 ./configure --prefix=$VT_GRUB_DIR/INSTALL/ \
46 --target=aarch64 --with-platform=efi \
47 --host=x86_64-linux-gnu \
48 HOST_CC=x86_64-linux-gnu-gcc \
49 BUILD_CC=gcc \
50 TARGET_CC=aarch64-linux-gnu-gcc \
51 TARGET_OBJCOPY=aarch64-linux-gnu-objcopy \
52 TARGET_STRIP=aarch64-linux-gnu-strip TARGET_NM=aarch64-linux-gnu-nm \
53 TARGET_RANLIB=aarch64-linux-gnu-ranlib
54 make -j 16 || exit 1
55 sh install.sh arm64
56
57
58 #build for mips64el EFI
59 #http://ftp.loongnix.org/os/loongnix-server/1.7/os/Source/SPackages/grub2-2.02-0.40.lns7.14.loongnix.src.rpm
60 make distclean
61 ./autogen.sh
62 ./configure --prefix=/home/share/Ventoy/GRUB2/INSTALL/ \
63 --target=mips64el --with-platform=efi \
64 --host=x86_64-linux-gnu \
65 HOST_CC=x86_64-linux-gnu-gcc \
66 BUILD_CC=gcc \
67 TARGET_CC="mips-linux-gnu-gcc -mabi=64 -Wno-error=cast-align -Wno-error=misleading-indentation" \
68 TARGET_OBJCOPY=mips-linux-gnu-objcopy \
69 TARGET_STRIP=mips-linux-gnu-strip TARGET_NM=mips-linux-gnu-nm \
70 TARGET_RANLIB=mips-linux-gnu-ranlib
71 make -j 16 || exit 1
72 sh install.sh mips64el
73
74
75
76 # build for i386-pc
77 echo '======== build grub2 for i386-pc ==============='
78 make distclean
79 ./autogen.sh
80 ./configure --target=i386 --with-platform=pc --prefix=$VT_GRUB_DIR/INSTALL/
81 make -j 16 || exit 1
82 sh install.sh
83
84
85
86 cd ../../
87