欢迎光临散文网 会员登陆 & 注册

基于Ubuntu20.04详细的Duo编译环境搭建指南

2023-07-03 11:24 作者:gracefeld  | 我要投稿

指南使用Ubuntu 20.04 LTS Server作为系统

1.安装依赖

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 cpio unzip wget libncurses-dev

2.安装Cmake

  • Apt自带的Cmake版本为3.16.3,SDK要求为3.16.5及以上所以需要自行下载一个预编译的Cmake

wget -c https://cmake.org/files/v3.19/cmake-3.19.3-Linux-x86_64.tar.gz tar -zxvf cmake-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"' >> ~/.bashrcsource ~/.bashrc

3.获取SDK

mkdir duo && cd duo curl https://storage.googleapis.com/git-repo-downloads/repo > repochmod a+rx  repo ./repo init -u https://github.com/milk-v/duo-manifest.git -b main -m milk-v_duo_CV180xb_sdk.xml ./repo sync

  • 你在中国大陆请使用下面命令进行下载

  • 如果repo init报错,需要设置全局的用户邮箱与用户名然后再执行repo init即可

git config --global url."https://hub.fgit.ml/".insteadOf "https://github.com/"mkdir duo && cd duo curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repochmod +x repoexport REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'./repo init -u https://hub.fgit.ml/milk-v/duo-manifest.git -b main -m milk-v_duo_CV180xb_sdk.xml ./repo sync

4.编译

source build/cvisetup.sh defconfig CV1800b_sophpi_duo_sd clean_all && build_all && pack_sd_image#命令分别为清理编译打包

  • 每次打包都会生成一个新的img,可用使用rm -rf install/soc_CV1800b_sophpi_duo_sd/*.img*来进行删除

  • 使用buildroot 作为rootfs

cd buildroot-2021.05/ make cvitek_CV180X_musl_risCV64_defconfig

  • 因为clean_all,你在buildroot目录下进行make menuconfig后生成的.config文件并不会应用在实际的编译中,可以使用如下命令覆盖默认配置文件

mv configs/cvitek_CV180X_musl_risCV64_defconfig configs/cvitek_CV180X_musl_risCV64_defconfig.bak#先备份下原来的配置文件mv .config configs/cvitek_CV180X_musl_risCV64_defconfig#替换掉默认的defconfig

  • u-boot的默认配置文件:
    build/boards/CV180x/CV1800b_sophpi_duo_sd/linux/cvitek_CV1800b_sophpi_duo_sd_defconfig

  • menuconfig_uboot后修改的配置文件:
    u-boot-2021.10/build/CV1800b_sophpi_duo_sd/.config

  • u-boot的默认配置文件:
    build/boards/CV180x/CV1800b_sophpi_duo_sd/u-boot/cvitek_CV1800b_sophpi_duo_sd_defconfig

  • menuconfig_kernel后修改的配置文件:
    linux_5.10/build/CV1800b_sophpi_duo_sd/.config

  • 可以参考上面在修改配置后覆盖默认配置文件

  • 如果嫌Linux内存太少了,可以修改build/boards/CV180x/CV1800b_sophpi_duo_sd/memmap.py文件的第43行的 ION_SIZE

  • 默认大小

   # =================    # Multimedia buffer. Used by u-boot/kernel/FreeRTOS    # =================    ION_SIZE = 26.80078125 * SIZE_1M    H26X_BITSTREAM_SIZE = 0 * SIZE_1M    H26X_ENC_BUFF_SIZE = 0

  • 可以修改为4M,这样就会拥有更多的内存了,如下修改大约为35M总内存,使用Buildroot作为Rootfs可用约为17M

   # =================    # Multimedia buffer. Used by u-boot/kernel/FreeRTOS    # =================    ION_SIZE = 4 * SIZE_1M    H26X_BITSTREAM_SIZE = 0 * SIZE_1M    H26X_ENC_BUFF_SIZE = 0

  • 然后在重新编译一遍即可生效

5.插电开机

  • 串口引脚需要以 🍐 Duo | Milk-V 34 页面上的为准 请勿相信板子上的丝印

  • 默认使用串口0 115200波特率

6.其他

  • 编译出来的镜像位于根目录的install文件夹下 如install/soc_CV1800b_sophpi_duo_sd/

  • 如使用Etcher刷写镜像需要将tar.gz内的img解压出来后选择img镜像,不能直接选择tar.gz

  • 在根目录执行menuconfig可以进入SDK的配置页面

  • clean_all会覆盖掉uboot与kernel的.config配置,要修改的话先clean在配置

  • 在buildroot目录下make menuconfig 可以进入build root的配置页面



基于Ubuntu20.04详细的Duo编译环境搭建指南的评论 (共 条)

分享到微博请遵守国家法律