openwrt 编译经验【2021-01-28】

2023-10-26

openwrt 编译经验【2021-01-28】

编译环境

Kubuntu 20.10 (理论上其他Ubuntu发行版也是一样的)
首先参考L大的Openwrt Readme,安装

build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 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 device-tree-compiler g+±multilib antlr3 gperf wget curl swig rsync

这些包(部分系统自带)
另外,最好准备好梯子。

编译仓库

我用的是openwrt的官方源代码,国内速度慢的话可以用gitee来加速clone。
不止openwrt源码需要加速,openwrt/feed.conf.defaults里面的仓库也都需要加速,可以自己修改为gitee下的仓库目录或者使用其他方法加速。

编译配置

使用make menuconfig选择自己需要的包即可。
参考L大的插件说明
另外,生成的.config文件里,libustream-wolf和dnsmasq两个用户包会报错,需要注释掉。

编译过程

  1. 安装编译工具
    sudo apt install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 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 device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync -y
    
  2. 下载openwrt仓库
    git clone https://git.openwrt.org/openwrt/openwrt.git/
    
    其中git地址可以替换为自己的openwrt仓库。
  3. 进入仓库并切换到自己需要的版本
    cd openwrt
    git checkout remotes/origin/openwrt-19.07
    
  4. 编辑feeds.conf.defaults仓库以加速
    nano feeds.conf.default
    
    替换为自己的加速仓库。
  5. 然后先用feeds更新
    ./scripts/feeds update -a
    ./scripts/feeds install -a
    
  6. 生成配置文件
    make menuconfig
    
  7. 修改.config文件
    nano .config
    
    将这两行注释掉

    CONFIG_PACKAGE_libustream-wolfssl
    CONFIG_PACKAGE_dnsmasq

  8. 为防止在并行编译时出错,先运行 make download
    make -j8 download V=s
    
    这里会下载很多东西,建议使用代理,但是注意代理的情况下有一个问题,就是pip在没有安装pysocks的时候不能通过socks连接。
  9. 编译
    make -j1 V=s
    
    虽然教程里说make download可以防止并行编译的错误,但是我在并行编译时还是有些莫名其妙的包不能编译成功,应该有相互依赖的关系,长时间挂机编译的话建议单线程编译,否则可以重复几次。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openwrt 编译经验【2021-01-28】 的相关文章

  • 子网掩码详解

    一 子网掩码的概念及作用 子网掩码 subnet mask 又叫网络掩码 地址掩码 子网络遮罩 是一个应用于 TCP IP 网络的 32 位二进制值 它可以屏蔽掉 IP 地址中的一部分 从而分离出 IP 地址中的网络部分与主机部分 基于子网
  • UCI常用说明

    UCI常用函数说明 结构体 API函数 参考文章 安装完成后在 加粗样式 usr local include 目录下存放UCI h文件可以进行参考 结构体 1 struct uci package 包结构体 它对应一个配置文件内容 stru
  • 703n无法进入路由管理界面reset无效重刷方法

    现在没法接网线获取不到地址 winscp也登不了 请问除了ttl线外不拆机能重刷吗 安全模式恢复 具体方法如下 网线连接电脑和703n 设置电脑ip地址为192 168 1 2 掩码默认 网关192 168 1 1 电脑 gt 开始 gt
  • OpenWRT编译错误:Package missing dependencies for the following libraries

    发现问题 今天在 OpenWRT 上增加了个 package 编译的时候 报出如下错误 Package test modules is missing dependencies for the following libraries lib
  • 【计算机网络】【湖科大MOOC】网络层路由选择协议概述 内部网关协议RIP和OSPF的工作原理、工作过程 详细解读

    目录 网络层 6 路由选择协议 6 1 概述 6 1 1 路由选择 类别 6 1 2 因特网所采用的路由选择协议的 主要特点 6 1 3 常见的 路由选择协议 6 1 4 路由器的基本结构 6 2 内部网关协议 路由信息协议 RIP Rou
  • 【openwrt】【编译问题】openwrt编译问题

    undefined reference to pthread once 在某次openwrt编译过程中出现了undefined reference to pthread once错误 具体报错信息如下 openwrt staging dir
  • 【硬创邦】跟hoowa学做智能路由(七):路由联网

    2014 05 16 17 32 原创 孙冰 1条评论 这一章hoowa将向各位介绍Openwrt下基本路由功能的配置方法 通过本章学习大家将了解如何设置OpenWRT来使路由连接网络 讲解将通过命令行模式 在系列教程中 hoowa不会教大
  • 路由器与交换机的基本工作原理

    本文介绍路由器与交换机的基本工作原理 在介绍这之前先来看一下OSI七层工作模型 现在开始解释路由器的作用及其基本工作原理 路由器的作用 1 异种网络互连 比如具有异种子网协议的网络互连 2 子网协议转换 不同子网间包括局域网和广域网之间的协
  • openwrt调试用到的

    PC间文件共享 python3 m http server 在共享的电脑上 打开浏览器 直接输入 serverip 8000 NFS Ubuntu PC端 sudo apt get install nfs kernel server sud
  • openwrt路由器(RP-LINK)安装python并设置开机启动程序

    由于项目需求 实际条件限制 需要在某台设备上运行一个python小程序 在工业机器人和云服务器之间实现信息转发的功能 因为机器人也需要通过路由器认证连接校园网 出于简化设备的考虑 不想每次跑程序还得开电脑 我决定尝试在路由器上运行这个程序
  • OpenWrt后台管理启用https-OpenSSL

    OpenWrt 默认使用http 访问管理后台 这样不安全 推荐修改为 https 访问 加密数据传输 本文介绍配置步骤 1 卸载旧的ssl软件包 root OpenWrt opkg remove luci ssl px5g px5g mb
  • Openwrt按键检测分析-窥探Linux内核与用户空间通讯机制netlink使用

    首先看一下Openwrt系统中关于按键功能的使用和修改 以18 06版本为例 按键功能实现在脚本中 比如18 06 package base files files etc rc button reset bin sh lib functi
  • 从零开始编译OpenWrt固件

    从零开始编译OpenWrt固件 前言 进来阅读这篇文章的相信都是对OpenWrt有一定的了解的 对于OpenWrt的介绍这里就不再赘述 可以自行查找相关百科了解 OpenWrt是适合于嵌入式设备的一个Linux发行版 可以通过其提供的相关工
  • OpenWRT添加模块(一)Makefile和Config.in

    第一次接触到openwrt 真是被毁三观啊 不要说makefile 连源代码在哪里都找不到 知道嵌入式系统水深 没想到迈出第一步就没过了脖子 好在旁边有人指点 直接在芯片厂商提供的既有代码上做二次开发 项目进展倒也完全满足了前期计划的目标
  • 第一次 openwrt源码下载编译

    openwrt 学习记录 第一次 openwrt源码下载编译 MT7620开发板 安装虚拟机VMware 安装Ubnutu 先进入root账户 topeet ubuntu su 输入密码 1 搭建编译环境 参考 https blog csd
  • IP数据包格式各字段详解说明

    1 版本 指IP协议的版本 为0100或0110 即IPv4和IPv6两种版本 通信双方使用的IP协议版本必须一致 2 首部长度 占 4 位 可表示的最大十进制数值是15 请注意 这个字段所表示数的单位是32位字 即0001表示1个32位字
  • 无线路由、AP、网桥之区别详解篇

    通过无线上网冲浪 现在已经不是新鲜的事情 随着近一两年无线 网络的飞速发展 从企业到家庭都开始在不同的领域体验着 自由上网 的乐趣 笔者接触无线网络也有一段时间了 经常在一些无线论坛逛游 无论是在现实生活还是在论坛中 总会有朋友不断的问这样
  • openwrt 缺少 libc.so.6 libm.so.6 libpthread.so.0

    在开发openwrt时 编译内核的时候 自己写的代码在openwrt 编译报错 提示缺少依赖库文件 Package Gateway Auto is missing dependencies for the following librari
  • 路由器简单认识

    路由器 是一个三层设备 可以解析到三层 第一层是比特流 电压 电信号 第二层是数据帧 从比特流到数据帧的过程也叫格式化 可以看到MAC地址 第三层是数据包 IP地址 网络层 交换机 网桥 二层设备 区别 1 交换机基于硬件处理 网桥基于软件
  • 如何知道我的二进制可执行文件的内存占用量

    我想知道是否有办法知道用 C 语言编码的二进制可执行文件的内存占用量 有关二进制可执行文件的信息 使用OpenWrt分支 Attitude Adjustment 的工具链编译 架构为x86 在 Linux Unix 系统上 您可以使用siz

随机推荐

  • 卷积神经网络CNN

    近来在了解深度学习 深度神经网络的一大特点就是含有多隐含层 卷积神经网络 CNN 算是深度神经网的前身了 在手写数字识别上在90年代初就已经达到了商用的程度 本文中将简要介绍CNN 由于相应的博文资料已经很多 也写的很好 本篇最有价值的是参
  • springboot yml文件语法 回顾

    Yml 语法 对象 Student Name zhangsan Age 20 Student name 张三 age 250 多个对象 students name zhangsan age 18 name lisi age 19 name
  • python if elif 详解

    分支语句 if elif else 一 if else 语句格式 if 条件语句1 若条件语句1 为True 则执行下面的执行语句 执行完毕后跳出该分支结构 执行语句1 elif 条件语句2 若条件语句1 为False 则判断条件语句2 若
  • 微分方程之二阶齐次与非齐次

    微分方程解的结构 微分方程求解一定要对号入座 先搞清楚方程的类型 再选择相应地方法去解 补充线性相关与无关概念 二阶齐次线性方程解的结构 二阶非齐次线性方程解的结构 也就是说 非齐次通解 齐次的通解 非齐次的特解 以上定理都可推广到n阶线性
  • 【Java】让我们对多态有深入的了解(九)

    目录 1 接口的基本介绍 编辑 2 接口的注意事项和细节 1 接口不能被实例化 2 接口中所有方法是public方法 接口中的抽象方法 可以不用abstract修饰 3 一个普通类实现接口 必须将接口所有的抽象方法都实现 4 抽象类实现接口
  • 国内外镜像下载合集(详细最终版)

    当下分享使用最多的镜像下载资源网站 Python 来自国内 华为 蟒蛇本地索引 huaweicloud com MySQL 来自中国科技技术大学 Index of mysql ftp Downloads ustc edu cn Java 来
  • Python连接多种数据库的方式

    本次主要介绍3种数据库 MySQL PostgreSQL oracle 如何用Python连接 一 MySQL MySQL这里介绍三种Python的库来连接 分别是sqlalchemy MySQLdb PyMySQL 1 sqlalchem
  • js中var用与不用的区别

    Javascript声明变量的时候 虽然用var关键字声明和不用关键字声明 很多时候运行并没有问题 但是这两种方式还是有区别的 可以正常运行的代码并不代表是合适的代码 var num 1 是在当前域中声明变量 如果在方法中声明 则为局部变量
  • 【微服务&云原生】用实际案例探究Hystrix 断路器执行流程

    博客首页 派 大 星 欢迎关注 点赞 收藏 留言 本文由派大星原创编撰 系列专栏 微服务 云原生 本系列记录容器化技术的初次探险与深入思考历程 如有描述有误的地方还望诸佬不吝赐教 目录 Hystrix断路器 概述 Hystrix重要概念 H
  • 计算机组成原理知识点(第七章: 指令系统)

    第七章 指令系统 1 概念 人们习惯把每一条机器语言称为机器指令 而又将全部机器指令的集合称为机器的指令系统 2 指令的一般格式 操作码 指令是由操作码和地址码两部分构成的 操作码说明所要完成的功能 地址码说明了要在哪里完成这个操作 操作码
  • linux下访问windows共享文件夹的方法

    1 windows下创建需要共享的目录ShareFolder 或者选择已存在的目录 右键属性 gt 共享 指定某个有密码的用户 比如user 2 在linux的用户目录下创建接收共享的文件夹FromShareFolder 2 把 载入共享
  • 用正则表达式把列里面的数字提取出来

    示例如下 用正则表达式 regexp replace id digit 来实现 SQL gt select from test ID 123ad45 12 345 12 345 12 345 12 345 SQL gt select reg
  • 当上项目经理才知道!Android快速转战Kotlin教程,年薪50W

    前段时间有人问我 你是怎么成为一名软件架构师的 我们就此探讨了必备技能 经验 以及储备相关知识所需的时间和精力 除此之外 我也回顾了自己走过的路 使用或尝试过的技术 以及我从那些五花八门的工作中学到的东西 作为安卓开发者 除了Bug 经常会
  • 图像分割——重点(基于SVM的图像分割)

    图像分割 所谓图像分割是指根据灰度 彩色 空间纹理 几何形状等特征把图像划分成若干个互不相交的区域 使得这些特征在同一区域内表现出一致性或相似性 而在不同区域间表现出明显的不同 简单的说就是在一副图像中 把目标从背景中分离出来 一般来说 用
  • 【cmake学习】set_target_properties 常见属性以及获取target 属性

    set target properties 的作用是设置目标的属性 可以是目标文件输出的名称或者目录 目标文件的版本号 与之对应的 我们可以使用 get target properties 来获取目标文件某一属性对应的值 命令格式如下 se
  • echarts 折柱表混合图(折线,柱状图,表格)

    效果图如下 代码如下 div class chart div style width 100 height 400px div div
  • 计算机入门基础知识大全

    作者 小刘在C站 个人主页 小刘主页 每天分享云计算网络运维课堂笔记 努力不一定有回报 但一定会有收获加油 一起努力 共赴美好人生 夕阳下 是最美的 绽放 愿所有的美好 再疫情结束后如约而至 目录 一 计算机发展史 二 计算机的组成
  • vue3自定义指令将Loading组件动态插入指令作用的对象上

    一 前言 如图所示 我webApp中实现loading 二 Loading组件代码
  • 自动化测试软件有哪些?

    自动化测试软件有很多种 常见的有 Selenium 自动化测试工具 支持多种浏览器 可用于测试Web应用程序 Appium 跨平台的移动应用程序测试工具 可用于测试安卓和 iOS 系统的应用程序 TestComplete 自动化测试工具 支
  • openwrt 编译经验【2021-01-28】

    openwrt 编译经验 2021 01 28 编译环境 Kubuntu 20 10 理论上其他Ubuntu发行版也是一样的 首先参考L大的Openwrt Readme 安装 build essential asciidoc binutil