OpenWrt编译固件和交叉编译环境搭建

ubuntu环境

?? 点击openwrt查询自己系统需要安装的那些

比如我的系统是ubuntu 18.04,选择的就是18.04

查询设备CPU信息

?? 点击openwrt查询自己路由器对应的CPU信息

准备OpenWrt环境

  • 下载openwrt源码
    这个过程可能会有点漫长,可以将github上的资源搬到码云,然后从码云下载,据说速度很快,详细的教程百度搜一下就有
git clone https://git.openwrt.org/openwrt/openwrt.git
  • 选择自己需要的分支
cd openwrt/

# lede
git checkout lede-17.01

# openwrt
git checkout openwrt-18.06
  • 编译检查
    在安装Ubuntu环境的时候,我们已经安装了一部分需要的库,在这个地方如果报错,只需要根据报错的信息安装对应库就好了
make defconfig && make prereq
  • 配置编译信息
    在第二部我们已经查到自己路由信息,在这个地方只需要按照查询的信息选择就好
make menuconfig

关于一些选项的说明,来自于《OpenWrt智能路由系统开发 跟hoowa学智能路由》

如果只是生成SDK开发环境,勾选比较少,我所勾选的是

Target System (Atheros AR7xxx/AR9xxx)
Target Profile (GL MIFI)
Advanced configuration options
Build the LEDE SDK
  • 编译
    使用make命令即可完成编译。不显示信息,直接编译
make
  • 采用多核编译,参数-j 后面跟随线程的数量
make -j 6
  • 显示全部信息,并且采用多核编译
make V=99 -j 2
  • 提取编译文件
固件以sysupgrade.bin结尾的文件
SDK openwrt-sdk-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64.tar.xz
  • 清理编译
    这个地方请谨慎操作,一旦操作错,可能会让你编译了几个小时的东西瞬间爆炸
  • 清理已编译好的固件、软件包
make clean
  • 清理掉已编译好的交叉编译工具、固件、软件包
make dirclean
  • 清理掉所有内容
make distclean

SDK 配置

使用make menuconfig配置"Global build settings"中"Cryptographically sign package lists",这一项默认勾选,需要取消勾选,不然make时会出错。

Feeds源

  • 查看Feeds下载地址
cat feed.conf.default
  • 下载全部Feeds源并安装到源代码中
./scripts/feeds update -a
./scripts/feeds install -a

原文地址:https://www.cnblogs.com/s3320/p/11910527.html

时间: 2024-10-05 19:51:51

OpenWrt编译固件和交叉编译环境搭建的相关文章

linux 交叉编译环境搭建及nfs 文件系统挂载

交叉编译环境搭建 1. 准备好交叉编译工具链 arm-linux-gcc-4.3.2.tgz ,并放到ubuntu linux 系统中 我是通过在windows 上建立共享文件,与虚拟机中的linux 系统进行共享, 首先在windows 下创建共享文件夹(不懂请百度),然后在虚拟机上设置 虚拟机->设置->选项->共享文件夹,然后把启用勾上,并选择路径为刚才在windows 上建立的共享文件夹,之后启动ubuntu 系统,cd  /mnt/hgfc/  就可以看到有共享目录和里面的内容

嵌入式交叉编译环境搭建

1,嵌入式交叉编译环境搭建 所谓的搭建交叉编译环境,即安装.配置交叉编译工具链.在该环境下编译出嵌入式Linux系统所需的操作系统.应用程序等,然后再上传到目标机上. 交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构的程序代码.对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链.例如,arm-linux-表示是对arm的交叉编译工具链:arm-linux-gcc表示是使用gcc的编译器.除了体系结构相关的编译选项以外,其使用方法与Linux主机上的gcc相同,所以L

树莓派 交叉编译环境搭建(Win 7)

虽然树莓派带有gcc,可以编译C/C++程序,但是如果工程比较庞大,使用树莓派进行编译会浪费大量的时间,我们可以在PC上编译好程序,然后将可执行文件传递到树莓派上,执行程序,这样充分利用了PC上的资源,加快了开发进度. 首先需要在PC上搭建交叉编译环境,这里我选择了Cygwin作为交叉编译环境,在官网上即可下载. 安装程序Cygwin 下载arm-tool chain 下载地址:https://github.com/IanLinsdell/Raspberrypi 下载完成后解压其中的hardfp

Exynos4412交叉编译环境搭建

Exynos4412交叉编译环境搭建 交叉编译:在PC机(x86平台)上开发程序,在ARM板上运行,提高开发.编译速度. 环境: Tiny4412SDK1506开发板 需要软件: arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz 检测系统是否已经安装有交叉编译环境: # arm-linux-gcc -v bash: arm-linux-gcc: command not found 1. 安装步骤: 1)找到arm-linux-gcc-4.5.1-v6-vfp-201

qt编译及qwt开发环境搭建笔记

qt的编译安装参见http://qt-project.org/doc/qt-4.8/install-x11.html 应注意以下要点,需要安装以下套件吗,否则编译后跟ubuntu的界面不兼容 Error while building on Ubuntu 12.* Before building it on Ubuntu 12.* be sure you have these packages: libfontconfig1-dev libfreetype6-dev libx11-dev libx

qt4.7.0 交叉编译环境搭建经验总结

一.前期软件准备: 1 .虚拟机fedora9.到fedora官网下载,地址 http://fedoraproject.org/   版本推荐使用fedora9,在vm内安装,并且不安装vmware tools. 2.qt-creator 图形化界面开发软件   . Linux/X11 32位 的 Qt Creator 1.3.1 二进制软件,qt-creator-linux-x86-opensource-1.3.1.bin 地址         http://qt.nokia.com/down

在CentOS上编译安装Nginx+实验环境搭建+测试

0.说明 Nginx作为一款优秀的Web Server软件同时也是一款优秀的负载均衡或前端反向代理.缓存服务软件,很有必要搭建实验环境来对其进行学习. 1.实验环境 本次实验的测试环境使用的宿主机操作系统为Windows 7,在Vmware虚拟机安装CentOS 6.5,说明如下: 宿主机操作系统Windows 7 虚拟机安装的操作系统CentOS 6.5 虚拟机操作系统上网方式NAT 而当使用NAT的方式进行上网时虚拟机.宿主机之间的网络连接关系可如下所示: 关于为什么网络拓扑结构是这样的,这

openwrt编译 固件太大报错 .bin is too big

openwrt只选中SSH LUCI 编译 报错 无法生成固件 问题出在:openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin 这个固件也没用 . 修改方法: 进入./target/linux/ramips/image 打开makefile 找到ex2700_mtd_size=3866624  改为8126464即可.影响未知 error log: if [ `stat -c%s "/home/l/linux/build_dir/target-

vs2015上编译QT程序的环境搭建

下载相对应版本的QT(以QT5.7.0为例),进入网站http://download.qt.io/archive/qt/5.7/5.7.0/,下载MSVC版本QT,我的系统是64位,VS版本是2015,所以下载qt-opensource-windows-x86-msvc2015_64-5.7.0.exe这个QT版本(根据自己系统和VS版本下载对应的QT). 下载完安装就不说了,一直按下一步就好(注意:安装目录不能有中文,选择组件时默认或者全选都行,根据个人需要). QT版本安装完之后,进入VS2