月下博客

Ubuntu系统搭建路由器固件编译环境,OpenWRT(LEDE)固件固件编译命令

这篇文章为基于 https://github.com/coolsnowwolf/lede  源码编译,适用于小白的从零开始的编译固件方法推荐查看《从零开始编译OpenWRT(LEDE)固件

大雕的固件基于OpenWrt修改编译,加入了酸酸乳,广告过滤,BBR内核等众多新特性和奇异功能。

注意:不要用 root 用户 git 和编译;国内用户编译前最好准备好梯子;默认登陆IP 192.168.1.1, 密码 password

OpenWrt固件编译教程

1.首先装好 Ubuntu 64bit,推荐 Ubuntu 14 LTS x64,点击这里下载Ubuntu 14 LTS x64,虚拟机推荐使用VMware

2.命令行输入

sudo apt-get update

3.安装必要的环境和VMTools

sudo apt-get install openssh-server open-vm-tools-desktop -y
sudo reboot

4.然后输入

sudo apt-get 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 autoconf automake libtool autopoint

5.使用git命令下载源代码

git clone https://github.com/coolsnowwolf/lede

6.切换到lede目录


cd lede

7.依次输入以下命令

./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig

8.最后选好你要的路由,输入 make -j1 V=s (-j1后面是线程数。第一次编译推荐用单线程,国内请尽量全局科学上网)即可开始编译你要的固件了。

OpenWrt固件编译二次编译

cd lede                             进入LEDE目录
git pull                             同步更新大雕源码
./scripts/feeds update -a && ./scripts/feeds install -a     更新FEEDS
rm -rf ./tmp && rm -rf .config                  清除编译配置和缓存
make menuconfig                         进入编译配置菜单
make -jn V=s                           n=线程数+1,例如4线程的I5填-j5,开始编译

编译完成后固件输出在/lede/bin/targets

建议:

编译机最好100G起步,全局梯子

编译前下载好DL包,可大量缩减首次编译时间

此DL包,不定期更新,可编译X64固件

链接: https://pan.baidu.com/s/1UaQdjK9UCVrjuMugoG0UAA提取码: akcg

以下操作请把mj替换为自己的用户名

DL:

如果存在/home/mj/lede/dl目录,请删除

WINSCP上传dl.tgz放进/home/mj 目录下,右键-文件自定义命令-Untar/Gzip,直接回车,解压出DL文件夹后,执行以下命令

ln -s /home/mj/dl /home/mj/lede

涡轮增雕法

WINSCP上传diy.tgz放进/home/mj 目录下,右键-文件自定义命令-Untar/Gzip,直接回车,解压出diy文件夹后,执行以下命令

ln -s /home/mj/diy /home/mj/lede/package/openwrt-packages

这样编译就会加载/package/lean和/package/openwrt-packages,如果软件包同名openwrt-packages优先级低

使用涡轮增雕法,可把大雕删除的软件打包回去编译,或者增加其他插件例如KP

目前大部分源码已重新添加,不需要的忽略。

编译OpenWrt固件切换内核

打开LEDE目录/target/linux/架构/Makefile

KERNEL_PATCHVER:=4.9

具体支持内核版本

include/kernel-version.mk

源码回退:

git log            查看源码更新日志
git reset --hard HEAD^     回退到上个版本
git reset --hard HEAD~3    回退到前3次提交之前,以此类推,回退到n次提交之前
git reset --hard commit_id   退到/进到 指定commit的sha码(可到大雕源码地址直接查询)

files大法:就是把你 改好的配置 直接编译进固件

这样做的好处就是升级不需要保留配置,或者恢复出厂设置,缺省值就是你自己设置好的配置

固化某配置教程例子:

1.提取路由固件下的/etc/config/network

2.在编译机LEDE根目录下创建files目录

3.拷贝到/files/etc/config/network

这样编译完,network就是你自己配置好的network,注意提取的文件路径和权限要一致

一些常用的配置,路由器路径

/etc/config                   各个LUCI配置
/etc/gfwlist                   gfwlist目录
/etc/shadow                   登录密码
/etc/firewall.user                自定义防火墙规则
/usr/share/adbyby                adbyby里的相关规则和设置
/usr/lib/lua/luci/view/admin_status/index.htm  主页样式文件,温度显示等等

X86架构固件的index,默认被大雕files强奸了,自己到源码里替换/lede/package/lean/autocore/files/index.htm

如果无效请make clean或者删除/lede/build_dir/target架构/autocore-1(编译其他失败同理)

官方QQ群号码:922069959(空)1093596563(空)

您可能感兴趣的文章