源码编译 OpenWRT

宿主机操作系统:Ubuntu 17.04
目标板型号:MT7620A 开发板
OpenWRT 源码版本:Barrier Breaker 14.07


OpenWrt 源码下载

  haha@Ubuntu:~$ git clone -b barrier_breaker git://github.com/openwrt/openwrt.git

更新、安装其他源上的软件

  haha@Ubuntu:~$ cd openwrt
  haha@Ubuntu:~/openwrt$ ./scripts/feeds update -a
  haha@Ubuntu:~/openwrt$ ./scripts/feeds install -a

检查编译环境

  #检查编译环境是否完整,如果提示错误,则根据错误信息进行排错
  #一般是提示缺少相关工具,apt install 即可

  haha@Ubuntu:~/openwrt$ make defconfig 
  haha@Ubuntu:~/openwrt$ make prereq

裁剪系统

  #Target System、Subtarget 需要根据目标板型号正确选择
  #其它功能模块根据需求进行选择

  haha@Ubuntu:~/openwrt$ make menuconfig

编译

  #V=99 表示显示所有信息
  #首次编译一般花1~2个小时的时间,以后再次编译一般在半分钟左右就可以完成
  haha@Ubuntu:~/openwrt$ make V=99

编译出的固件

编译出的固件存放在 ~/openwrt/bin/xxxx/ 目录下,我的是 ~/openwrt/bin/ramips/openwrt-ramips-mt7620a-mt7620a-squashfs-sysupgrade.bin

烧录固件

开发板通过串口、网口连接电脑,开发板上电启动 Uboot,根据 Uboot 提示选择适当的方式烧录固件。


编译时遇到 error 及解决方案

推荐阅读更多精彩内容