Milk V Duo linux内核编译教程

[] 准备工作


本地环境windows11 64位


编译环境:VMware Ubuntu 22.04.4.2 LTS 

(没安装Ubuntu的需本地电脑安装一个或者在虚拟机中安装一个都行)


准备一张SD卡

milk-v duo主板


[] 安装依赖:

sudo apt-get update


sudo apt install dialog python3-dev make git bc gcc flex bison ninja-build libssl-dev rsync pkg-config device-tree-compiler squashfs-tools parted dosfstools


安装 cmake


sudo apt-get install cmake


创建开发环境目录:

mkdir duo && cd duo


[] 下载开发包cvi_mmf_sdk.zip:

wget -c https://link.zhihu.com/?target=https%3A//codeload.github.com/sophgo/cvi_mmf_sdk/zip/refs/heads/v4.1.0 -O cvi_mmf_sdk.zip


然后解压:

unzip cvi_mmf_sdk.zip

mv cvi_mmf_sdk-4.1.0/ cvi_mmf_sdk/


[] 下载工具链:

wget https://link.zhihu.com/?target=https%3A//sophon-file.sophon.cn/sophon-prod-s3/drive/23/03/07/16/host-tools.tar.gz


然后解压:

tar xvf host-tools.tar.gz

移动到开发包下:

mv host-tools/ cvi_mmf_sdk/


[] 开始编译按照如下步骤单步进行:

cd cvi_mmf_sdk/

source build/cvisetup.sh

defconfig cv1800b_sophpi_duo_sd

clean_all

build_all

pack_sd_image


注:如果编译过程中提示缺少libssl.so.1.1,则进行如下安装

wget

http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb

(如果链接失效,可以在这里自行下载http://security.ubuntu.com/ubuntu/pool/main/o/openssl/)


sudo dpkg -i libssl1.1_1.1.1-1ubuntu2.1_18.04.21_amd64.deb


最后编译完成后,会在文件夹下生成一个install文件夹。


install/soc_cv1800b_sophpi_duo_sd的文件夹目录如下:


[] 向SD卡烧写系统:


cd install/soc_cv1800b_sophpi_duo_sd/


可以找到*.img文件. SD卡插入电脑.


使用命令行写入镜像到SD卡

sudo dd if=./sophpi-duo-*.img of=/dev/sdx bs=32M status=progress oflag=direct

("sophpi-duo-*.img" 和 "sdx" 改为你实际的名字)


或者吧*.img文件复制出来.使用软件直接烧写镜像到SD卡,参考Milk-V Duo镜像烧写教程


[] 启动系统:


SD卡插到板子上,使用TTL串口接到板子的串口0上(无需供电),然后在电脑上用串口调试工具打开串口,用TYPEC线将板子与电脑连接,稍等片刻即可进入系统。



注意这个版本的系统内核未添加RNDIS协议,所以DUO开发板插上USB后在设备管理器是无法识别到该开发板的!