OpenWrt固件编译初探

网上的三方固件虽然很方便,但总感觉有点乱,很多功能用不到,甚至还有各种三方链接……而且比起三方固件,自己编译的OpenWrt固件才更安全不是吗?况且编译门槛也不高,只要一台安装有Linux系统的PC机Or虚拟机,可能还要翻一点点墙即可。

编译环境:Ubuntu 14.04 x86

源码版本:14.07 branch (Barrier Breaker)

1、安装编译环境

终端输入:

2、下载OpenWrt源码

首到到OpenWrt官网下载源码,具体位置在:

网站首页导航栏->Development,点击How to download the OpenWrt source,在这个页面下可以看到下载方法。

这里选择下载14.07 branch (Barrier Breaker)版本,所以在终端执行:

然后等待源码下载完成

3、更新/安装软件包

进入上面下载好的OpenWrt源码目录

更新软件包

安装软件包

 4、配置编译选项

会现编译配置界面,如下

openwrtmakemenuconfig

操作说明:
上下按键移动列表光标
左右按键移动底部菜单光标
列表中行首带有 “[ ]” 表示这个选项可以被选中,按Space改变编译模式,
*:表示该模块直接编译到核心中
M:该模块以被核心支持,可以后再安装
空白:不支持该模块
列表中行末带有 “--->” 表示这个选项带有2级列表,按Enter进入(要保证底部菜单<Select>被选中)

这里只做编译验证,所以只选择几个必要项即可。以我的路由器“网件4300”为例:

Target System -> Atheros AR7xxx/AR9xxx

Subtarget -> Generic devices with NAND flash

Target Profile -> NETGEAR WNDR3700v4/WNDR4300

配置好了以后,选中底部菜单的<Save>,将编译配置保存为wndr4300.config,这样下次要再次编译或调整的时候就可以直接通过底部菜单<Load>加载配置,而不需要重新配置。

由于编译只认源码目录下的“.config”文件,我们还要将要编译的配置保存为.config。再次选中底部菜单的<Save>,输入保存的文件名为.config。(求编译指定配置的方法)

然后选中底部菜单的<Exit>退出配置界面。

5、编译

一切准备妥当以后,就可以开始编译了

首先对编译环境进行检测

make defconfig表示对配置进行检测

make prereq表示对编译环境进行检测

如果没有提示错误的话就可以开始执行编译了

接下来要等待好几个小时,还要看网速情况,如果中途发现缺少什么下载不下来,复制文件名称,到下面两个网站搜索并下载到源码的dl目录下,也可以到其他相关镜像下载。再次在终端执行make V=s即可。

http://dev.gateworks.com/sources/

http://143.129.80.193/openwrt/dl/

编译完成以后就会在源码的bin目录下生成配置的固件!

原创文章,转载请注明: 转载自 Tshine's Blog

本文链接地址: OpenWrt固件编译初探

发表评论

电子邮件地址不会被公开。 必填项已用*标注