]> glassweightruler.freedombox.rocks Git - Ventoy.git/blob - GRUB2/buildgrub.sh
CI Debug
[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
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
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
55 sh install.sh arm64
56
57
58
59 # build for i386-pc
60 echo '======== build grub2 for i386-pc ==============='
61 make distclean
62 ./autogen.sh
63 ./configure --target=i386 --with-platform=pc --prefix=$VT_GRUB_DIR/INSTALL/
64 make -j 16
65 sh install.sh
66
67
68
69 cd ../../
70