• 若遇到本站文章、图片加载缓慢,请使用科学上网访问本站
  • 欢迎访问西天世界网站,推荐使用最新版Chrome浏览器访问本网站
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏西天世界吧

openwrt系统编译

软路由系统 xtadmin 9个月前 (12-30) 587次浏览 0个评论 扫描二维码
文章目录[隐藏]
记录一下群晖docker部署Ubuntu18.04并且编译openwrt系统的过程,首先需要感谢科学小怪人的实验室这个博客站长,我也是参考他写的教程完成openwrt编译,但passwall因各种原因已经转移了仓库,我将在下方进行更新!所有用到的相关网页以下列出,感谢大佬们的付出和相关教程,让我少走了很多弯路

教程相关链接

编译教程的参考大多来自科学小怪人的实验室
lean大的openwrt源码仓库
ver­nesong的open clash源码仓库
lienol的pass wall源码仓库目前已转移至xiaotouji仓库下
argon魔改主题源码仓库
serverchan微信推送源码仓库
恩山论坛大佬xtwz发布的openwrt系统插件说明对照表

群晖docker部署Ubuntu

套件中心直接找到docker点安装就好,安装完成以后打开,注册表搜索Ubuntu,选择第一项下载,选择版本为18.04 openwrt系统编译 打开群晖文件管理器,在docker共享文件夹下新建ubuntu文件夹,权限设置为所有人可以读取和写入并且应用到子文件和文件夹,这个文件夹留着备用 openwrt系统编译 转到下载好的Ubuntu映像,点击启动,高级设置里面设置端口转发,设置好了以后直接保存然后等待镜像部署完成自动启动 openwrt系统编译

Ubuntu初始化

加载完以后转到容器,选中Ubuntu进入详情页,进入终端机页面执行Ubuntu初始化步骤,群晖的终端机右上角有快捷键提示,可以方便的使用复制粘贴功能~这里我用xt为新用户说明按照以下代码步骤操作
openwrt系统编译

apt-get update  #更新系统
apt-get install sudo  #安装sudo
adduser xt  #建立新用户,名称为xt
usermod -aG sudo xt  #赋予新用户root权限
apt-get install ssh wget curl vim  #继续安装必备的组件
service ssh start  #启动ssh

用新建的用户ssh登录Ubuntu测试一下连通性和权限,Windows系统可以用命令行窗口或者xshell软件登录,在用户目录下建立一个名为“file”的文件夹

mkdir file

没问题就可以先停止Ubuntu继续下面操作

PS:docker下的Ubuntu并不会自启动软件,每次停止后启动Ubuntu时都需要用命令启动ssh:

service ssh start

建立文件夹映射,使得Ubuntu和群晖之间可以便捷的交换文件。关闭Ubuntu后进入设置,卷这边设置共享文件夹,装在路径的文件夹就是你的用户目录下的file文件夹,保存以后启动Ubuntu接着下面的操作 openwrt系统编译

编译openwrt

openwrt所需的源码以及组件均在国外,建议使用稳定的科学上网线路进行下载和编译
ssh用xt用户登录Ubuntu,复制下面的代码运行,安装编译openwrt的必备环境:

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 swig rsync

上面的命令运行后可能会有下图这样的提示,这里要求我们选择地区,中国大陆输入数字6选择Asia回车 openwrt系统编译 接着是选择时区,输入70选择时区为shanghai openwrt系统编译 拉取openwrt源码至本地

git clone https://github.com/coolsnowwolf/lede  #拉取openwrt源码

添加passwall源

vim /lede/feeds.conf.default  #打开feeds.conf.default文件,按下字母“i”进入编辑模式
src-git passwall https://github.com/xiaorouji/openwrt-passwall  #将这行代码添加至文件末尾
:wq  #按下esc键退出编辑模式,输入左侧代码保存并退出编辑

添加openclash插件,在lede文件夹下操作,逐步执行下面的代码

mkdir package/luci-app-openclash
cd package/luci-app-openclash
git init
git remote add -f origin https://github.com/vernesong/OpenClash.git  #这里需要下载大约1.4GB内容
git config core.sparsecheckout true
echo "luci-app-openclash" >> .git/info/sparse-checkout
git pull origin master
git branch --set-upstream-to=origin/master master

添加魔改的argon主题

cd /home/xt/lede/package/lean  #注意用户名
rm -rf luci-theme-argon
git clone -b 18.06 https://github.com/jerrykuku/luci-theme-argon.git

添加serverchan的微信推送提醒

cd /home/xt/lede/package
git clone https://github.com/tty228/luci-app-serverchan

更新和安装软件源

cd /home/xt/lede
./scripts/feeds update -a && ./scripts/feeds install -a

配置固件

make menuconfig

运行命令后会进入下图界面,上下左右方向键选择,y键勾选项目,n键取消项目,双击esc返回上一层界面,这里引用一下恩山论坛的大佬写的插件说明

OpenWrt 编译 LuCI -> Applications 添加插件应用说明-L大

openwrt系统编译 额外提点一下博主编译所用的插件,这里仅以软路由x86_64系统为例,如果需要编译诸如newifi3、网件等路由器的openwrt系统,请自行网上搜索,区别在于系统架构和cpu的选择不同,其他的通用,保持默认的情况下我们需要更改的内容:

1.添加ipv6支持:进入“Extra packages”勾选“ipv6helper. IPv6 Helper and Dynamic Update he.net of ip”
2.添加cloud flare的ddns支持:进入“Network”接着进入“IP Addresses and Names”勾选“ddns-scripts_cloudflare.com-v4….. CloudFlare.com API v4”
3.添加argon主题:进入“LuCI”接着进入“Themes”勾选“luci-theme-argon. Argon Themeer”
4.添加插件,博主以自己常用插件为说明,需要其他功能的请参阅上方恩山论坛的openwrt插件对照表

进入“LuCI”接着进入“Applications”默认的插件不用动,我们添加自己需要的,以下是博主勾选的插件列表,添加的功能并不多,主要使用ddns、微信推送、科学上网插件:

luci-app-netdata. LuCI support for Netdata #可视化性能监控插件
luci-app-openclash. LuCI support for clash #open clash插件,负责科学上网,配置上虽复杂但也可以一件配置,分流功能很强大
luci-app-passwall. LuCI support for PassWall #pass wall插件,负责科学上网,配置简单,对硬件性能要求低,同时需要进入该插件下的“Configuration”里面勾选所有内容,我们配置一个全功能的pass wall插件
luci-app-serverchan. LuCI support for serverchan #sercer酱的微信推送插件,可以推送路由系统的运行状况、上下线设备、IP变更等
luci-app-wrtbwmon. LuCI support for Wrtbwmon #上方serverchan微信推送插件的依赖

如果需要更多功能的,可以自行上网搜索添加方式,也可以参考科学小怪人的实验室博主写的教程,他所列出的很多插件我自己没有实际的需求,所以不举例添加了添加完插件保存退出,执行以下命令

make -j8 download V=s  #下载dl库,这一步对网络要求极高,一定保证你的科学上网路线的稳定
make -j1 V=s  #上述步骤执行完毕以后执行左侧代码开始正式编译,预计耗时5-13小时不等
默认IP:192.168.1.1,密码:password

第二次编译只要要几分钟至一小时左右即可完成,二次编译操作:

cd lede && git pull  #更新openwrt源码
cd ~/lede/package/luci-app-openclash && git pull  #更新open clash源码
cd ~/lede/package/lean/luci-theme-argon && git pull  #更新argon主题源码
cd ~/lede/package/luci-app-serverchan && git pull && cd ~/lede  #更新serverchan源码
./scripts/feeds update -a && ./scripts/feeds install -a  #更新feeds
rm -rf ./tmp && rm -rf .config  #如有重大的软件改动或升级可执行左侧代码删除配置文件和缓存,然后执行下方代码重新编辑配置文件,若无此需求,可以跳过,直接执行最后一段代码开始编译过程
make menuconfig  #进入编译菜单
make -j1 V=s  #执行编译

成品分享

话不多说,赠上蓝奏云下载链接,最新版本为“2021-04-24更新openwrt-x86-64-generic-squashfs-combined-efi.img.zip”此版本集成了vmtools,密码在弹窗中有提示~
文件下载

成品openwrt为x86_64软路由适用,集成插件就是教程中提及的编译插件,下面请看截图欣赏吧!

截图欣赏

登录页随机壁纸

openwrt系统编译

系统概览

openwrt系统编译

实时监控

openwrt系统编译

pass wall插件

openwrt系统编译

微信推送

openwrt系统编译

open clash插件

openwrt系统编译
带宽监控
openwrt系统编译
以上分享,感谢浏览


西天世界 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:openwrt系统编译
喜欢 (2)
关于作者:

您必须 登录 才能发表评论!