Arch下编译MTK7288 OpenWrt开发版
前几日在爱板网申请了一个路由器开发板,我本来都没有报什么期望。没想到有天有个老哥加我核对地址,说我通过了。要求很低就是一个月发俩篇文章,我一天可以水7篇,这种要求简直就是小儿科。但是恰逢中秋节我也一直没有动手,正好我连着上了7天课。今天是星期五,是我觉得最放松的时间。我昨天也里从Github上面拉了一个库,也是MTK7288的库,我随便改了搞了搞就准备编译,我还是太天真 ~因为种种原因也没有编译成功。不过我觉得很正常啊,有没有。哪有一次就可以编译成功的。简直就离谱好吧。
我找了一下资料,还是回归了官方,害。骄傲的我还不用,还不是用了,嘤嘤嘤。然后这个官方的资料比较狗,就是甩了一个百度云盘,里面有两个压缩文件,我然后就下载下来了。两个文件有10个G这么多,吓死宝宝了。不慌,先复制到电脑的上面。两个文件第一个可以解压,第二个就是报错解压不了。我就有点难受,我还是解压了,尝试解压。接着就是找到了一个虚拟机安装一下,看着我的C盘刷刷的掉。心疼,想哭!!!!呜呜呜,但是还得试试。我就试试,然后导入一个新的虚拟机,没想到成功了。开心到模糊,我的目的单纯就是提取官方的编译文件,打开以后。里面直接就有一个目录,直接复制这个文件夹导出。导入我的arch系统。以下不是初始状态,我已经更新过了,所以找个文件夹已经快一个G的大小了。
怕丢稿,不停的保存
可以看到是有700多MB了
我们稍微看一下目录,是标准的Linux开发目录,有机会给大家解读
从README里面找到了git的提交记录,有兴趣的可以看
./scripts/feeds update -a
feeds.conf / feeds.conf.default
./scripts/feeds install -a
一般来说是要在联网情况下执行一下这两个命令的
但是我在真机上面执行完,连menuconfig都打不开,emmmmm
我找了半天bug更多了,我后来是在虚拟机里面编译的
这个是升级的一个截图
这个是打开编译菜单的命令,可以加V=99
或V=s参数,看到更多的中间过程
这个是编译的菜单
具体的页面功能就自己看吧
properties mtk功能选项
Network,涉及到网络的app(ssh,vpn配置等)
bash功能,加入
zsh也加上,就好这口
这个是在实体机里面编译失败了~
链接:https://pan.baidu.com/s/1fE5BrAIC8I3tjR1i6tv6cw
提取码: n86v
虚拟机的用户名luke 密码:luke
虚拟机版本 14.1.1
自己下载后打开会看到要填这些东西的地方
登录页面->密码luke
虚拟机内用不了鼠标设置这个地方
/home/luke/MtkOpenwrt,这个是源码的地址就是一进入桌面就可以看见.
终端 ls -> cd MTK(Tab摁) 进入
然后ls 会进入然后显示里面的所有文件,此时这个地方有坑.我说一下.
如果直接make menuconfig 配置好以后 ------->make V=s
会报错
这么个错误
需要make kernel_menuconfig V=s进入内核的编译目录
就是再按照下面这样做
makekernel_menuconfig->
RalinkModule --->
[*]WiFi Driver Support --->
[] WiFi packet forwarding
把WiFi packet forwarding 的*去掉 重新编译
然后执行 make menuconfig 配置自己的固件 make V=s 或V=99就是输出中间过程,建议打开.一事好debug二是可以看编译的过程,是不是卡住了什么的.
然后里面有一个默认配置,就是基本的路由功能.
这个HI-LINK就是开发板的ap
密码是12345678
密码是12345678
密码是12345678
我翻了半天源码才找到,当然可以.在源码里面自定义.我们后面再说
这个是编译成功在一下这个目录
编译结果保存在bin/ramips/目录下
生成固件名:openwrt-ramips-mt7628-mt7628-squashfs-sysupgrade.bin
编译成功,并且拉到了win机器.
很眼瞎,我拉错了
- 前端写一个月的原生 Android 是怎样一种体验?
- 给人挖矿还不自知 电脑已变黑客肉鸡
- 反序列化漏洞屡被黑客利用,危害巨大,代码怎样写才安全?
- Mifa 主题微信编辑器
- Mifa GitHub Pages 主题
- Mifa Design:一个服务于 Markdown 的设计体系
- 未来机器人大脑将获取互联网知识自我学习
- 【架构拾集】: Android 移动应用架构设计
- Dore 混合应用框架 —— 基于 React Native 的混合应用迁移方案
- Android6.0源码分析之View(二)--measure Android6.0源码分析之View(一)
- 程序员,2017年你的技能树上增加了哪些新技能?
- Android6.0源码分析之View(一)
- 2017 年,我挖的那些开源软件坑
- Android6.0蓝牙开发中获取附近低功耗蓝牙设备结果权限问题分析
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python实现控制台输出彩色字体
- Mysql免安装版的使用
- jvm源码解析(八)动态代理是如何实现的,JDK Proxy于CGLib有什么区别
- jvm源码解析(五)synchronized和ReentrantLock
- 手把手教你构建自定义的Mimikatz二进制文件
- APACHE OFBIZ XMLRPC远程代码执行漏洞分析
- Intelspy:一款功能强大的自动化网络侦察扫描工具
- Prometheus入门教程(二):Prometheus + Grafana实现可视化、告警
- WAF代码剖析之初识openresty
- 树义带你学 Prometheus(四):PromQL 快速入门
- 树义带你学 Prometheus(五):Prometheus 的关键概念
- 树义带你学 Prometheus(六):Spring Boot Actuator 实现应用监控
- 树义带你学 Prometheus(七):SpringBoot 实现自定义指标监控
- 布尔型盲注的PY交易
- 一文详解「队列」,手撸队列的3种方法!