LinkIt Smart 7688 从源码构建固件并升级
2018-02-17 01:24
363 查看
1.操作系统:Ubuntu 16.04 LTS
2.安装必要的支持包:
$:sudo dpkg --add-architecture i386
$:sudo apt-get update
$:sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
$:sudo apt-get install lib32z1 lib32ncurses5
$:sudo apt-get install ccache
$:sudo apt-get install gcc
$:sudo apt-get install g++
$:sudo apt-get install binutils
$:sudo apt-get install patch
$:sudo apt-get install bzip2
$:sudo apt-get install flex
$:sudo apt-get install bison
$:sudo apt-get install make
$:sudo apt-get install autoconf
$:sudo apt-get install gettext
$:sudo apt-get install texinfo
$:sudo apt-get install unzip
$:sudo apt-get install sharutils
$:sudo apt-get install subversion
$:sudo apt-get install libncurses5-dev
$:sudo apt-get install ncurses-term
$:sudo apt-get install zlib1g-dev
$:sudo apt-get install libssl-dev
$:sudo apt-get install gawk
$:sudo apt-get install asciidoc
$:sudo apt-get install libz-dev
$:sudo apt-get install git
$:sudo apt-get install libxml-parser-perl
$:sudo apt-get install unzip
$:sudo apt-get install libperl-dev
$:sudo apt-get install libgtk2.0-dev
$:sudo apt-get install git-core
以下操作均在普通用户权限下执行:
3.创建一个工作目录:(注意不能含有中文路径)
$:mkdir MT_Openwrt
4.下载源码:
$:git clone git://git.openwrt.org/15.05/openwrt.git //有时候会失效
或者:
$:git clone https://github.com/widora/openwrt_widora.git
5.配置默认文件:
$:cd openwrt || cd openwrt_widora
$:cp feeds.conf.default feeds.conf
6.添加开发板支持文件:
$: echo src-git linkit https://github.com/MediaTek-Labs/linkit-smart-7688-feed.git >> feeds.conf
7.更新所有可用的包的信息:
$:./scripts/feeds update -a
8.安装需要的包:
$: ./scripts/feeds install -a
9.配置固件信息:
$: make menuconfig
选择以下选项:
Target System: Ralink RT288x/RT3xxx
Subtarget: MT7688 based boards
Target Profile: LinkIt7688
[*]Advanced configuration options (for developers) -----> //串口调试
LuCI ----->
2.Modules ----->
Translations ----->
<*>Chinese (zh-cn) //中文
保存和退出(使用默认配置文件而不作任何修改)
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012405374-1711218549.png)
10.修改默认串口:
因为我们现在用的板子自带的引导程序,所以串口要保持一致,不然U-BOOT 引导完毕后,默认串口就没有输出了。
修改
openwrt_widora/target/linux/ramips/dts
路径下的
LINKIT7688.dts文件
如下图:串口 ttyS0 改为 ttyS1 波特率 115200 改为 57600 如果用 Debug 排针口则修改为 ttyS2
取决于你用哪个串口,以及U-BOOT 里面的设置
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012405749-623002872.png)
11.下载依赖包:
$: make download -j1 V=s
因为在编译过程中,会下载很多依赖包,所以要连接网络。
执行命令之后很大概率会报错,基本都是有的包下载失败,
所以根据错误提示然后下载对应包到 openwrt_widora/dl 路径中
这个网址是网友共享的一些需要的包: http://dl.widora.cc/dl/
再次执行:
$: make download -j1 V=s
等待执行结束,没有错误,然后执行下一步
11.编译固件:
$:make V=99
首次执行大概2~3个小时,具体看你电脑配置。
12.更新固件:
在漫长的等待中如果一切顺利就可以得到你需要的固件了:
openwrt_widora/bin/ramisp 路径下:
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012405968-1477545710.png)
其中: openwrt-ramips-mt7688-LinkIt7688-squashfs-sysupgrade.bin 就是我们需要的固件
更新固件有很多方式:
1.通过网线在 U-BOOT 中选择 TFTP 方式下载固件:
win10下:准备软件 tftpd64.exe
1.1.首先电脑使用网线连接到开发板网口:
1.2.然后设置电脑为固定IP 10.10.10.3
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012406327-1122419386.jpg)
1.3.打开tftpd64.exe ,选择设置好的本机 IP,目录选择bin文件所在目录。
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012406812-1739068912.jpg)
1.4.复位开发板,在U-BOOT 引导中选择第2项:
输入:Y
然后回车或者直接输入 IP地址:
然后输入你要下载文件的名字,这个 bin 或者其他后缀都可以
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012407077-1899092527.jpg)
出现以下界面说明开始更新了:
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012407421-1449167382.jpg)
更新完毕后,不出意外则重启自检:
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012408077-716955991.jpg)
更新成功。
2.通过 WEB UI 更新固件:
下载并解压LinkIt Smart 7688固件,或者使用自己编译好的固件
运行LinkIt Smart 7688固件更新程序
在Web UI主页中,单击 升级固件,如下所示:
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012409390-778703818.png)
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012409765-874413953.png)
单击 选择文件 并选择要更新的 文件,然后单击 升级并重新启动,如下所示:
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012409952-26689513.png)
固件上传到LinkIt Smart 7688. WiFi LED将开始快速闪烁。
请勿按压PWR按钮或重置主板。
请确保电路板保持连接到其电源直到固件更新完成。消息确认固件已更新,请单击确定。
大约3分钟后,WiFi LED将亮起,表示固件更新已完成。该设备将自动重启。
30秒或更长时间后,WiFi LED指示灯熄灭。现在扫描并连接到7688 AP,重新加载 mylinkit.localweb页面,设置新密码并登录。新的固件版本详细信息将显示在软件信息中,如下所示:
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012410593-829137594.png)
更新成功。
3.使用USB - U盘更新固件:
注意:使用格式化为FAT32文件系统的U盘.
1.下载最新的 LinkIt Smart 7688固件。(或者把自己编译好的固件重命名为:lks7688.img )
2.将固件 lks7688.img 文件复制到FAT32文件系统的U盘 根目录中 。
3.使用OTG电缆将USB驱动器连接到电路板的 HOST 端口。或者直接插在底板上的USB接口。
4.按住机载WiFi 按钮。
5.按住WiFi 按钮一次按下 MPU 复位 按钮。
6.继续按住WiFi 按钮约5秒钟。在WiFi的橙(红)色LED 熄灭之前不要释放。
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012410921-958452241.png)
7.请勿 按下超过20秒的WiFi按钮,否则会升级引导加载程序。
8.该 无线网络 指示灯快速闪烁约3分钟。
9.固件更新完成后,设备将自动重新启动。
10.30秒或更长时间后,WiFi LED指示灯熄灭。
现在扫描并连接到7688 AP,重新加载 mylinkit.localweb页面,设置新密码并登录。
新的固件版本详细信息将显示在软件信息中,如下所示:
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012411421-922115554.png)
LinkIt Smart 7688固件更新成功。
13.设置密码:
1.通过串口终端设置密码:https://wiki.openwrt.org/zh-cn/doc/howto/generic.failsafe
重启或者复位开发板
出现下图所示的提示输入 f 回车进入安全模式:
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012411796-267368366.jpg)
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012412577-1647029646.jpg)
输入 :
$:mount_root //挂载 squashfs分区
$:passwd -u root //解锁账户
$:passwd -d root //设置密码为空
$:reboot -f //重启生效
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012412937-1032592133.jpg)
此时密码设置为空,登录开发板管理界面即可设置新密码。
2.通过cmd终端设置密码:https://www.cnblogs.com/wizju/p/6911875.html
2.1.连接到开发板热点或者通过网线连接 ,
2.2.打开cmd 终端,输入 telnet命令
2.3.然后输入 open 开发板 IP 地址
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012413109-1487978430.jpg)
2.4.通过 passwd命令修改密码
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012413390-1251782394.jpg)
修改完毕后重启,登录管理界面输入你设置的密码就可以登录设置了。
2.安装必要的支持包:
$:sudo dpkg --add-architecture i386
$:sudo apt-get update
$:sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
$:sudo apt-get install lib32z1 lib32ncurses5
$:sudo apt-get install ccache
$:sudo apt-get install gcc
$:sudo apt-get install g++
$:sudo apt-get install binutils
$:sudo apt-get install patch
$:sudo apt-get install bzip2
$:sudo apt-get install flex
$:sudo apt-get install bison
$:sudo apt-get install make
$:sudo apt-get install autoconf
$:sudo apt-get install gettext
$:sudo apt-get install texinfo
$:sudo apt-get install unzip
$:sudo apt-get install sharutils
$:sudo apt-get install subversion
$:sudo apt-get install libncurses5-dev
$:sudo apt-get install ncurses-term
$:sudo apt-get install zlib1g-dev
$:sudo apt-get install libssl-dev
$:sudo apt-get install gawk
$:sudo apt-get install asciidoc
$:sudo apt-get install libz-dev
$:sudo apt-get install git
$:sudo apt-get install libxml-parser-perl
$:sudo apt-get install unzip
$:sudo apt-get install libperl-dev
$:sudo apt-get install libgtk2.0-dev
$:sudo apt-get install git-core
以下操作均在普通用户权限下执行:
3.创建一个工作目录:(注意不能含有中文路径)
$:mkdir MT_Openwrt
4.下载源码:
$:git clone git://git.openwrt.org/15.05/openwrt.git //有时候会失效
或者:
$:git clone https://github.com/widora/openwrt_widora.git
5.配置默认文件:
$:cd openwrt || cd openwrt_widora
$:cp feeds.conf.default feeds.conf
6.添加开发板支持文件:
$: echo src-git linkit https://github.com/MediaTek-Labs/linkit-smart-7688-feed.git >> feeds.conf
7.更新所有可用的包的信息:
$:./scripts/feeds update -a
8.安装需要的包:
$: ./scripts/feeds install -a
9.配置固件信息:
$: make menuconfig
选择以下选项:
Target System: Ralink RT288x/RT3xxx
Subtarget: MT7688 based boards
Target Profile: LinkIt7688
[*]Advanced configuration options (for developers) -----> //串口调试
LuCI ----->
2.Modules ----->
Translations ----->
<*>Chinese (zh-cn) //中文
保存和退出(使用默认配置文件而不作任何修改)
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012405374-1711218549.png)
10.修改默认串口:
因为我们现在用的板子自带的引导程序,所以串口要保持一致,不然U-BOOT 引导完毕后,默认串口就没有输出了。
修改
openwrt_widora/target/linux/ramips/dts
路径下的
LINKIT7688.dts文件
如下图:串口 ttyS0 改为 ttyS1 波特率 115200 改为 57600 如果用 Debug 排针口则修改为 ttyS2
取决于你用哪个串口,以及U-BOOT 里面的设置
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012405749-623002872.png)
11.下载依赖包:
$: make download -j1 V=s
因为在编译过程中,会下载很多依赖包,所以要连接网络。
执行命令之后很大概率会报错,基本都是有的包下载失败,
所以根据错误提示然后下载对应包到 openwrt_widora/dl 路径中
这个网址是网友共享的一些需要的包: http://dl.widora.cc/dl/
再次执行:
$: make download -j1 V=s
等待执行结束,没有错误,然后执行下一步
11.编译固件:
$:make V=99
首次执行大概2~3个小时,具体看你电脑配置。
12.更新固件:
在漫长的等待中如果一切顺利就可以得到你需要的固件了:
openwrt_widora/bin/ramisp 路径下:
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012405968-1477545710.png)
其中: openwrt-ramips-mt7688-LinkIt7688-squashfs-sysupgrade.bin 就是我们需要的固件
更新固件有很多方式:
1.通过网线在 U-BOOT 中选择 TFTP 方式下载固件:
win10下:准备软件 tftpd64.exe
1.1.首先电脑使用网线连接到开发板网口:
1.2.然后设置电脑为固定IP 10.10.10.3
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012406327-1122419386.jpg)
1.3.打开tftpd64.exe ,选择设置好的本机 IP,目录选择bin文件所在目录。
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012406812-1739068912.jpg)
1.4.复位开发板,在U-BOOT 引导中选择第2项:
输入:Y
然后回车或者直接输入 IP地址:
然后输入你要下载文件的名字,这个 bin 或者其他后缀都可以
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012407077-1899092527.jpg)
出现以下界面说明开始更新了:
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012407421-1449167382.jpg)
更新完毕后,不出意外则重启自检:
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012408077-716955991.jpg)
更新成功。
2.通过 WEB UI 更新固件:
下载并解压LinkIt Smart 7688固件,或者使用自己编译好的固件
运行LinkIt Smart 7688固件更新程序
在Web UI主页中,单击 升级固件,如下所示:
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012409390-778703818.png)
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012409765-874413953.png)
单击 选择文件 并选择要更新的 文件,然后单击 升级并重新启动,如下所示:
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012409952-26689513.png)
固件上传到LinkIt Smart 7688. WiFi LED将开始快速闪烁。
请勿按压PWR按钮或重置主板。
请确保电路板保持连接到其电源直到固件更新完成。消息确认固件已更新,请单击确定。
大约3分钟后,WiFi LED将亮起,表示固件更新已完成。该设备将自动重启。
30秒或更长时间后,WiFi LED指示灯熄灭。现在扫描并连接到7688 AP,重新加载 mylinkit.localweb页面,设置新密码并登录。新的固件版本详细信息将显示在软件信息中,如下所示:
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012410593-829137594.png)
更新成功。
3.使用USB - U盘更新固件:
注意:使用格式化为FAT32文件系统的U盘.
1.下载最新的 LinkIt Smart 7688固件。(或者把自己编译好的固件重命名为:lks7688.img )
2.将固件 lks7688.img 文件复制到FAT32文件系统的U盘 根目录中 。
3.使用OTG电缆将USB驱动器连接到电路板的 HOST 端口。或者直接插在底板上的USB接口。
4.按住机载WiFi 按钮。
5.按住WiFi 按钮一次按下 MPU 复位 按钮。
6.继续按住WiFi 按钮约5秒钟。在WiFi的橙(红)色LED 熄灭之前不要释放。
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012410921-958452241.png)
7.请勿 按下超过20秒的WiFi按钮,否则会升级引导加载程序。
8.该 无线网络 指示灯快速闪烁约3分钟。
9.固件更新完成后,设备将自动重新启动。
10.30秒或更长时间后,WiFi LED指示灯熄灭。
现在扫描并连接到7688 AP,重新加载 mylinkit.localweb页面,设置新密码并登录。
新的固件版本详细信息将显示在软件信息中,如下所示:
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012411421-922115554.png)
LinkIt Smart 7688固件更新成功。
13.设置密码:
1.通过串口终端设置密码:https://wiki.openwrt.org/zh-cn/doc/howto/generic.failsafe
重启或者复位开发板
出现下图所示的提示输入 f 回车进入安全模式:
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012411796-267368366.jpg)
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012412577-1647029646.jpg)
输入 :
$:mount_root //挂载 squashfs分区
$:passwd -u root //解锁账户
$:passwd -d root //设置密码为空
$:reboot -f //重启生效
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012412937-1032592133.jpg)
此时密码设置为空,登录开发板管理界面即可设置新密码。
2.通过cmd终端设置密码:https://www.cnblogs.com/wizju/p/6911875.html
2.1.连接到开发板热点或者通过网线连接 ,
2.2.打开cmd 终端,输入 telnet命令
2.3.然后输入 open 开发板 IP 地址
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012413109-1487978430.jpg)
2.4.通过 passwd命令修改密码
![](https://images2017.cnblogs.com/blog/1332290/201802/1332290-20180217012413390-1251782394.jpg)
修改完毕后重启,登录管理界面输入你设置的密码就可以登录设置了。
相关文章推荐
- LinkIt Smart 7688 从源码构建 bootloader (U-Boot)
- 一点一滴分析LinkIt™ Smart 7688 编译环境
- LinkIt Smart 7688 硬件烧写Flash
- linkit smart 7688 折腾
- openwrt+Linkit7688:LinkIt™ Smart 7688入门指南
- 一点一滴分析LinkIt™ Smart 7688 webUI
- https://github.com/MediaTek-Labs/linkit-smart-7688-webUI
- 一点一滴分析LinkIt Smart 7688 问题汇总
- 一点一滴分析LinkIt™ Smart 7688 按钮操作
- 一点一滴分析LinkIt Smart 7688 问题汇总
- 一点一滴分析LinkIt™ Smart 7688 webUI
- LinkIt Smart 7688 使用官方 SDK 生成 安装包
- NodeMCU入门(5):Docker Image 构建固件,开启SmartConfig
- tp-link便携式路由器固件升级方式
- LINKIT7688 SD卡問題
- 联发科Linkit 7688 DUO(三): 通过 Arduino 控制外设和传感器
- Linkit 7688 DUO(六) 加入MQTT物联网协议
- Linkit 7688 DUO(五) 接上各种Arduino传感器和模块—扩展篇
- 使用ST-Link下载时 出错的解决办法(附ST-Link固件升级)
- 超级MINI STLINK V2 官方固件自动升级 ST-Link 【worldsing 笔记】