打开网易新闻 查看精彩图片

本次编译是记录自己根据大神们的资料折腾的所有过程,包括VMware——Ubuntu——首次编译全过程!本文为Openwrt首次编译全过程。

一、固件源码

1、Lean的固件源码

首先我选择的是恩山大神Lean的固件源码(自己网上找),Lean大神的源码是根据原版OpenWrt项目,整合优化了很多适合国内使用的插件,可根据自己需求编译进自己的固件。

打开网易新闻 查看精彩图片

2、注意事项

1)、不要用 root 用户进行编译!!!

2)、国内用户编译前最好准备好梯子

3)、默认登陆IP 192.168.1.1 密码 password

二、首次编译:

1、准备工作

已经在VMware下用Ubuntu编译自己的Openwrt——①搭建好需要的环境,包括虚拟机装好 Ubuntu 20.04 LTS x64。

打开网易新闻 查看精彩图片

2、更新组件

打开终端(ctrl+alt+t)输入

输入代码:sudo apt-get update

打开网易新闻 查看精彩图片

3、下载安装编译环境

输入代码:sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 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 device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync

打开网易新闻 查看精彩图片

显示this may take some time…done就是部署完成了

打开网易新闻 查看精彩图片

4、拉取源代码

输入代码:git clone (openwrt的源码,注意空格)

如果没有安装git,执行此命令会报错,请输入代码apt install -y git或者输入代码sudo apt-get install git进行安装。

打开网易新闻 查看精彩图片

5、进入源码目录

输入代码:cd lede

打开网易新闻 查看精彩图片

6、添加部分插件

添加部分插件源,以添加Helloword插件为例,不需要的可跳过这步。

6.1、修改lede目录下feeds默认配置

输入代码:vi feeds.conf.default

打开网易新闻 查看精彩图片

6.2、追加源地址

输入代码:src-git helloworld (hellowrld插件地址,注意空格)

按i进行编译,拷贝进去后esc退出编译,注意前面没有#号,输入:wq回车退出 *前面没有#为可执行,前面有 #为不可执行。

打开网易新闻 查看精彩图片

6.3、删除旧配置

输入代码:rm -rf ./tmp && rm -rf .config

6.4、清理 feeds

输入代码:./scripts/feeds clean

打开网易新闻 查看精彩图片

7、更新Feeds

输入代码:./scripts/feeds update -a

打开网易新闻 查看精彩图片

8、安装Feeds

输入代码:./scripts/feeds install -a

打开网易新闻 查看精彩图片

9、进入编译配置菜单

输入代码:make menuconfig

注意窗口大小,如果有报错,大概率是因为你的窗口太小,拉大点,不然不够显示编译窗口的。

打开网易新闻 查看精彩图片

9.1、进入编辑器

打开网易新闻 查看精彩图片

9.2、固件空间设置

编译丰富插件时,建议修改下面两项默认大小,留足插件空间。( x86/64 )!!!

进入 Target Images

打开网易新闻 查看精彩图片

Target Images ---> (16) Kernel partition size (in MB) 默认是 (16) 建议修改 (256)

Target Images ---> (160) Root filesystem partition size (in MB) 默认是 (160) 建议修改 (512)

打开网易新闻 查看精彩图片

9.3、支持ipv6

进入Extra packages

打开网易新闻 查看精彩图片

进入 Extra packages —— ipv6helper

打开网易新闻 查看精彩图片

9.4、LuCI编译插件(重点)

选择LuCI目录

打开网易新闻 查看精彩图片

选择Applications选择插件

打开网易新闻 查看精彩图片

Applications 目录下按照需要配置插件,可参照恩山OpenWrt 编译 LuCI -> Applications 添加插件应用说明-L大这篇文章选择插件。

选项操作:使用空格键选择: * 代表编入固件,M 表示编译成模块或者IPK包,空 不编译 。

打开网易新闻 查看精彩图片

10、下载dl库(速度很慢,需耐心等待)

输入代码:make -j8 download V=s

打开网易新闻 查看精彩图片

11、开始编译

输入代码: make -j1 V=s

-j1 后面是线程数。第一次编译推荐用单线程以后可以使用make -j$(($(nproc) + 1)) V=s。

打开网易新闻 查看精彩图片

编译完成

编译完成后文件存在根目录lede-bin-targets-x86-64文件夹内。

总结

由于网络原因我单线程编译了4个小时,正常应该在2.5-3个小时编译完成,二次编译使用命令make -j$(($(nproc) + 1)) V=s ,可在20分钟左右完成编译,二次编译详情可关注下一篇文章。