微光录
← 返回列表

Luckfox Pico (RV1106) 开发环境使用指南

本文档描述本机 Ubuntu 上的 RV1106 开发环境,供从 Windows 阅读。 主机:Ubuntu 22.04.5 LTS,局域网 IP 10.0.0.245,用户 wangbeihong 目标板:RV1106 Luckfox Pico Ultra W


一、环境总览

项目 内容
操作系统 Ubuntu 22.04.5 LTS (jammy), amd64
Docker 29.8.1(已装,国内镜像加速已启用)
开发镜像 luckfoxtech/luckfox_pico:1.0(已导入)
SDK 目录 /home/wangbeihong/luckfox-pico(v1.4,已解压)
SDK 备份 /home/wangbeihong/share/luckfox_sdk_source.tar.gz(2.1G,勿删,用于回退)
交叉编译工具链 arm-rockchip830-linux-uclibcgnueabihf(gcc 8.3.0)
Windows 共享 \\10.0.0.245\share 和 \\10.0.0.245\home

二、相关目录

/home/wangbeihong/
├── luckfox-pico/          # SDK 源码(编译在这里进行)
│   └── output/image/      # 编译产物(烧录用的 update.img)
├── share/                 # Windows 共享目录(本文档所在)
├── scripts/               # 运维脚本
│   ├── install-docker.sh  # 一键装 Docker
│   ├── setup-samba.sh     # 一键开共享
│   ├── run-luckfox.sh     # 启动 SDK 编译容器  ← 最常用
│   └── README.md          # 脚本说明
└── AGENTS.md              # 工作约定

三、快速开始(五步)

第 1 步:进入编译容器

bash ~/scripts/run-luckfox.sh

进入后应看到:

[luckfox] 交叉编译工具链已加载: /home/luckfox-pico/tools/.../arm-rockchip830-...-gcc
[luckfox] 当前目录: /home/luckfox-pico

容器内 /home/luckfox-pico = 宿主机 ~/luckfox-pico,容器里编译的文件会直接出现在宿主机上。

第 2 步:选择目标板

./build.sh lunch

按顺序选择(Ultra W):

提问 输入 含义
选择 Luckfox Pico 硬件版本 6 RV1106_Luckfox_Pico_Ultra_W
选择启动媒介 boot medium 0 或 1 有 SD 卡选 0 SD_CARD;只有板载 SPI NAND 选 1 SPI_NAND
选择系统版本 system version 回车 [0] Buildroot

第 3 步:编译

./build.sh            # 全量编译(uboot + kernel + rootfs),首次较慢
./build.sh firmware   # 打包 update.img

或一步到位:

./build.sh allsave

首次编译会联网下载 buildroot 软件包,需要较长时间,请耐心等待。

第 4 步:退出容器

exit

第 5 步:取固件并烧录

固件位置(宿主机):

/home/wangbeihong/luckfox-pico/output/image/update.img

Windows 也能直接取:\\10.0.0.245\home\luckfox-pico\output\image

烧录(Ultra W):

  1. Windows 安装瑞芯微驱动和 RKDevTool
  2. 板子按住 BOOT 键 再插 USB,进入 Loader/Maskrom 模式
  3. RKDevTool 选择 update.img → 点「升级」

四、常用命令速查(容器内执行)

命令 作用
./build.sh lunch 选择板级配置
./build.sh 全量编译(uboot + kernel + rootfs)
./build.sh uboot 只编译 uboot
./build.sh kernel 只编译内核
./build.sh rootfs 只编译根文件系统
./build.sh firmware 打包固件
./build.sh allsave 编译 + 打包
./build.sh info 查看当前配置
./build.sh clean 清理全部
exit 退出容器(容器会自动删除)

五、资源限制(重要)

本机内存仅 5.4G(12 核 CPU / 2G swap),为防止编译把主机拖垮,编译容器已加限制:

资源 默认上限 环境变量覆盖
内存 3G LUCKFOX_MEM
内存 + swap 3G(不允许用 swap) LUCKFOX_MEM_SWAP
CPU 8 核 LUCKFOX_CPUS
进程数 4096 LUCKFOX_PIDS

超限只会杀掉容器里的进程,不会拖垮主机。

如需临时放宽(例如编译被 OOM 中断):

LUCKFOX_MEM=4g LUCKFOX_CPUS=10 bash ~/scripts/run-luckfox.sh

建议内存上限不要超过 4G,要给系统和 swap 留余量。


六、Windows 访问共享

Windows 地址 Ubuntu 目录
\\10.0.0.245\share /home/wangbeihong/share
\\10.0.0.245\home /home/wangbeihong(整个家目录)
  • 登录用户:wangbeihong,密码为安装共享时设置的 Samba 密码
  • 长期挂载:net use Z: \\10.0.0.245\home /persistent:yes
  • 命令行存凭据:cmdkey /add:10.0.0.245 /user:wangbeihong /pass:<你的密码>

七、常见问题

Q1:编译中途被中断 / 提示 Killed? 内存超限被 OOM 杀了。用 LUCKFOX_MEM=4g bash ~/scripts/run-luckfox.sh 重进再编。

Q2:arm-rockchip830-linux-uclibcgnueabihf-gcc: command not found? 工具链没加载。手动加载(必须先 cd 进工具链目录):

cd /home/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf
source env_install_toolchain.sh
cd /home/luckfox-pico

Q3:docker: permission denied? 当前 shell 未加载 docker 组。执行 newgrp docker,或重新登录 SSH。

Q4:拉取镜像很慢? 已配置国内镜像加速。如需调整,编辑 /etc/docker/daemon.json 后 sudo systemctl restart docker。

Q5:Windows 访问共享提示不允许匿名访问? 管理员 PowerShell 执行后重启:

reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v AllowInsecureGuestAuth /t REG_DWORD /d 1 /f

Q6:编译产物太大/想重来? 删除 ~/luckfox-pico/output 后重新编译即可;SDK 源码不用动。


八、脚本清单(~/scripts/)

脚本 用途 运行
install-docker.sh 一键安装 Docker bash ~/scripts/install-docker.sh
setup-samba.sh 开启 Windows 共享 bash ~/scripts/setup-samba.sh
run-luckfox.sh 启动 SDK 编译容器 bash ~/scripts/run-luckfox.sh

文档生成于 2026-09-25。如需更新,告诉我即可。