文章的开始先说两个重点

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源码和编译环境的更多相关文章

  1. 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙看这篇或许真的够了 | 百篇博客分析OpenHarmony源码 | v50.06

    百篇博客系列篇.本篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙防掉坑指南 | 51.c.h.o 编译构建相关篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙防掉 ...

  2. 通过清华大学镜像下载Android源码并编译源码

    之前看源码都是在Windows下用SourceInsight看,虽然达到了研究源码的效果,但终究还是有遗憾...趁着周末,准备在Ubuntu虚拟机上下载编译源码. 之前下源码时,有了解一些Androi ...

  3. 【转】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 ...

  4. ActiveMQ学习系列(三)----下载github源码并编译

    前记:坚持使用官网的资源去学习是挺痛苦的一个过程,昨天瞎溜达了一天,也没看到有系统性的学习文章,倒是发现了github上的ActiveMq项目. 地址:https://github.com/apach ...

  5. SpringBoot源码分析-编译环境与新建测试模块

    建议 分析源码建议不要使用Idea或者Eclipse等IDE工具的反编译功能或者导入源码包的方式看源码,那样不能给框架的源码做注释,所以分析源码之前都得先下载源码并构建,然后在项目中新建一个Modul ...

  6. 鸿蒙内核源码分析(编译脚本篇) | 如何防编译环境中的牛皮癣 | 百篇博客分析OpenHarmony源码 | v58.01

    百篇博客系列篇.本篇为: v58.xx 鸿蒙内核源码分析(环境脚本篇) | 编译鸿蒙原来如此简单 | 51.c.h.o 本篇用两个脚本完成鸿蒙(L1)的编译环境安装/源码下载/编译过程,让编译,调试鸿 ...

  7. 鸿蒙内核源码分析(编译过程篇) | 简单案例窥视GCC编译全过程 | 百篇博客分析OpenHarmony源码| v57.01

    百篇博客系列篇.本篇为: v57.xx 鸿蒙内核源码分析(编译过程篇) | 简单案例窥视编译全过程 | 51.c.h.o 编译构建相关篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙 ...

  8. openwrt(一):openwrt源码下载及编译环境搭建

    声明:从网上各位大神的博客学习,整理后记录,非原创. 注:请用非root用户来下载源码 导航: 1. openwrt编译环境搭建 2. openwrt源码下载 3. feeds更新 1. openwr ...

  9. openwrt源码下载移植

    openwrt源码下载移植 一.源码下载 1.1下载 由于本人多次尝试从SVN代码地址下载代码,出现无法访问因此这里选择从Git代码地址进行下载.在linux系统命令终端输入 git clone gi ...

随机推荐

  1. 函数式接口和Lambda表达式

    函数式接口(一般标有@FunctionalInterface)就是只定义一个抽象方法的接口. 一个接口,如果满足函数式接口的定义,那么即使不标注为 @FunctionalInterface, 编译器依 ...

  2. hook工具

    调试工具 WinDbg com/daoyuly/p/3570037 DebugDiag procexp64.exe APIMonitor OllyDBG API伴侣 FileMon  v7.04  ( ...

  3. 五、python中MD5加密

    import hashlib '''用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法'''##### ...

  4. 转 实例具体解释DJANGO的 SELECT_RELATED 和 PREFETCH_RELATED 函数对 QUERYSET 查询的优化(二)

    https://blog.csdn.net/cugbabybear/article/details/38342793 这是本系列的第二篇,内容是 prefetch_related() 函数的用途.实现 ...

  5. word中打字会覆盖下一个字

    insert键 误按了insert键,此时Word默认为改写模式,输入文本会覆盖后面的内容.

  6. 大sd卡 裂开了,写保护掉了。重新装好后,被写保护的解决办:

    大sd卡 裂开了,写保护掉了.重新装好后,被写保护的解决办: 1.用烙铁把写保护附近的塑料往外顶一点点,就ok   别太热,也别劲太大.容易过,不能破坏原来的部分. 解决问题. 总结: 写保护,就是检 ...

  7. Spring获取request、session以及servletContext

    获取request: HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestA ...

  8. JS获取URL中参数值

    一.正则法: function getQueryString(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(& ...

  9. Alert弹出框处理

    selenium的API提供了Alert类对alert弹出框的处理的方法,涉及到的方法有text,dismiss(),accept()和send_keys(),在javascript中主要有alert ...

  10. 14.使用Crunch创建字典----Armitage扫描和利用----设置虚拟渗透测试实验室----proxychains最大匿名

    使用Crunch创建字典 kali自带的字典 usr/share/wordlists cd Desktop mkdir wordlists cd wordlists/ crunch --help cr ...