从零开始:编译自己的openwrt超详细教程

服务器 木人张 7个月前 (03-16) 433次浏览 0个评论 扫描二维码
文章目录[隐藏]

网上关于openwrt的教程五花八门,很多新入门的选手并不清楚如何编译属于自己的openwrt固件,主要针对新手,按部就班进行,应该都是ok的。
因为家里正好有一台极路由3,本教程就以极路由3举例,进行本地编译。编译的版本是最新的openwrt19.07.1

准备工作

1、一个linux系统(可以自己虚拟机,我的系统是centos7,如果有谷歌云可以用谷歌云,毕竟省去翻墙)
2、一个梯子(编译时需要下载包,需要梯子)

第一步:虚拟机安装Centos并本地编译环境的安装

1、在虚拟机搭建一个linux系统(已经装好了可以跳过),这里用的centos7,不要快速安装,硬件按照自己配置选,一般选推荐即可。开进进入选择安装,选择最小安装,打开网络,点击开始安装。输入相应的root密码并创建一个用户,编译一定要在非root账户下进行,安装完成进入系统。



2、系统的更新,以及依赖包的安装,这部分都在root账号下,可以ssh远程登录,方便复制粘贴指令。mac下终端输入ssh [email protected]地址 即可

yum -y update
yum install -y gcc g++ gcc-c++ wget build-essential asciidoc  binutils bzip2 gawk gettext git libncurses5-devel libz-devel patch flex bison make autoconf texinfo unzip sharutils subversion ncurses-term zlib1g-dev ccache upx lib32gcc1 libc6-dev-i386 uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-devel libglib2.0-dev xmlto qemu-utils automake libtool

3、安装最新的python3
因为centos自带的版本是2.7,编译需要python版本大于3.5
先查看你的python在哪里,进入python所在文件夹,查看软连接;

whereis python
cd /usr/bin/
ll python*

可以看到python指向的是python2,python2指向的是python2.7,因此我们可以装个python3,然后将python指向python3,然后python2指向python2.7,那么两个版本的python就能共存了
直接yum安装python3.6

yum install python36

第二步:准备工作,一些信息的准备

访问openwrt官网 https://openwrt.org/ ,搜索你的路由器对应的型号,这里极路由3的型号是HC5861,查看你的硬件信息,极路由3是MediaTek MT7620A的平台,其实这里你会发现官方有已经编译完成的固件可以直接下载,咱不是要折腾么,嘿嘿嘿。。。懒得折腾的朋友可以根据自己路由器型号自行搜索,当然前提是你的路由器支持ssh登录刷系统哈,有一些官方的固件也会有问题,所以我们还是尽量选择自己编译。

第三步:下载官方源码

退出root用户,登入其他用户,创建openwrt文件夹,修改权限,进入文件夹,下载源码

mkdir openwrt
sudo chmod 777 openwrt
cd openwrt
git clone https://github.com/openwrt/openwrt.git source

第四步:更新源码

进入source文件夹,更新软件包,安装最新包

cd source
 ./scripts/feeds update -a
./scripts/feeds install -a

发现缺少
Build dependency: Please install the GNU C++ Compiler (g++) 4.8 or later
Build dependency: \nPlease reinstall the GNU C++ Compiler (4.8 or later) – it appears to be broken
Build dependency: Please install GNU ‘wget’

yum install -y gcc-c++ wget

第五步:测试编译环境

make  defconfig

第六步:开始编译

编译前关于平台、核心、型号的设置(第一二三大项);

make menuconfig


下面LuCI=》Modules=》Translations=》选择语言Chinese;

LuCI=》Applications=》选择需要的插件,这里只选择了ss,后续可以自己选择编译或者直接下载安装
选择完成后保存,开始编译,这里一定要有梯子,便已开始后会自动下载各种包,很多人失败的原因也就是这里。

make v=99

第一次编译耗时非常长也主要是因为要下载各种包(主要取决于网速,我第一次用了半天。。。。),第二次就快很多了
编译完成后的文件地址在/openwrt/source/bin/targets/ramips/mt7620/ 文件夹下,可以scp命令下载或者虚拟机可以共享文件夹直接拷贝,再或者虚拟机接个u盘,都可以

scp -r 用户名@服务器地址:/openwrt/source/bin/targets/ramips/mt7620/ 本地地址

编译结束拿到自己的openwrt固件,开开心心的刷固件去喽~


木人张,版权所有丨如未注明 , 均为原创,禁止转载。
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址