通知 欢迎关注我的店铺天天软件圆

OpenWrt Rust环境安装

2024-11-30
0评论
/
阅读
爱搜啊

OpenWrt Rust环境安装

在本文中,我们将详细介绍如何将Ubuntu系统迁移到OpenWrt。这包括了软件源的更换、OpenWrt SDK的安装与配置、以及如何在新环境中编译和运行C和Rust程序。

mips 是32位大端字节序

mipsel 是32位小端字节序

mips64el 是64位小端字节序

一、更换软件源

1. 备份当前软件源列表

在进行任何更改之前,建议先备份当前的`/etc/apt/sources.list`文件,以防需要恢复。

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

22. 编辑软件源列表

使用文本编辑器(如`vim`或`nano`)打开`/etc/apt/sources.list`文件,并添加新的软件源条目,有些包在新源里头。

sudo vim /etc/apt/sources.list

在文件中添加以下内容:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

3. 更新软件包列表

执行以下命令以更新软件包列表:

sudo apt-get update
sudo apt-get upgrade

4. 检查Ubuntu代号名称

使用以下命令查看当前Ubuntu的版本代号:

lsb_release -a

修改sources文件:

sudo vim /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

二、安装OpenWrt SDK

1. 下载OpenWrt SDK

访问OpenWrt官方网站下载适合您的设备的SDK包。例如,对于MT7620设备,可以使用以下命令:

wget https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7620/openwrt-sdk-22.03.0-ramips-mt7620_gcc-11.2.0_musl.Linux-x86_64.tar.xz

2. 解压OpenWrt SDK

使用以下命令解压下载的SDK包:

tar -Jxf openwrt-sdk-22.03.0-ramips-mt7620_gcc-11.2.0_musl.Linux-x86_64.tar.xz

3. 配置环境变量

进入解压后的目录,并将工具链路径添加到环境变量中:

PATH=$PATH:~/Openwrt/openwrt-sdk-22.03.0-ramips-mt7620_gcc-11.2.0_musl.Linux-x86_64/staging_dir/toolchain-mipsel_24kc_gcc-11.2.0_musl/bin
export PATH
export LC_ALL=C.UTF-8

4. 编译源码

使用以下命令进行菜单配置和编译:

sudo vim /etc/apt/sources.list0

完成后,工具链将被生成并存放在`staging_dir`目录下。

5. 将SDK的staging_dir 存到PATH中使用并查看:

sudo vim /etc/apt/sources.list1

6. 修改用户目录下的~/.bashrc进行配置:

sudo vim /etc/apt/sources.list2

三、验证工具链

1. 设置STAGING_DIR环境变量为上面工具链目录:export STAGING_DIR=/home/kondl/Openwrt/OpenWrt-sdk-22.03.0-ramips-mt7620_gcc-11.2.0_musl.Linux-x86_64/staging_dir

2. 写一个hello world程序a.c:

sudo vim /etc/apt/sources.list3

3. 使用工具链编译该文件:$STAGING_DIR/toolchain-mipsel_24kc_gcc-11.2.0_musl/bin/mipsel-openwrt-linux-gcc -o a-c a.c

四、交叉编译Rust程序

1. 安装Rust环境

使用以下命令安装Rust环境:

sudo vim /etc/apt/sources.list4

2. 设置环境变量

加载Rust环境:

sudo vim /etc/apt/sources.list5

3. 查看Rust版本

确认Rust安装成功:

sudo vim /etc/apt/sources.list6

4. 安装Nightly版本的Rust环境并设置为当前目录

安装Nightly版本的Rust环境:

sudo vim /etc/apt/sources.list7

5. 查看支持的目标CPU架构

查看当前支持的目标CPU架构:

sudo vim /etc/apt/sources.list8

6. 安装目标支持环境

安装目标支持环境:

sudo vim /etc/apt/sources.list9

交叉编译后目标平台CPU架构是mips、厂商unknown、操作系统linux、运行时库musl。

7. 安装Rust源码供交叉编译使用

安装Rust源码:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse0

8. 安装Xargo工具方便Rust进行交叉编译

安装Xargo工具:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse1

9. 配置交叉编译文件

创建或修改`~/.cargo/config`文件:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse2

创建或修改`Xargo.toml`文件:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse3

10. 编译并运行Cargo项目

使用以下命令进行编译和运行:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse4

OpenWrt Rust环境安装

以上所述过程简述如下:

首先在官网上选择符合你硬件平台的openwrt的固件。在这里我的目标平台的硬件是mt7620a所以选择的包是该平台下的,将固件烧录进硬件中。其次选择下载该平台对应的SDK,编译SDK后可以通过里面的tools目录下的工具来执行我们的代码。


点击链接加入群聊四群:722808830
点击链接加入群聊三群:751529538(已满)
点击链接加入群聊二群:376877156(已满)
点击链接加入群聊一群:622891808(已满)

饿了么红包
饿了么红包


本站附件分享,如果附件失效,可以去找找看

诚通网盘附件百度网盘附件

标签: OpenWrt Rust
于2024-11-30发布