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 卡槽中上电,
等待系统启动,启动完成如下图所示: