Skip to content

Commit 85d33a8

Browse files
jamesbeyondguoren83
authored andcommitted
ci: add kernel 5.10 and opensbi 0.9 build support
Signed-off-by: Qinghao Shi <shiqinghao.sqh@alibaba-inc.com>
1 parent 0349e2d commit 85d33a8

1 file changed

Lines changed: 42 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,14 @@ jobs:
3636
toolchain_tripe: riscv64-unknown-linux-gnu-
3737
- name: linux-64ilp32
3838
toolchain_tripe: riscv64-unknown-elf-
39+
- name: linux-5.10-64lp64
40+
toolchain_tripe: riscv64-unknown-linux-gnu-
3941
- name: opensbi-64lp64
4042
toolchain_tripe: riscv64-unknown-linux-gnu-
4143
- name: opensbi-32ilp32
4244
toolchain_tripe: riscv32-unknown-linux-gnu-
45+
- name: opensbi-0.9-64lp64
46+
toolchain_tripe: riscv64-unknown-linux-gnu-
4347

4448
runs-on: ubuntu-22.04
4549
env:
@@ -87,6 +91,12 @@ jobs:
8791
tar -xvf ${rv64ilp32_toolchain_file_name} -C /opt
8892
rm -v ${rv64ilp32_toolchain_file_name}
8993
fi
94+
if [ x"${{ matrix.name }}" = x"linux-5.10-64lp64" ]; then
95+
wget ${xt64_toolchain}/${xt64_toolchain_file_name}
96+
tar -xvf ${xt64_toolchain_file_name} -C /opt
97+
mv /opt/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.2 /opt/riscv
98+
rm -v ${xt64_toolchain_file_name}
99+
fi
90100
if [ x"${{ matrix.name }}" = x"opensbi-64lp64" ]; then
91101
wget ${rv64_toolchain}/${rv64_toolchain_file_name}
92102
tar -xvf ${rv64_toolchain_file_name} -C /opt
@@ -97,6 +107,12 @@ jobs:
97107
tar -xvf ${rv32_toolchain_file_name} -C /opt
98108
rm -v ${rv32_toolchain_file_name}
99109
fi
110+
if [ x"${{ matrix.name }}" = x"opensbi-0.9-64lp64" ]; then
111+
wget ${xt64_toolchain}/${xt64_toolchain_file_name}
112+
tar -xvf ${xt64_toolchain_file_name} -C /opt
113+
mv /opt/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.2 /opt/riscv
114+
rm -v ${xt64_toolchain_file_name}
115+
fi
100116
101117
- name: Compile
102118
run: |
@@ -165,6 +181,20 @@ jobs:
165181
cd -
166182
tar czvf ${{ matrix.name }}.tar.gz Image vmlinux git.log modules_install headers_install gdbmacros.txt
167183
fi
184+
if [ x"${{ matrix.name }}" = x"linux-5.10-64lp64" ]; then
185+
export PATH="/opt/riscv/bin:$PATH"
186+
git clone https://github.com/c-sky/csky-linux.git linux
187+
cd linux
188+
git checkout 5daa9f6723047b48a7f07c9e1c9969593e7e9829
189+
echo CONFIG_STD_SVPBMT=y >> arch/riscv/configs/defconfig
190+
make ARCH=riscv EXTRA_CFLAGS+=-g defconfig all INSTALL_MOD_PATH=../modules_install modules_install INSTALL_HDR_PATH=../headers_install headers_install -j$(nproc)
191+
mv arch/riscv/boot/Image ../
192+
mv vmlinux ../
193+
cp Documentation/admin-guide/kdump/gdbmacros.txt ../
194+
git log --oneline -500 > ../git.log
195+
cd -
196+
tar czvf ${{ matrix.name }}.tar.gz Image vmlinux git.log modules_install headers_install gdbmacros.txt
197+
fi
168198
if [ x"${{ matrix.name }}" = x"opensbi-64lp64" ]; then
169199
export PATH="/opt/riscv/bin:$PATH"
170200
git clone https://github.com/riscv-software-src/opensbi.git
@@ -189,7 +219,18 @@ jobs:
189219
cd -
190220
tar czvf ${{ matrix.name }}.tar.gz fw_dynamic.elf fw_dynamic.bin git.log
191221
fi
192-
222+
if [ x"${{ matrix.name }}" = x"opensbi-0.9-64lp64" ]; then
223+
export PATH="/opt/riscv/bin:$PATH"
224+
git clone https://github.com/c-sky/opensbi.git
225+
cd opensbi
226+
git checkout 89182b257c8798e15e4c685c1af0c2862d528d2a
227+
make PLATFORM=generic -j
228+
mv build/platform/generic/firmware/fw_dynamic.bin ../
229+
mv build/platform/generic/firmware/fw_dynamic.elf ../
230+
git log --oneline -500 > ../git.log
231+
cd -
232+
tar czvf ${{ matrix.name }}.tar.gz fw_dynamic.elf fw_dynamic.bin git.log
233+
fi
193234
- name: 'Upload Artifact'
194235
uses: actions/upload-artifact@v4
195236
with:

0 commit comments

Comments
 (0)