0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

迅为i.MX6Q开发板Openwrt 文件系统构建

北京迅为电子 2022-04-19 14:27 次阅读

1 什么是 Openwrt

配套资料在网盘资料的“iTOP-i.MX6 系列开发板(6Q,6D,6QPLUS)\4_iTOP-i.MX6 开发板资料汇总(不含光盘资料)\12_iTOP-i.MX6 开发板 buildroot 系统 OTA 升级” Cisco/Linksys 在 2003 年发布了 WRT54G 这款无线路由器,同年有人发现它的 IOS 是基于 Linux 的,然而Linux 是基于 GPL 许可证发布的,按照该许可证 Cisco 应该把 WRT54G 的 IOS 的源代码公开。

2003 年 3 月,Cisco 迫于公众压力公开了 WRT54G 的源代码。此后就有了一些基于 Cisco 源码的第三方路由器固件,OpenWrt 就 是其中的一个。

OpenWrt 的特点:

可扩展性好,可以在线安装您所需要的功能,目前有 1000 多个功能包可选;

是一台完整的 Linux 工作站,文件系统可读可写,便于开发者学习和实践;

2 为什么要使用软路由?

首先家里面的路由器功能有限,很多功能不支持,就比如外网然后家中普通路由器支持一定的功能,但是性能有限,开启复杂功能之后原本路由器的职责又承担不了了,会出现丢包断流等现象,这时候需要别的硬件来完成高层的工作,减轻路由器的负担,保证家庭网络的运行的流畅稳定。

我们一般家庭的网络拓扑图,如下图所示:

根据上述图片,我们已经知道了家庭网络的大致结构,那么我们现在就需要在中间设置一个代理,把本来从用户走向路由器的流量拦下来,经过这个代理的“处理”之后,再直接给家庭路由器发送出去即可,

这样家庭路由器只需要关注传统的路由交换功能,而不需要处理传输层或者应用层的数据了,这就保证了家庭路由器的低负载和网络功能的增强。于是,我们提出来的一种新的网络结构,其物理结构如下:

实际的数据流向如下图所示:

叫旁路由的原因其实就是因为他就挂在一旁啦,是不是很形象呢?

3 openwrt 的编译

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

下面是几点注意事项:

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

2.请全程使用

3.默认登陆 IP 192.168.1.1 密码 password

对于第一次编译,迅为已经编译完成,存放路径为“

iTOP-i.MX6 系列开发板(6Q,6D,6QPLUS)\4_iTOP-i.MX6开发板资料汇总(不含光盘资料)\12_iTOP-i.MX6 开发板 openwrt 文件系统\03_编译好的源码”。

编译环境为 Ubuntu 64bit,推荐 Ubuntu 20.04 LTS x64 首先进入终端,输入命令,使用以下命令搭建编译环境

编译环境搭完成后,使用命令 git clone https://github.com/coolsnowwolf/lede,对 lede 大神的源码进行克隆拉取,拉取完成会在当前目录下产生名字为 lede 的文件夹如下图所示:

或者将迅为已经下载好的源码拷贝到 ubuntu 虚拟机上,使用命令对其解压缩也也可以实现,源码存放 路径为“iTOP-i.MX6 系列开发板(6Q,6D,6QPLUS)\4_iTOP-i.MX6 开发板资料汇总(不含光盘资料) \12_iTOP-i.MX6 开发板 openwrt 文件系统\01_编译所需源码”

然后使用命令“cd lede”进入该文件夹,

作者这里为已经编译完成的,具体文件可能会有区别,拉取成功即可。

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

./scripts/feeds update -a

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

更新扩展完成之后继续输入命令

./scripts/feeds install -a

进行安装扩展。安装完成之后我们的环境就搭建完成了。

安装扩展完成后。输入命令“make menuconfig”,进入可视化界面进行配置,如下图所示:

点击回车进入首选项 Target System,如下图所示:

对相应的平台架构进行选择,我们选择 i.MX 6,

选择后,功能页面如下图所示:

其他的地方不需要修改,通过 save 进行保存,

通过 Exit 进行退出,

回到源码目录后,使用命令

make -j8 download V=s

下载 dl 库,

输入命令

make -j1 V=s

即可开始编译你要的固件了。

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

4 openwrt 文件系统的烧写

编译完成后,使用命令

cd bin/targets/imx6/generic

进入 generic 目录,在这里我们只用最后生成的文件系统,如下图所示:

然后拷贝该文件系统到任意目录(看个人,自己怎样方便怎样来),作者拷贝到了/home/topeet/rootfs 目录下,

使用命令

tar -vxf openwrt-imx6-default-rootfs.tar.gz

对其进行解压缩,

然后使用命令

rm -rf openwrt-imx6-default-rootfs.tar.gz

移除原压缩文件,如下图所示:

然后使用命令

tar -zcvf rootfs.tgz bin etc mnt proc root sys usr www dev lib overlay rom sbin tmp var

对文件进行打包处理,压缩成我们能烧写的文件格式。

如下图所示,可以看到我们所需要的压缩文件已经生成了

将该压缩文件烧写进我们的开发板。

烧写完成之后正常上电启动,进入 uboot 模式,来设置启动方式,由于我们烧写的是 Linux 系统,所以

我们使用以下命令来设置 Linux 启动

setenv bootsystem qt

使用命令来保存。

saveenv

最后使用命令重启,开发板重启就可以正常启动了,正常启动如下图所示:

至此我们的文件系统就烧写成功了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    4441

    浏览量

    94117
收藏 人收藏

    评论

    相关推荐

    [广东龙芯2K1000/2K500开发板] OpenWRT 使用说明

    文件系统, 让您通过使用适配任何应用的软件包来定制设备。 对于开发人员来说,OpenWrt是一个无需围绕它构建完整固件就能开发应用程序的框
    发表于 02-19 14:40

    i.MX6ULL——ElfBoard ELF1板卡 之文件系统目录的介绍

    文件系统是一样的,只是嵌入式Linux文件系统根据产品功能进行过裁剪,在内容多少和体积大小上不同。进行嵌入式Linux产品开发构建一个合适的文件
    发表于 11-24 09:59

    i.MX6ULL——ElfBoard ELF1板卡 nfs挂载文件系统终于没有问题了

    前提:ubuntu已经安装nfs且保证ELF 1开发板、PC机、ubuntu三者网络连接正常。 1.拷贝ELF1开发板资料包\\\\04-烧写镜像\\\\04-0 eMMC镜像目录
    发表于 11-08 09:24

    i.MX6ULL——ElfBoard ELF1板卡 如何重新打包文件系统

    1.拷贝ELF1开发板资料包\\\\04-烧写镜像\\\\04-0 eMMC镜像目录下的rootfs.tar.bz2到开发环境下的任意目录,比如/home/elf。 2.创建存放目标文件系统的目录
    发表于 11-06 09:52

    i.MX8M开发板添加RIL驱动程序库

    下,如下图所示: 然后将 apns-conf.xml 拷贝到 android_build/device/fsl/imx8m/evk_8mm/下,如下图所示: 更多文档可以查看 B站搜索-北京i.MX8M
    发表于 10-24 09:56

    RK3568开发板Busybox 制作最小文件系统固定IP测试

    地址是否我们设置的 IP 地址,如下图所示: 可以看出,系统启动后,IP 地址已经固定成了我们设置的 192.168.1.15 地址,当然 MAC地址,网关,DNS 大家也可以通过这个文件来设置。 更多文档可以查看 B站搜
    发表于 10-23 11:33

    龙芯开发板开发板系统烧写-启动系统

    上面所有的步骤我们都做完以后,输入命令 sync 确保我们之前的步骤都可以保存到 ssd,接着拔下 U盘,最后输入命令 reboot 重启开发板,如下图所示: 如果启动成功,我们会看到 pmon
    发表于 10-09 14:04

    i.MX8M Mini开发板一些功能

    )、Linux4.14.78 + Qt5.10.1Yocto、Ubuntu20、Debian9系统 07、特别推出《嵌入式Liunx开发指南》 倾心力作!
    发表于 09-05 10:30

    RK3568开发板保姆级3900页手册_415期视频_426G文档

    和Linux源码需要的依赖包 12.提高效率-直接使用制作好的开发环境 13.让开发板跑起来-安装串口终端 14.让开发板跑起来-上电启
    发表于 08-11 11:14

    【飞凌i.MX9352开发板试用】+内核编译+系统烧写+核心芯片性能测试

    UUU是一个命令行工具,可以用于在Linux或者Windows下烧写镜像到OK-MX93开发板,下面分别介绍Linux和Windows10下UUU工具的使用。 UUU烧写文件系统时,要把文件
    发表于 06-09 08:46

    iTOP-STM32MP157开发板开发学习一两用

    LVDS屏+定制HDMI线),牢固耐用,使用方便 配套开发使用手册+开发指南手册 使用手
    发表于 06-07 10:54

    RK3568开发板2800页手册+220集视频

    板手册 ocie2.0接口快速测试手册 OTA升级使用手册 OpenHarmony鸿蒙烧写及测试手册 itop-3568机器视觉opencv开发手册 itop-3568开发板文件系统构建
    发表于 06-01 10:25

    如何定制Buildroot文件系统-基于TQT507开发板

    本文档介绍在开发时 如何定制文件系统 (buildroot添加应用软件/文件),适用于天嵌开发板TQT507 。 **1.Buildroot简介** Buildroot是Linux平台
    发表于 06-01 09:03

    STM32 Linux开发板丨STM32MP157开发板资料手册+实战教程+视频教程

    开发板支持了多种屏幕,包含4.3寸RGB屏5寸RGB屏、7寸RGB屏、7寸LVDS屏、10.1寸LVDS屏多种尺寸,任意选择。 创造性的采用HDMI线连接方式(适用
    发表于 05-31 10:16

    如何通过SPI-NOR闪存启动i.MX6Q

    我正在尝试使用 i.MX6Q 从我的定制上的 SPI-NOR 存储设备启动,但似乎有几件事我不太明白。 1. 我是使用 mtdparts 还是 devicetree 对我的旋量内存进行分区?有
    发表于 05-04 06:30