手头有现成的虚拟机环境,版本为Ubuntu20.04。 根据官方资料开始编译源码,首先安装必要的软件包: sudo apt install dialog python3-dev makegit bc gcc flex bison ninja-build libssl-dev rsync pkg-config device-tree-compiler squashfs-tools parted dosfstoolscpio unzip wget 按照以下步骤安装cmake: $ tar -zxvfcmake-3.19.3-Linux-x86_64.tar.gz $ sudo mv cmake-3.19.3-Linux-x86_64/usr/bin/ $ echo 'export PATH="/usr/bin/cmake-3.19.3-Linux-x86_64/bin:$PATH"'>> ~/.bashrc $ source ~/.bashrc 接下来就是最折磨人的github拉源码,首先做好拉代码的准备: $ mkdir -p ~/.bin $ PATH="${HOME}/.bin:${PATH}" $ chmod a+rx ~/.bin/repo 执行下面的命令开始拉源码: $ mkdir duo && cd duo
拉代码失败,用下载的源码包吧。将源码解压后,执行下面的命令: $ source build/cvisetup.sh $ defconfig cv1800b_sophpi_duo_sd $ clean_all $ build_all 报错,没有编译器:
去官网下载编译器,设置好环境变量后重新编译,又报错:
漏装了ninja软件包,安装上,再次编译,不久又报错:
用下面命令安装上软件包: sudo apt installgcc-riscv64-unknown-elf
再次重新编译后,成功:
使用命令pack_sd_image打包,得到镜像文件:
看这个名字,跟官方镜像milkv开头不一致,一度怀疑是不是源码搞错了,后来成功烧写到TF卡并正确运行后才知道没有搞错,只是名字不同而已。
编译的过程有些曲折,但只要根据提示去查找问题,还是可以解决的。
|