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):
- Windows 安装瑞芯微驱动和 RKDevTool
- 板子按住 BOOT 键 再插 USB,进入 Loader/Maskrom 模式
- 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-picoQ3: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 /fQ6:编译产物太大/想重来?
删除 ~/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。如需更新,告诉我即可。