From 85d33a869dc62afa2ce16b596c47fffa51099257 Mon Sep 17 00:00:00 2001 From: Qinghao Shi Date: Sun, 19 May 2024 11:27:24 +0800 Subject: [PATCH] ci: add kernel 5.10 and opensbi 0.9 build support Signed-off-by: Qinghao Shi --- .github/workflows/ci.yml | 43 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5c0064b..59d0ba0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,10 +36,14 @@ jobs: toolchain_tripe: riscv64-unknown-linux-gnu- - name: linux-64ilp32 toolchain_tripe: riscv64-unknown-elf- + - name: linux-5.10-64lp64 + toolchain_tripe: riscv64-unknown-linux-gnu- - name: opensbi-64lp64 toolchain_tripe: riscv64-unknown-linux-gnu- - name: opensbi-32ilp32 toolchain_tripe: riscv32-unknown-linux-gnu- + - name: opensbi-0.9-64lp64 + toolchain_tripe: riscv64-unknown-linux-gnu- runs-on: ubuntu-22.04 env: @@ -87,6 +91,12 @@ jobs: tar -xvf ${rv64ilp32_toolchain_file_name} -C /opt rm -v ${rv64ilp32_toolchain_file_name} fi + if [ x"${{ matrix.name }}" = x"linux-5.10-64lp64" ]; then + wget ${xt64_toolchain}/${xt64_toolchain_file_name} + tar -xvf ${xt64_toolchain_file_name} -C /opt + mv /opt/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.2 /opt/riscv + rm -v ${xt64_toolchain_file_name} + fi if [ x"${{ matrix.name }}" = x"opensbi-64lp64" ]; then wget ${rv64_toolchain}/${rv64_toolchain_file_name} tar -xvf ${rv64_toolchain_file_name} -C /opt @@ -97,6 +107,12 @@ jobs: tar -xvf ${rv32_toolchain_file_name} -C /opt rm -v ${rv32_toolchain_file_name} fi + if [ x"${{ matrix.name }}" = x"opensbi-0.9-64lp64" ]; then + wget ${xt64_toolchain}/${xt64_toolchain_file_name} + tar -xvf ${xt64_toolchain_file_name} -C /opt + mv /opt/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.2 /opt/riscv + rm -v ${xt64_toolchain_file_name} + fi - name: Compile run: | @@ -165,6 +181,20 @@ jobs: cd - tar czvf ${{ matrix.name }}.tar.gz Image vmlinux git.log modules_install headers_install gdbmacros.txt fi + if [ x"${{ matrix.name }}" = x"linux-5.10-64lp64" ]; then + export PATH="/opt/riscv/bin:$PATH" + git clone https://github.com/c-sky/csky-linux.git linux + cd linux + git checkout 5daa9f6723047b48a7f07c9e1c9969593e7e9829 + echo CONFIG_STD_SVPBMT=y >> arch/riscv/configs/defconfig + make ARCH=riscv EXTRA_CFLAGS+=-g defconfig all INSTALL_MOD_PATH=../modules_install modules_install INSTALL_HDR_PATH=../headers_install headers_install -j$(nproc) + mv arch/riscv/boot/Image ../ + mv vmlinux ../ + cp Documentation/admin-guide/kdump/gdbmacros.txt ../ + git log --oneline -500 > ../git.log + cd - + tar czvf ${{ matrix.name }}.tar.gz Image vmlinux git.log modules_install headers_install gdbmacros.txt + fi if [ x"${{ matrix.name }}" = x"opensbi-64lp64" ]; then export PATH="/opt/riscv/bin:$PATH" git clone https://github.com/riscv-software-src/opensbi.git @@ -189,7 +219,18 @@ jobs: cd - tar czvf ${{ matrix.name }}.tar.gz fw_dynamic.elf fw_dynamic.bin git.log fi - + if [ x"${{ matrix.name }}" = x"opensbi-0.9-64lp64" ]; then + export PATH="/opt/riscv/bin:$PATH" + git clone https://github.com/c-sky/opensbi.git + cd opensbi + git checkout 89182b257c8798e15e4c685c1af0c2862d528d2a + make PLATFORM=generic -j + mv build/platform/generic/firmware/fw_dynamic.bin ../ + mv build/platform/generic/firmware/fw_dynamic.elf ../ + git log --oneline -500 > ../git.log + cd - + tar czvf ${{ matrix.name }}.tar.gz fw_dynamic.elf fw_dynamic.bin git.log + fi - name: 'Upload Artifact' uses: actions/upload-artifact@v4 with: