CentOS下编译OpenWrt笔记
本文主要记录个人在CentOS下编译OpenWrt的过程,不深入涉及原理。
此外,本文主要讲解的是编译OpenWrt的重要分支Gargoyle版本,也就是国人经常说的“石像鬼”版本。
一、准备编译环境
编译环境没什么好说的,不管你用什么Linux发行版本,基本都需要安装以下基础软件包,只是安装的命令不同罢了,常用就是 yum install / apt-get install
本人Centos,因此用yum install,如果是Ubuntu、Debian的话,就用apt-get。
yum install asciidoc autoconf binutils bison build-essential bzip2 flex gawk gettext git libncurses5-dev libssl-dev libxml-parser-perl libz-dev patch quilt subversion uglifyjs unzip xsltproc zlib1g-dev
二、Git克隆下载OpenWrt源码
运行如下命令:
git clone git://gargoyle-router.com/gargoyle.git
运行后通常显示如下,这个只是git环境基本建立,具体源码还不会下载到本地,因此本命令速度较快,直到后面make时候才会在线下载。
Initialized empty Git repository in /root/openwrt/gargoyle/.git/
remote: Counting objects: 22409,done.
remote: Compressing objects: 100% (9164/9164),done.
remote: Total 22409 (delta 13332),reused 20249 (delta 11872)
Receiving objects: 100% (22409/22409),4.05 MiB | 547 KiB/s,done.
Resolving deltas: 100% (13332/13332),done.
三、开始编译过程。
根据Makefile文件中的一些设置,通常make命令需要带一些参数,如果你只是简单运行不带参数的make,则默认会编译所有版本固件,时间会更久。
比如,我的路由器是H618B,根据芯片需要选择目标固件是brcm47xx,因此对应的参数是:
make FULL_BUILD=true brcm47xx
其中FULL_BUILD=true代表全新编译。
make brcm47xx
则默认是rebuild,也就是如果你曾经编译过,则只对更新部分进行编译。
如果你想自己定制固件选项,直接运行
make custom
上述命令会自动调用 make menuconfig 配置菜单,和正常版本的OpenWrt编译步骤一致。
注意: 本人亲测,编译过程中通常可能会出现中断,主要是缺少以下两个库的开发包,运行如下命令安装即可重新运行make命令,继续安装过程。
yum install ncurses-devel
yum install zlib-devel
四、编译完成。经过很长时间的等待,通常第一次编译可能有几个小时,终于编译成功了! 编译后的结果文件主要位于以下目录 ./built/:这个目录基本上包含了所有的.ipk文件,可以直接在你router上安装使用。 ./images/:刷机的目标固件就位于这个目录,通常是.bin或者.trx文件。
原文链接:https://www.f2er.com/centos/376293.html