自编译 OpenWrt(LEDE)
warning:
这篇文章距离上次修改已过1529天,其中的内容可能已经有所变动。
自己手头上有个MT7620N的路由器,因为属于开源的,固件得自己折腾。
RT-N14U
一样)正好,因为网络的问题,需要使用最新的OpenWrt(LEDE)。
正好自己尝试编译一下,把需要的包一次都编译进去,省的在折腾了。
编译固件
这里,我用的是 L大维护的Openwrt源码
Error:
- 不要使用root用户身份 执行git命令 和 编译 !
- 网络不好建议自备梯子
- 默认登陆IP:192.168.1.1;用户名:root;密码:password
L大推荐使用 Ubuntu 18 LTS x64
,我这用的是MX Linux
,都是Debian
系的,命令可以通用。
更新&安装软件包
#更新软件包类表
sudo apt-get update
#安装编译需要的软件包(注意复制全了)
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3.5 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 swig rsync
拉取源码
#拉取源码
git clone https://github.com/coolsnowwolf/lede
更新Openwrt软件包
#进入lede目录
cd lede
#更新Openwrt软件包
./scripts/feeds update -a
#安装Openwrt软件包
./scripts/feeds install -a
配置相关参数
#进入图形化配置菜单
make menuconfig
上下键,移动选项;
左右键,选择菜单(Exit(退出)、Save(保存));
空格键,选中/取消选中;
info:
- Target System:可以选择路由器CPU的厂商、架构
- Subtarget:可以选择具体的CPU型号(部分路由器可能不显示)
- Target Profile:可以选择具体的路由器型号。
- Luci:可以自定义插件。(建议首次编译时,使用默认配置,以提高编译成功率。)
- Extra packages:扩展软件包,可以提供ipv6支持,usb自动挂载等,按需选择。
- 其它各项:一般无需修改,保持默认即可。
开始编译
warning:如果编译时提示缺失部分包,例如Go语言支持库(
UnblockNeteaseMusic(Golang版本)
需要)。请尝试克隆官方packages
库到/lede/feeds
目录下。
官方库地址:https://github.com/openwrt/packages.git
下载dl库(国内请尽量全局科学上网)
#下载dl库
make -j8 download V=s
开始编译固件(-j1
后面数字是线程数。第一次编译推荐用单线程)
make -j1 V=s
info:编译完成后输出路径:
/lede/bin/targets
二次编译(参考)
cd lede
git pull
./scripts/feeds update -a && ./scripts/feeds install -a
make defconfig
make -j8 download
make -j$(($(nproc) + 1)) V=s
如果需要重新配置:
rm -rf ./tmp && rm -rf .config
make menuconfig
make -j$(($(nproc) + 1)) V=s
更新固件
首先找到你编译好的固件
编译完成后输出路径:/lede/bin/targets/CPU架构/CPU型号/
,具体路径和你配置有关。
sysupgrade
的bin文件,这就是你编译好的固件了上传&更新固件
完成
info:默认登陆IP:192.168.1.1;用户名:root;密码:password