开发环境搭建与程序烧录
一、环境搭建
使用WSL2 环境 Ubuntu22.04 即可
在用户目录下建立 work/d1s 文件夹作为我们的工作空间,将资料里对应的文件放到这个目录下:

这几个文件夹的作用如下:
bootcard/
用于打包启动镜像的工具或脚本,将 SPL、U-Boot、设备树、内核等组合成可启动镜像。
linux-5.4/
Linux 内核源码目录,包含内核、驱动和设备树,编译后生成 Image、dtb 等文件。
opensbi/
RISC-V 平台的底层固件,运行在 M 模式,为内核提供 SBI 接口(中断、时钟等)。
riscv64-wangzai-linux-gnu-gcc/
RISC-V 交叉编译工具链,用于编译 OpenSBI、U-Boot、Linux 等源码。
spl/
Secondary Program Loader,U-Boot 的精简引导阶段,用于初始化 DDR、时钟等基础硬件。
u-boot/
通用引导程序源码,负责加载内核和设备树,提供串口命令行与启动控制功能。二、程序烧录
进入linux源码目录进行编译:
bash
cd linux-5.4/
export ARCH=riscv
export CROSS_COMPILE=/home/duruofu/work/d1s/riscv64-wangzai-linux-gnu-gcc/bin/riscv64-unknown-linux-gnu-
make wangzai_d1s_rtl8723ds_defconfig
make -j8将Image和wangzai_d1s.dtb文件拷贝到“bootcard”目录下:
bash
cp ~/work/d1s/linux-5.4/arch/riscv/boot/dts/sunxi/wangzai_d1s.dtb ~/work/d1s/bootcard/
cp ~/work/d1s/linux-5.4/arch/riscv/boot/Image ~/work/d1s/bootcard/制作启动卡(使用usbipd 挂载读卡器到wsl):
ls /dev/sd*
这里的/dev/sde是SD卡,不放心可以拔掉测试,进入“bootcard”,执行如下命令(不同的环境对应的号不一样,需要自己测试一下):
bash
sudo ./mkbootcard /dev/sde这里遇到了烧录不了的情况,是由于WSL默认不支持USB块设备驱动,需要重新编译内核,可以参考:
https://zhuanlan.zhihu.com/p/661175117
或者直接升级WSL2 现在最新的内核已经可以直接支持USB块设备驱动了
烧录完成将SD卡插上,即可启动系统。

