在Windows下使用WSL2搭建Luckfox-Lyra嵌入式Linux开发环境

一、选择WSL2环境

Luckfox官方的SDK环境部署章节推荐操作系统是Ubuntu22.04,因此我们选择Ubuntu22.04 LTS作为开发环境,在微软商店搜索Ubuntu即可找到并下载,直达链接。注意要下载LTS版本!

安装完成后,进入WSL,执行以下命令以更新Ubuntu环境:

sudo apt update && sudo apt upgrade

可以考虑使用其他环境来部署,理论上只要能将所需依赖全部安装完成即可正常使用。但是需要注意在部署SDK环境的过程中会有一些侵害性操作,比如将python2软链接至/usr/bin/python,因此请尽量不要在其他生产力环境或日用环境中部署此SDK。

二、下载SDK

官方SDK下载地址在这:直达链接

下载完成后,得到如下的文件:

将该文件移动至WSL中,可以直接放在用户主目录下(/home/用户名/)。

三、部署SDK

3.1 删除Windows环境变量

由于WSL默认会将Windows的一些环境写入bashrc中,而Windows的环境路径中包含空格(如“Program Files”),会导致SDK报错,因此需要将这些环境给删除。

在WSL中输入 echo $PATH 即可查看当前环境变量。

在WSL中修改配置文件/etc/wsl.conf:

sudo vim /etc/wsl.conf

在文件中加入这两行:

[interop]
appendWindowsPath = false

然后在cmd或powershell中重启WSL:

wsl --shutdown

重新进入WSL,检查环境变量,发现已经没有Windows相关的路径了。

3.2 补全依赖

为了SDK环境可以正常使用,在这里补全SDK所需的依赖:

sudo apt-get update && sudo apt-get install git ssh make gcc libssl-dev \
liblz4-tool expect expect-dev g++ patchelf chrpath gawk texinfo chrpath \
diffstat binfmt-support qemu-user-static live-build bison flex fakeroot \
cmake gcc-multilib g++-multilib unzip device-tree-compiler ncurses-dev \
libgucharmap-2-90-dev bzip2 expat gpgv2 cpp-aarch64-linux-gnu libgmp-dev \
libmpc-dev bc python-is-python3 python2 

然后设置Python2环境变量:

sudo ln -sf /usr/bin/python2 /usr/bin/python

3.3 解压SDK

进入SDK所在目录,然后执行以下命令进行解压操作:

mkdir Luckfox-SDK && mv Luckfox_Lyra_SDK_250623.tar.gz ./Luckfox-SDK/ && cd Luckfox-SDK
tar -xzvf Luckfox_Lyra_SDK_250623.tar.gz 

然后对解压后的SDK进行解包操作:

.repo/repo/repo sync -l

3.4 编译SDK

首先选择自己开发板的配置文件:

./build.sh lunch

然后尝试编译整个SDK:

./build.sh

编译SDK速度视电脑性能而定,花费时间可能在半小时至数小时不等,请坐和放宽。

四、烧录镜像至开发板

4.1 将编译结果同步至Windows

在Linux中编译完镜像后,我们可以将编译结果同步到Windows中,方便在Windows中烧录镜像。

编译生成的文件存放在/SDK目录/output/firmware中,且全部为符号链接,使用ls -al可以显示具体的链接位置:

首先在Windows中新建一个文件夹,用于存放编译结果。我将该文件夹新建在文档目录下,并命名为Luckfox-Images:

然后在WSL的SDK目录下新建一个sync.sh脚本:

vim sync.sh

在脚本中将对应的文件同步到Windows中,示例如下,请根据实际路径更改:

#!/usr/bin/bash

rsync -v ./u-boot/rk3506_spl_loader_v1.04.110.bin /mnt/c/Users/用户名/Documents/Luckfox-Images/MiniLoaderAll.bin
rsync -v ./kernel-6.1/zboot.img /mnt/c/Users/用户名/Documents/Luckfox-Images/boot.img
rsync -v ./device/rockchip/.chips/rk3506/parameter-lyra-spinand.txt /mnt/c/Users/用户名/Documents/Luckfox-Images/parameter.txt
rsync -v ./buildroot/output/rockchip_rk3506_luckfox/images/rootfs.ubi /mnt/c/Users/用户名/Documents/Luckfox-Images/rootfs.img
rsync -v ./u-boot/uboot.img /mnt/c/Users/用户名/Documents/Luckfox-Images/uboot.img
rsync -v ./output/update/Image/update.img /mnt/c/Users/用户名/Documents/Luckfox-Images/update.img

保存脚本,并添加执行权限:

chmod +x ./sync.sh

执行同步脚本:

./sync.sh

等待脚本执行完毕,此时可以在Windows对应文件夹中看到这几个文件:

以后,每次编译完新镜像后,执行./sync.sh,即可在Windows中方便地访问镜像。

4.2 烧录镜像

打开RKDevTool,下载地址在此:直达链接

将按住开发板boot按键,链接到电脑,此时RKDevTool会提示有一个Loader设备连接,选择update.img,然后选择升级,即可将镜像烧录到开发板中。

五、使用VS Code连接开发环境

六、连接开发板

6.1 配置RNDIS

Luckfox开发板会自动在主机上挂载一个RNDIS设备,通过该设备我们可以使用ssh连接开发板。

1、打开设置—>高级网络设置,找到RNDIS设备,如图:

(Windows10及以前或老版本的Windows11系统可以在控制面板中找到网络适配器相关设置)

选择更多适配器选项旁的编辑:

选择ipv4属性,然后将ip地址改为192.168.123.99,子网掩码改为255.255.255.0,保存退出:

6.2 使用ssh连接开发板

6.2.0 开发板相关信息

开发板ip地址:192.168.123.100

开发板账户名:root

开发板密码:luckfox

6.2.1 使用ssh命令连接开发板

1、打开Windows终端

2、输入ssh连接命令:ssh root@192.168.123.100

6.2.2 使用MobaXterm连接开发板

输入开发板信息

上一篇
下一篇