写在最前
你可以从百度git到一大堆编译Lean的LEDE以及其他各位大神的相关教程,但如果你想编译一个自己满意的软/硬路由系统,还是要多下一些功夫的,其中所涉及到的交叉编译更的是一步一坑,如果遇到讨厌的Error[1]之类的,请一定回来查看!
现在的环境是知识付费,一个合适的方法可以节省你大量的时间,尊重各自的时间和成果。
即使你不需要帮助,如果觉得本文对你有很大参考价值,也可支付请我喝杯咖啡,感谢支持!
建议把S环境部署在软路由或专用的虚拟机上而不是编译电脑上。可先使用别人编译好的带有PASSWALL或类似软件的VMDK(建议PASSWALL,很直观,加地址方便)方法如下:
在PASSWALL中的【直连代理名单管理】中的【直连列表】中将上述几个域名粘贴进来并点【保存&应用】
验证
等待PASSWALL刷新服务状态后,在你编译的ubuntu中用浏览器测试是否能正常打开上述几个域名,
如果可以再进行下一步,如果不行,请先按照上面说的方法排除故障后再继续编译工作,否则也是白浪费时间和徒增失败带来的烦恼。[/wppay]
另外很重要的一点是:一定要确保你的外网足够稳定,你明白意思吧,就是能上GITHUB的那种。一个稳定的网络环境很重要!
大神项目地址
老毛子固件大神源码https://github.com/hanwckf/rt-n56u
coolsnowwolf源码地址:https://github.com/coolsnowwolf/lede
Lienol源码地址:https://github.com/Lienol/openwrt.git
kenzo源码包含openclash地址:https://github.com/kenzok8/openwrt-packages
kenzo国内gitee地址:https://gitee.com/kenzok8/openwrt-packages.git
环境配置
首先装好 Ubuntu 64bit,推荐 Ubuntu 18.04 LTS x64,命令行输入
sudo apt-get update
sudo apt-get upgrade
然后输入
18.04coolsnowwolf
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
LEDE源码拉取及添加订阅源
配置及编译
清理订阅缓存
./scripts/feeds clean
更新订阅
./scripts/feeds update -a
安装订阅插件
./scripts/feeds install -a
进入编译配置菜单
make menuconfig
按照需求进行配置和选择
Target System (x86)--->指令集架构
Subtarget (x86_64)--->架构子项
Target Profile--->目标配置文件
Target Images--->固件保存格式
Global build settings--->全局构建设置
Advanced configuration options--->高级配置选项(适用于开发人员)
Build the OpenWrt Image Builder--->构建OpenWrt图像生成器
Build the OpenWrt SDK--->构建OpenWrt SDK
Package the OpenWrt-based Toolchain--->打包基于OpenWrt工具链
Image configuration--->镜像配置
Base system--->基本系统
Administration--->管理
Boot Loaders--->引导加载程序
Development--->开发
Extra packages--->额外包
Firmware--->固件
Fonts--->字体
Kernel modules--->内核模块
Languages--->语言
Libraries--->依赖
LuCI--->统一配置接口
Mail--->邮件
Multimedia--->多媒体
Network--->网络
Sound---> 声音
Utilities--->实用程序
Xorg--->Xorg
按照配置文件的选择下载依赖库
make -j8 download V=s
正式开始编译,-j1 后面是线程数。第一次编译要用单线程,直接使用多线程会出错
make -j1 V=s
编译根据你的硬件配置不同可能需要几十分钟到数小时不等
编译完成
编译完成后固件输出路径:openwrt/bin/targets
第二次编译
进入lede目录
- cd lede
同步更新大神源码
- git pull
更新订阅
- ./scripts/feeds update -a
安装订阅插件
- ./scripts/feeds install -a
定义配置文件
- make defconfig
按照配置文件的选择下载依赖库
- make -j8 download V=s
正式开始编译,-j1 后面是线程数。保守起见使用的是单线程make -j1 V=s
- make -j$(($(nproc) + 1)) V=s
异常处理
如果中途配置出错需要重来,可不用重装系统,删除LEDE目录即可
- rm -rf /lede
可能用得上的依赖库
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
sudo apt-get -y install build-essential asciidoc binutils bzip2 curl 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
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
暂无评论内容