git clone https://github.com/openwrt/openwrt.git #这个是OpenWrt官方提供的最新LEDE版本,内核支持到4.14.x
git clone https://github.com/openwrt/chaos_calmer.git #这个是OpenWrt维护的chaos_calmer版本,一般叫15版本,内核支持到3.18.x
可以选择去OpenWrt的官方github源去选择下载你需要的源码:https://github.com/openwrt
*需要注意下载的源码和你需要编译的OpenWrt所需功能需要版本匹配,不然会有一大堆问题。
*补充:git openwrt源码的目录要更改权限为777
chmod 777 #openwrt的目录
sudo apt-get update #安装环境包之前先Update
sudo apt-get install libtool texinfo sharutils subversion libssl-dev autoconf automake gcc-multilib bison screen gcc g++ binutils patch bzip2 flex make gettext unzip libc6 git-core git ncurses-term build-essential libncurses5-dev zlib1g-dev gawk quilt asciidoc libz-dev zlib-bin lib32z1-dev
这里可以选择一个一个包单独下载,可以检查下载的情况,减少出错的可能性。
3.1 看看有哪些扩展包包含在feeds里面:
gedit feeds.conf.default
3.2 如果需要用到某些功能,可以通过feeds来添加,fees功能超级强大。以后会用到,现在先不进行操作。
3.3 将feeds.conf.default改名为feeds.conf:
cp feeds.conf.default feeds.conf
3.4 更新扩展:
./scripts/feeds update -a
3.5 安装扩展:
./scripts/feeds install -a
这是比较关键的一步,可以选择你需要用到功能模块。
4.1 进入功能模块选择界面:
make menuconfig
如果不清楚路由器的主板型号,可以百度查,有或者链接上路由器之后,通过SSH查看:
cat /proc/cpuinfo
Luci→Modules→Translations→Chinese(zh-cn)
4.6 添加中文支持
Kernel Modules→Native Language Support→kmod-nls-utf8
4.7 注意
一开始学习编译的时候,不推荐选择太多,知道这个逻辑就可以了。等以后需要真正结合具体功能的时候,在进行添加选择就可以了。
make V=s
这需要漫长的等待,因为需要下载很多的dl包。如果你以后会使用相同的openwrt源代码进行编译,推荐把dl文件夹备份一下,以后就不用等待下载时间了。
但是不同版本的OpenWrt使用的dl包是不一样的,不要混为一谈。
编译的结果都会放在bin文件夹里面,在里面找就可以了。现在一般是:bin/targets/ramips/mt7620
里面可能会有很多.bin固件文件,openwrt-ramips-mt7620-psg1218a-squashfs-sysupgrade.bin才是我们需要拿到的。
make clean
这个命令会保存dl文件和.config文件。如果需要全部清除,请用:
make distclean
但是用这个命令之前,最好把dl文件转移到其他地方留着备用。而且这个命令的特点是会更换.feeds。
做到这一步,你就已经完全结束了,可以拿这个固件去烧到你的路由器上面去了。怎么烧?如果你还没学会怎么烧,应该不会查到这篇文章的。
刷固件教程:https://blog.csdn.net/H845165367/article/details/78808911
按照这个教程去刷完Breed,你就可以随意用你编译出来的固件了,也不怕变砖。