刚开始学接触OpenWrt,可谓是一脸懵逼。无从下手,经过一段时间学习之后,有了些心得,下面记录一下。
一、了解OpenWrt
1. 首先进入OpenWrt官网,了解OpenWrt:https://openwrt.org/
现如今,OpenWrt和LEDE已经合并,名字依然叫OpenWrt,上图的红色框住的部分分别有LEDE社区和OpenWrt社区,平时找资料可以进去找一下。
2. 当然,我们也有OpenWrt的中文社区,百度搜索都可以找到。
http://www.openwrt.org.cn/
二、环境搭建
主要是安装相关的编译环境:
sudo apt-get install g++
sudo apt-get install libncurses5-dev
sudo apt-get install zlib1g-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install unzip
sudo apt-get install autoconf
sudo apt-get install gawk
sudo apt-get install make
sudo apt-get install gettext
sudo apt-get install gcc
sudo apt-get install binutils
sudo apt-get install patch
sudo apt-get install bzip2
sudo apt-get install libz-dev
sudo apt-get install asciidoc
sudo apt-get install subversion
sudo apt-get install sphinxsearch
sudo apt-get install libtool
sudo apt-get install sphinx-common
sudo apt-get install libssl-dev
sudo apt-get install libssl0.9.8
三、下载源码包
1. LEDE项目:git clone git://git.lede-project.org/source.git (我选的是这个)
2. OpenWrt项目:git clone git://github.com/openwrt/openwrt.git
这两者应该没有太大区别,LEDE和OpenWrt合并之后,源码也都是跳转到OpenWrt去下载(还没深入去探究)
三、更新软件包下载下来之后第一件事就是要全部更新软件包
进入源码路径(我这个是编译通过的了,所以会多了一些文件夹)
./scripts/feeds update -a
./scripts/feeds install -a
四、下载压缩包
虽然直接make也可以自动下载,但是这样子容易出问题。不如先下载好再编译,执行:
make download
下载好的压缩包在./dl路径下
五、检查压缩包
下载的时候可能会有一些压缩包下载失败或是没有下载到,那么先检测一下
make check
六、配置 menuconfig
make check确认没问题之后,就make menuconfig配置一下菜单,选定自己的板子“Target System”, "Target Profile"
七、配置好之后就开始编译
编译方式跟编译内核差不多,直接make就可以执行。但这里建议用make V=s。执行过make就明白。
八、编译过程中出现的一些问题:
1. 出现tar: This does not look like a tar archive
2. 更改gcc编译器版本