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

猜你喜欢

转载自www.cnblogs.com/s3320/p/11910527.html
今日推荐