openwrt固件编译教程(不用Linux电脑也能轻易完成)

软路由一直都是用的OpenWrt,每次都是在恩山下载别人编译好的Openwrt固件,很多大神制作的固件确实是挺好用的,但是难免还是有遇到硬件不支持和缺少某些功能的情况,很多时候都想自己编译固件,但是想想自己装一个又是一个很麻烦的事情,而虚拟机听说也是问题多多。那么有没有一个简单的方法呢?

无线路由器-网关-dtu
没有虚拟机,不用Linux电脑也能轻易完成OpenWRT固件的编译

无线路由器-网关-dtu
没有虚拟机,不用Linux电脑也能轻易完成OpenWRT固件的编译

正好我手里有一个访问无限制的 Virtual Private Server 虚拟专用服务器,上面装了一个宝塔,是给我的Wordperss做服务器的,正好利用一下。

无线路由器-网关-dtu
没有虚拟机,不用Linux电脑也能轻易完成OpenWRT固件的编译

一,因为Lean大大的源码实在是太出名了,今天我们就来编译一下Lean的源码吧。因为Lean说系统需要Ubuntu 64bit,推荐 Ubuntu 14 LTS x64。所以我们需要把Virtual Private Server 虚拟专用服务器重装一个系统。

无线路由器-网关-dtu
没有虚拟机,不用Linux电脑也能轻易完成OpenWRT固件的编译

二,我们在Virtual Private Server 虚拟专用服务器的后台把系统重装成Ubuntu 16 64 bit。这个过程大约1分钟吧。

无线路由器-网关-dtu
没有虚拟机,不用Linux电脑也能轻易完成OpenWRT固件的编译

三,现在我们就开启SSH登录你的Virtual Private Server 虚拟专用服务器吧。我的SSH工具是putty,你们随意就好。跟随Lean教程走,我们先更新和升级系统。

命令行输入 sudo apt-get update
无线路由器-网关-dtu
没有虚拟机,不用Linux电脑也能轻易完成OpenWRT固件的编译

四,接着安装依赖。

sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint
无线路由器-网关-dtu
没有虚拟机,不用Linux电脑也能轻易完成OpenWRT固件的编译

五,使用git clone命令下载好源代码

无线路由器-网关-dtu

六,然后 cd lede 进入目录。

cd lede
./scripts/feeds update -a 
./scripts/feeds install -a
make menuconfig 
无线路由器-网关-dtu
没有虚拟机,不用Linux电脑也能轻易完成OpenWRT固件的编译

七,这时我们就进入了make menuconfig 图形化的内核配置,这个菜单大致分为几个类别。

Target System (x86) ---> 目标系统(x86)--->
Subtarget (x86_64) ---> 子目标(x86_64)--->
Target Profile (Generic) --->目标配置文件(通用)--->
Target Images ---> 目标图像--->
Global build settings ---> 全局构建设置--->
[ ] Advanced configuration options (for developers) ----高级配置选项(适用于开发人员)----
[ ] Build the OpenWrt Image Builder 构建OpenWrt Image文件系统 
[ ] Build the OpenWrt SDK 构建OpenWrt SDK
[ ] Package the OpenWrt-based Toolchain 打包基于OpenWrt的工具链 
[ ] Image configuration ---> Image文件配置--->
Base system ---> 基础系统---> 
Administration ---> 超级管理员--->
Boot Loaders ---> 启动加载器--->
Development ---> 发展--->
Extra packages ---> 额外包装--->
Firmware ---> 固件---> 
Fonts ---> 字体---> 
Kernel modules ---> 内核模块--->
Languages ---> 语言--->
Libraries ---> 资料库--->
LuCI ---> LuCI 界面---> 
Mail ---> 邮件---> 
Multimedia ---> 多媒体---> 
Network ---> 网络---> 
Sound ---> 声音---> 
Utilities ---> 公用事业---> 
Xorg ---> xorg软件包---> 

八,在图形化的内核配置中设置好需要的硬件和软件之后就可以编译固件了。因为我们获取的是软路由x86的源码,我简单修改了自己网卡的硬件就好了。

输入
 make -j1 V=s 
(-j1 后面是线程数。第一次编译推荐用单线程,国内请一定注意自己的网络条件)。
无线路由器-网关-dtu

九,耐心的等待编译完成。第一次编译需要1-2个小时,需心等待吧,在编译完成之后,会生成一个bin目录,里边的
openwrt-x86-64-combined-squashfs.img就是编译好的固件.

无线路由器-网关-dtu

十,我们把它刷到到自己的路由器中就可以了,是不是很简单,就是编译花的时间有点多。

无线路由器-网关-dtu
没有虚拟机,不用Linux电脑也能轻易完成OpenWRT固件的编译