RK3568开发板Openwrt文件系统构建

RK3568开发板Openwrt文件系统构建

iTOP-RK3568开发板使用教程更新,后续资料会不断更新,不断完善,帮助用户快速入门,大大提升研发速度。

本次更新内容为iTOP-3568开发板文件系统构建手册》,对Openwrt文件系统的编译烧写以及系统移植步骤进行详细介绍。

 

教程目录

第1章 Linux文件系统简介

1.1 知识导入

1.2 什么是文件系统

1.3 文件系统目录介绍

1.4 什么是根文件系统

1.5 根文件系统制作工具

第2章 Busybox制作最小文件系统

2.1 Busybox工具简介

2.2 设置支持中文

2.3 配置busybox

2.4 编译busybox

2.5 完善最小根文件系统

2.5.1 创建必要文件夹

2.5.2 拷贝lib库文件

2.5.3 创建rcS文件

2.5.4 创建fstab 文件

2.5.5 创建inittab 文件

2.5.6创建passwd文件

2.5.7创建profile 文件

2.5.8创建eth0-setting 和eth1-setting 文件

2.5.9创建ifconfig-eth0和ifconfig-eth1 文件

2.5.10创建medv.conf 文件

2.5.11创建mtab文件

2.5.12创建netd文件

2.6 制作文件系统镜像

2.7 busybox根文件系统测试

2.7.1 网络测试

2.7.2 中文测试

2.7.3 热拔插测试

2.7.4 库文件测试

2.7.5 开机自启动程序测试

2.7.6 固定IP测试

第3章 最小文件系统移植QT库

3.1 交叉编译器设置

3.2 编译触摸

3.3 编译 QtE5.15库

3.4 生成文件系统(适用于RK3568)

3.5 编译运行Qt程序(适用于RK3568)

第4章QT系统移植工具

4.1 设置交叉编译

4.2 QT系统移植ssh

第5章Buildroot系统构建

5.1 buildroot基本介绍

5.2 获取buildroot官方源码

5.3 buildroot目录简介

5.4 buildroot帮助命令

5.5 安装编译环境

5.6 Buildroot配置

5.7 Buildroot构建

5.7.1 配置Target option

5.7.2 Build options 选项

5.7.3配置 Toolchain

5.7.4 配置System configuration

5.7.5 Kernel选项

5.7.6 buildroot编译

5.8  配置Target packages 选项

5.8.1 支持 linux 磁盘工具

5.8.2 支持 nfs挂载工具

5.8.3 支持 v4l2 框架工具

5.8.4 支持 can 工具

5.8.5 支持 ssh 访问工具

5.8.6 支持 4G 拨号上网工具

5.8.7 支持 hci 蓝牙工具

5.8.8 支持 alsa 声卡工具

5.8.9支持 wpa WIFI 工具

5.8.10 支持Qt配置

5.8.11其他配置

5.8.12 Buildroot下配置Busybox

5.8 Buildroot编译

5.9 制作文件系统镜像

5.10 Buildroot系统测试

5.10.1单独烧写buildroot镜像

5.10.2 烧写测试

第6章 Openwrt文件系统构建

6.1 编译Openwrt系统

6.2 烧写Openwrt系统

6.2.1 烧写TF卡镜像

6.2.2烧写EMMC镜像

6.3 Opnewrt 文件系统移植

6.3.1 虚拟机环境搭建

6.3.2 源码的拉取和配置

6.3.3 目录结构讲解

6.3.4 添加自己的开发板

6.3.5 下载dl所需软件包

6.3.6内核适配

6.3.7 uboot 适配

6.3.8 文件系统设置适配

6.3.9 LEDE系统测试

 ------------------------------------------------

第 6 章 Openwrt 文件系统构建

6.1 编译 Openwrt 系统

本章节参考 lede 大神的教程进行编译,具体链接为 https://github.com/coolsnowwolf/lede

下面是几点注意事项:

1.不要用 root 用户进行编译!!!

3.默认登陆 IP 192.168.2.1 密码 password

编译环境为:Ubuntu 20.04 LTS x64(建议和笔者保持一致)

首先进入终端,使用以下命令搭建编译环境

sudo apt-get update

sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev

libz-dev patch python3 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex

uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto

qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib

antlr3 gperf wget curl swig rsync

对应的工具和依赖包安装完成之后,拷贝 openwrt 源码到 ubuntu 虚拟机上,源码存放路

径为“iTOP-3568 开发板\03_【iTOP-RK3568 开发板】指南教程\03_文件系统构建配套资料

\03_Opnewrt 文件系统构建配套资料\02_iTOP-RK3568 开发板 Openwrt 源码”,

源码拷贝完成如下图所示:

 

然后使用以下命令对源码进行解压,解压完成如下图所示:

tar -vxf lede.tar.gz

lede 就是我们的源码目录,然后使用命令“cd lede”进入该文件夹,

然后使用下列命令进行更新扩展:

./scripts/feeds update -a

扩展时间略长请耐心等待,扩展过程如下图所示:

 

更新扩展完成之后继续输入以下命令进行安装扩展,完成之后如下图所示:

./scripts/feeds install -a

 

安装扩展完成后。输入以下命令拷贝默认配置文件,如下图所示:

cp config/itop-rk3568_deconfig .config

至此我们的配置就完成了,可以使用“make menuconfig”命令通过可视化界面查看配置,

保存退出之后,回到源码根目录下,使用以下命令下载 dl 库,

make -j1 download V=s

下载完成如下图所示:

 

然后使用以下命令进行固件的编译(其中-j1 表示使用单线程编译,第一次编译尽量使用

单线程,之后的二次编译可以使用多线程),编译过程如下所示:

make -j1 V=s

编译时间取决于自身机器的性能,大约两个小时左右。编译完成如下图所示:

 

编译完成之后的镜像存放路径为 “bin/targets/rockchip/armv8/”目录下,

可以看到生成了多种类型的镜像,烧写到 TF 卡的镜像为 openwrt-rockchip-armv8-itop-rk3

568-ext4-sysupgrade.img.gz(该镜像通过 windows 下的软件进行烧写,具体烧写步骤见 1.2 小

节)

下面讲解 emmc 镜像的制作,首先使用以下命令进入 root 用户(由于制作 emmc 镜像需

要挂载分区,只能用 root,需要编译的时候再切换回普通用户)

su root

然后回到 lede 源码的根目录下如下图所示:

 

然后使用以下命令进行 emmc 系统的构建,

./build.sh

我们的 emmc 镜像存放目录为源码根目录的 emmc-image,

至此我们的 emmc 镜像就构建完成了(构建 emmc 镜像需要先构建成功 TF 卡镜像),可

以根据 9.2.2 小节对 EMMC 镜像进行烧写。

6.2 烧写 Openwrt 系统

6.2.1 烧写 TF 卡镜像

TF 卡镜像存放路径为“iTOP-3568 开发板\03_【iTOP-RK3568 开发板】指南教程\03_文件

系统构建配套资料\03_Opnewrt 文件系统构建配套资料\01_iTOP-RK3568 开发板 Openwrt 镜像

\01_TF 卡镜像”,

TF 卡 烧 写 工 具 为 balenaEtcher , 该 工 具 的 存 放 路 径 为 “ iTOP-3568 开 发 板 \01_

【iTOP-RK3568 开发板】基础资料\02_iTOP-RK3568 开发板烧写工具及驱动”,

烧写工具下载完成之后,双击直接打开即可,该烧写工具免安装,打开之后如下图所示:

 

首先点击”Flash from file”选项,选择对应的烧写工具,

点击之后会进入以下界面,首先选择 TF 卡烧写镜像,然后点击右下角的打开按钮,

点击打开之后会回到烧写软件,然后点击“Select target”选项,进行设备的选择,

进入 Select target 界面之后,找到要烧写的 TF 卡设备,这里使用的 TF 卡容量为 16G,勾

选之后点击右下角的 Select 按钮,

选择完成之后,会回到烧写软件界面,最后点击 Flash 按钮,进行系统的烧写,烧写过程如下图所示:

烧写完成如下图所示:

 

至此,我们的 Openwrt 的 TF 卡镜像就烧录完成了,将 TF 卡插入开发板的 TF 卡槽中上电,

等待系统启动,启动完成如下图所示:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/464514.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux之crontab使用

一,查看cron是否已经在运行 查看crontab的运行状态 sudo service cron statussystemctl status cron 开启crontab: sudo service cron startsudo service cron restart 二,编辑cron定时任务 crontab -e加入你自己的命令,定时跑脚本&a…

OpenEuler 使用ffmpeg x11grab捕获屏幕流,rtsp推流,并用vlc播放

环境准备 安装x11grab(用于捕获屏幕流)和libx264(用于编码) # 基础开发环境&x11grab sudo dnf install -y \autoconf \automake \bzip2 \bzip2-devel \cmake \freetype-devel \gcc \gcc-c \git \libtool \make \mercurial \pkgconfig \zlib-devel \libX11-devel \libXext…

矩阵的奇异值分解SVD

为了论述矩阵的奇异值与奇异值分解!需要下面的结论!

H5开发指南|掌握核心技术,玩转私域营销利器

随着互联网技术的不断发展和用户需求的日益增长,H5页面逐渐成为了企业和个人展示信息、吸引用户关注的重要手段。具有跨平台兼容性强、网页链接分享、更新迭代方便快捷、低开发成本、可搜索和优化、数据分析与追踪、灵活性与扩展性以及无需下载安装等特点。不仅可以…

Ubuntu Linux

背景 Ubuntu起源于南非,其名称“Ubuntu”来源于非洲南部祖鲁语或豪萨语,意为“人性”、“我的存在是因为大家的存在”,这体现了非洲传统的一种价值观。Ubuntu由南非计算机科学家马克沙特尔沃斯(Mark Shuttleworth)创办…

你适合哪种tiktok广告账户类型?

TikTok在广告营销方面的分类体系极为详尽。在开设广告账户时,根据不同的海外市场和商品类型,TikTok会有各自的开户标准。此外,广告主所开设的TikTok广告账户类型会直接影响其可投放的广告类型。在广告出价方面,广告主的营销目标不…

平衡者:陈欣的宇宙使命

第一章 异象初现 2145年,地球已经不再是人类唯一的家园。随着科技的飞速发展,人类在银河系内建立了多个殖民星球。然而,这些新世界的繁荣背后隐藏着一个巨大的危机——各个星球之间的资源分配不均,导致了严重的社会动荡和冲突。 …

《AI产品经理手册》——解锁AI时代的商业密钥

在当今这个日新月异的AI时代,每一位产品经理都面临着前所未有的挑战与机遇,唯有紧跟时代潮流,深入掌握AI技术的精髓,才能在激烈的市场竞争中独占鳌头。《AI产品经理手册》正是这样一部为AI产品经理量身定制的实战宝典,…

React第十三章(useTransition)

useTransition useTransition 是 React 18 中引入的一个 Hook,用于管理 UI 中的过渡状态,特别是在处理长时间运行的状态更新时。它允许你将某些更新标记为“过渡”状态,这样 React 可以优先处理更重要的更新,比如用户输入&#x…

使用wordcloud与jieba库制作词云图

目录 一、WordCloud库 例子: 结果: 二、Jieba库 两个基本方法 jieba.cut() jieba.cut_for_serch() 关键字提取: jieba.analyse包 extract_tags() 一、WordCloud库 词云图,以视觉效果提现关键词,可以过滤文本…

2024年云手机推荐榜单:高性能云手机推荐

无论是手游玩家、APP测试人员,还是数字营销工作者,云手机都为他们带来了极大的便利。本文将为大家推荐几款在市场上表现优异的云手机,希望这篇推荐指南可以帮助大家找到最适合自己的云手机! 1. OgPhone云手机 OgPhone云手机是一款…

Template Method(模板方法)

1)意图 定义一个操作中的算法骨架,而将一些步骤延迟到子类中。Template Method 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 2)结构 模板方法模式的结构图如图7-47 所示。 其中: AbstractClass(抽象类) 定义抽象的原语操作,具体…

自研小程序-心情追忆

在近期从繁忙的工作中暂时抽身之后,我决定利用这段宝贵的时间来保持我的Java技能不致生疏,并通过一个个人项目来探索人工智能的魅力。 我在Hugging Face(国内镜像站点:HF-Mirror)上发现了一个关于情感分析的练习项目&…

【设计模式】策略模式定义及其实现代码示例

文章目录 一、策略模式1.1 策略模式的定义1.2 策略模式的参与者1.3 策略模式的优点1.4 策略模式的缺点1.5 策略模式的使用场景 二、策略模式简单实现2.1 案例描述2.2 实现代码 三、策略模式的代码优化3.1 优化思路3.2 抽象策略接口3.3 上下文3.4 具体策略实现类3.5 测试 参考资…

【React】初学React

A. react中如何创建元素呢? 说明一点: 属性都改为驼峰形式(无障碍属性aria-*除外), class改成className 创建元素 B. 变量或表达式如何表示呢?大括号{ }包起来 变量值用大括号包裹 C. 元素和组件的区别 元素…

伦敦金价格是交易所公布的吗?

今年以来,伦敦金价格波动可谓是波澜壮阔,盘中屡次刷新历史新高,目前已经冲上了2700的历史大关。面对高歌猛进的伦敦金价格,投资者除了进行交易之外,还有一点相关方面的知识是想了解的。例如,伦敦金价格是交…

程序员也要认识下“信创产业”

兄弟姐妹们,大家初入社会会觉得技术是第一位,我呸,其实你在那个领域敲代码的选择才是最重要的,选对了领域绝对比你背上100个面试题目强,今天带大家了解下信创产业。 信创产业,即信息技术应用创新产业&#…

钉钉向广告低头

商业化重压下,钉钉试水应用内广告。 作者|文昌龙 编辑|杨舟 “钉钉吃相真心难看!早晨打卡时间还做开屏广告赚打工人的钱,比如很多踩点上班的,就因为你这5秒时间的开屏广告,没按上打卡按钮就会迟到,知道吗…

IDC报告解读:实用型靶场将成为下一代网络靶场的必然方向

——赛宁网安:回归用户需求,开创实用型靶场新范式 导读 本文基于《IDC TechScape:中国网络安全软件技术发展路线图,2024》中关于网络安全实训演练测试平台(靶场)的技术路线分析,结合国内外靶场…

RESTful风格

目录 一、什么是RESTful 1.1 RESTFul对WEB服务接口的规定包括: 1.2 REST对请求方式的具体约束如下: 1.3 REST对URL的具体约束如下: 1.4 RESTFul的核心概念: 二、RESTful风格与传统方式对比 三、RESTful风格演示 3.1 查询所…