macOS 如何安装RV driver

  • 您好,目前没有 macOS 的驱动,在macOS下应该和 linux 一样可以通过 lsusb 命令查看到设备,配合upgrade_tool 进行烧录,详细步骤参考https://wiki.luckfox.com/zh/Luckfox-Pic ... %E5%BD%95
  • hi @ Crocodile
    我按照你提供的教程下载了upgrade_tool,但是执行的时候显示 ‘sudo: ./upgrade_tool: command not found’
    麻烦问一下这是什么原因?
  • 请确保运行sudo ./upgrade_tool命令所在的目录有upgrade_tool这个工具
  • 根据你提供的网站教程,确定下载的文件里有upgrade_tool ,但是无法执行,另外linux 系统烧录也没有对应的.sh文件,我没有找到下载的位置
  • 我没有在macos 上的使用经验 ,根据linux的使用经验,出现‘sudo: ./upgrade_tool: command not found’如果不是找不到upgrade_tool,无法运行可能的情况:
    1 工具不完整,使用md5sum ./upgrade_tool获取md5值,对比 c99b914b357a7f47bdc768d3a4b77cbb
    2 权限不足,使用 chmod a+x ./upgrade_tool 添加可执行权限
    3 upgrade_tool 不支持当前运行环境的CPU架构,我们提供的工具链支持x86_64和arm64架构

    linux 的 upgrade_tool 的下载链接是:https://files.luckfox.com/wiki/Core3566 ... _v2.17.zip
  • hi ,我对比了你提供的方法,在虚拟机linux 环境下,Ubuntu system,发现获取的md5与你提供的不匹配,是否是工具不完整呢?我是通过git clone https://gitee.com/LuckfoxTECH/luckfox-pico.git 拉取的官方SDK,在对应的tools/linux/ 下面去执行的,有什么解决方法吗?
  • 上面提到的用于对比的 md5sum 数值是upgrade_too_v2.25_for_mac.zip 中的,SDK中的是linux版本的,使用md5sum获取的一般不会出现文件不完整的情况,但是linux 的 upgrade_tool 是基于 x86_64 构建的,如果您的MAC是 M 系列使用 ARM 的cpu,使用docker可能需要一些额外的配置。
  • 我有在macOS M1 下开发 Luckfox Pico 的经验:

    1. Docker 编译源代码,使用 Orbstack 作为 Docker 运行 arm64 的容器,然后在 apt 中启用 amd64 架构支持,安装一些 glibc 的依赖(参考 Orbstack 文档)就可以在 arm64 的容器下运行 amd64 的软件(编译器或一些工具),这比直接运行 amd64 架构的容器编译速度更快。

    2. 烧写直接使用开源的 rkdeveloptool 工具(需要编译,编译方法参考 Readme,附件也有提供,但不知道能不能用),Orbstack 会为容器的文件系统挂载 NFS 文件共享,可以直接在 macOS 下访问编译后的 image 文件,为了便于下载(主要是需要下载很多个文件),我为他写了个脚本(能在 Linux 下和 macOS 下使用,见附件),将其放入 rkdeveloptool 文件同文件夹下,使用方法如下:

    Code: Select all

    ./rk_flash.sh ~/OrbStack/docker/volumes/rv1103/luckfox-pico/output/image
    其中的 rv1103 是 Docker 挂载的卷名,我直接在该卷下编译 luckfox-pico 的 sdk。
    注:rkdeveloptool 测试了下不能用于 rk3506,rv1103 和 rv1106 是没问题的。

    3. 容器创建过程:

    Code: Select all

    # 创建了卷 rv1103_netswitch,我用的是 OrbStack,所以有个网络驱动器可以直接访问卷
    docker run -it --platform linux/arm64 --privileged --net=host -v rv1103:/mnt/rv1103 --name=rv1103_build ubuntu:22.04 /bin/bash
    
    # 后面可以用这个命令进去
    docker exec -it rv1103_build /bin/bash
    
    # 查看当前架构
    uname -a
    
    # 安装一些常用的软件
    apt update
    apt install -y wget gcc git g++ neovim make cmake curl net-tools iputils-ping tmux usbutils sudo
    
    # 启用多架构支持
    sudo dpkg --add-architecture amd64
    # 备份 /etc/apt/sources.list 并新建
    sudo mv /etc/apt/sources.list /etc/apt/source.list.bak
    nvim /etc/apt/sources.list
    # 内容如下
    #################################################
    # ARM64 架构的源(默认)
    deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy main restricted universe multiverse
    deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates main restricted universe multiverse
    deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-backports main restricted universe multiverse
    deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-security main restricted universe multiverse
    
    # AMD64 架构的源(多架构支持)
    deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse
    deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse
    deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse
    deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main restricted universe multiverse
    ####################################################
    
    # 更新库并安装 libc6 库
    sudo apt update
    sudo apt install libc6:amd64
    
    # 打开工作路径
    cd /mnt/rv1103
    
    4. 安装依赖

    Code: Select all

    # 安装依赖
    sudo apt-get install -y git ssh make gcc module-assistant expect g++ gawk texinfo libssl-dev bison flex fakeroot cmake unzip gperf autoconf device-tree-compiler libncurses5-dev pkg-config bc python-is-python3 passwd openssl openssh-server openssh-client vim file cpio rsync repo bsdmainutils
    # 有两个依赖没法安装 gcc-multilib g++-multilib,但用不到
    
    5. 下载源代码并编译

    Code: Select all

    # 拉取源码
    cd /mnt/rv1103
    git clone https://gitee.com/LuckfoxTECH/luckfox-pico.git
    cd luckfox-pico
    # 尝试运行一下编译器
    # 因为当前在 arm64 架构的系统,但上面已经安装了 amd64 的库,并且 Orbstack 支持在 arm64 的 linux 下转译 amd64,所以跑起来没啥问题,可能转译会损耗一点,但相比整个容器用 amd64 的架构跑整体还是要快一点
    cd ./tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/
    ./bin/arm-rockchip830-linux-uclibcgnueabihf-gcc
    # 安装编译器
    source env_install_toolchain.sh
    cd ../../../../
    # 尝试运行一下安装的编译器,确保环境变量没问题
    arm-rockchip830-linux-uclibcgnueabihf-gcc -v
    # 指定板卡
    ./build.sh lunch
    # 全量编译
    ./build.sh
    # 查看编译出的文件
    ls output/image/
    # 烧写方式在上面
    
    Attachments
    编译后的 rkdeveloptool,适用于 arm64 版本的 macOS,需要赋权限 chmod +x rk_flash.sh,但不确定在其他电脑上是不是能用,不能用就自己编译下
    Downloaded 13 times
    rk_flash.sh.zip (5.23 KiB)
    烧写脚本,需要赋权限 chmod +x rk_flash.sh
    Downloaded 7 times