Build GRUB UEFI target grubriscv32.efi.

Signed-off-by: Bin Meng <[email protected]>
---

 Dockerfile | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index dc9d6c9..a19067e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -96,7 +96,7 @@ RUN wget 
http://mirrors.kernel.org/ubuntu/pool/main/m/mpfr4/libmpfr4_3.1.4-1_amd
 # Manually install a new enough version of efitools (must be v1.5.2 or later)
 RUN wget 
http://mirrors.kernel.org/ubuntu/pool/universe/e/efitools/efitools_1.8.1-0ubuntu2_amd64.deb
 && sudo dpkg -i efitools_1.8.1-0ubuntu2_amd64.deb && rm 
efitools_1.8.1-0ubuntu2_amd64.deb
 
-# Build GRUB UEFI targets grubarm.efi and grubaa64.efi
+# Build GRUB UEFI targets for ARM & RISC-V, 32-bit and 64-bit
 RUN git clone git://git.savannah.gnu.org/grub.git /tmp/grub && \
        cd /tmp/grub && \
        git checkout grub-2.04 && \
@@ -143,6 +143,20 @@ RUN git clone git://git.savannah.gnu.org/grub.git 
/tmp/grub && \
        lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot \
        search search_fs_file search_fs_uuid search_label serial sleep test \
        true && \
+       make clean && \
+       ./configure --target=riscv32 --with-platform=efi \
+       CC=gcc \
+       TARGET_CC=/opt/gcc-7.3.0-nolibc/riscv32-linux/bin/riscv32-linux-gcc \
+       
TARGET_OBJCOPY=/opt/gcc-7.3.0-nolibc/riscv32-linux/bin/riscv32-linux-objcopy \
+       
TARGET_STRIP=/opt/gcc-7.3.0-nolibc/riscv32-linux/bin/riscv32-linux-strip \
+       TARGET_NM=/opt/gcc-7.3.0-nolibc/riscv32-linux/bin/riscv32-linux-nm \
+       
TARGET_RANLIB=/opt/gcc-7.3.0-nolibc/riscv32-linux/bin/riscv32-linux-ranlib && \
+       make && \
+       ./grub-mkimage -O riscv32-efi -o /opt/grub/grubriscv32.efi --prefix= -d 
\
+       grub-core cat chain configfile echo efinet ext2 fat halt help linux \
+       lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot \
+       search search_fs_file search_fs_uuid search_label serial sleep test \
+       true && \
        rm -rf /tmp/grub
 
 RUN git clone git://git.qemu.org/qemu.git /tmp/qemu && \
-- 
2.7.4

Reply via email to