第二节,下载openwrt源码和编译环境
文章的开始先说两个重点
1.不要使用root用户编译,普通用户编译即可。
2.自行搭建梯子,以免编译失败。
一,进入虚拟机内的Ubuntu系统
点击左下角的显示应用程序,我们去修改一下Ubuntu的源。

之后点击软件和更新


点击选择最佳服务器

稍等片刻后系统会选择最优的服务器,点击选择服务器并输入密码即可。


打开终端,输入:sudo apt update
sudo apt upgrade
将系统软件升级至最新。
2,安装编译环境
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch 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
3,下载openwrt源码
mkdir openwrt
sudo chmod 777 openwrt
cd openwrt
git clone https://github.com/openwrt/openwrt.git
openwrt github地址:https://github.com/openwrt/openwrt

4.更新和安装更多的软件支持。
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
5.测试下编译环境
make defconfig

我想我遇到麻烦了,先去解决一下,稍后回来。
不知道啥问题,没能解决这个依赖问题,没关系,我们换一个LEDE来玩吧。
git clone https://github.com/coolsnowwolf/lede
这个是冷雪狼的LEDE,反正是折腾,这个也挺好的
再次make defconfig就正常了

6.让我们愉快的编译吧
make menuconfig
自己选择自己的机型,开始编译即可。
如果是第一次编译的话,建议使用
make V=99 (佐大教的,V一定要大写)
昨天晚上编译了斐讯K2的固件,今天早上过来一看,居然没有.bin文件。
于是网上找到这个问题的解释,应该是我选择了很多的安装包,然后选择的是编译到固件里面,所以就出现了超出固件大小的问题。
没关系,再来一遍。
cd lede
git pull
同步更新一下冷雪狼的代码、
./scripts/feeds update -a && ./scripts/feeds install -a
更新一下feeds
rm -rf ./tmp && rm -rf .config
清除编译配置和缓存
make menuconfig
进入编译配置菜单
make -jn V=s
n=线程数+1,例如4线程的I5填-j5,开始编译
编译完成后固件输出在/lede/bin/targets
以后二次编译:
进入LEDE目录
cd lede
同步更新冷雪狼源码
git pull
更新FEEDS
./scripts/feeds update -a && ./scripts/feeds install -a
清除编译配置和缓存
rm -rf ./tmp && rm -rf .config
进入编译配置菜单
make menuconfig
n=线程数+1,例如4线程的I5填-j5,开始编译
make -jn V=s
编译完成后固件输出在/lede/bin/targets
第二节,下载openwrt源码和编译环境的更多相关文章
- 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙看这篇或许真的够了 | 百篇博客分析OpenHarmony源码 | v50.06
百篇博客系列篇.本篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙防掉坑指南 | 51.c.h.o 编译构建相关篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙防掉 ...
- 通过清华大学镜像下载Android源码并编译源码
之前看源码都是在Windows下用SourceInsight看,虽然达到了研究源码的效果,但终究还是有遗憾...趁着周末,准备在Ubuntu虚拟机上下载编译源码. 之前下源码时,有了解一些Androi ...
- 【转】Linux CentOS内核编译:下载CentOS源码、编译2.6.32-220的错误(apic.c:819 error 'numi_watchdog' undeclared)
一.下载CentOS源码 1.1 查看CentOS版本 cat /etc/issue 1.2 查看Linux内核版本 uname -r 1.3 下载 文件名:kernel-2.6.32-220.el6 ...
- ActiveMQ学习系列(三)----下载github源码并编译
前记:坚持使用官网的资源去学习是挺痛苦的一个过程,昨天瞎溜达了一天,也没看到有系统性的学习文章,倒是发现了github上的ActiveMq项目. 地址:https://github.com/apach ...
- SpringBoot源码分析-编译环境与新建测试模块
建议 分析源码建议不要使用Idea或者Eclipse等IDE工具的反编译功能或者导入源码包的方式看源码,那样不能给框架的源码做注释,所以分析源码之前都得先下载源码并构建,然后在项目中新建一个Modul ...
- 鸿蒙内核源码分析(编译脚本篇) | 如何防编译环境中的牛皮癣 | 百篇博客分析OpenHarmony源码 | v58.01
百篇博客系列篇.本篇为: v58.xx 鸿蒙内核源码分析(环境脚本篇) | 编译鸿蒙原来如此简单 | 51.c.h.o 本篇用两个脚本完成鸿蒙(L1)的编译环境安装/源码下载/编译过程,让编译,调试鸿 ...
- 鸿蒙内核源码分析(编译过程篇) | 简单案例窥视GCC编译全过程 | 百篇博客分析OpenHarmony源码| v57.01
百篇博客系列篇.本篇为: v57.xx 鸿蒙内核源码分析(编译过程篇) | 简单案例窥视编译全过程 | 51.c.h.o 编译构建相关篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙 ...
- openwrt(一):openwrt源码下载及编译环境搭建
声明:从网上各位大神的博客学习,整理后记录,非原创. 注:请用非root用户来下载源码 导航: 1. openwrt编译环境搭建 2. openwrt源码下载 3. feeds更新 1. openwr ...
- openwrt源码下载移植
openwrt源码下载移植 一.源码下载 1.1下载 由于本人多次尝试从SVN代码地址下载代码,出现无法访问因此这里选择从Git代码地址进行下载.在linux系统命令终端输入 git clone gi ...
随机推荐
- 函数式接口和Lambda表达式
函数式接口(一般标有@FunctionalInterface)就是只定义一个抽象方法的接口. 一个接口,如果满足函数式接口的定义,那么即使不标注为 @FunctionalInterface, 编译器依 ...
- hook工具
调试工具 WinDbg com/daoyuly/p/3570037 DebugDiag procexp64.exe APIMonitor OllyDBG API伴侣 FileMon v7.04 ( ...
- 五、python中MD5加密
import hashlib '''用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法'''##### ...
- 转 实例具体解释DJANGO的 SELECT_RELATED 和 PREFETCH_RELATED 函数对 QUERYSET 查询的优化(二)
https://blog.csdn.net/cugbabybear/article/details/38342793 这是本系列的第二篇,内容是 prefetch_related() 函数的用途.实现 ...
- word中打字会覆盖下一个字
insert键 误按了insert键,此时Word默认为改写模式,输入文本会覆盖后面的内容.
- 大sd卡 裂开了,写保护掉了。重新装好后,被写保护的解决办:
大sd卡 裂开了,写保护掉了.重新装好后,被写保护的解决办: 1.用烙铁把写保护附近的塑料往外顶一点点,就ok 别太热,也别劲太大.容易过,不能破坏原来的部分. 解决问题. 总结: 写保护,就是检 ...
- Spring获取request、session以及servletContext
获取request: HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestA ...
- JS获取URL中参数值
一.正则法: function getQueryString(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(& ...
- Alert弹出框处理
selenium的API提供了Alert类对alert弹出框的处理的方法,涉及到的方法有text,dismiss(),accept()和send_keys(),在javascript中主要有alert ...
- 14.使用Crunch创建字典----Armitage扫描和利用----设置虚拟渗透测试实验室----proxychains最大匿名
使用Crunch创建字典 kali自带的字典 usr/share/wordlists cd Desktop mkdir wordlists cd wordlists/ crunch --help cr ...