基于win10下openwrt软路由的编译环境搭建及编译配置的入门教程
我来交作业啦,上一篇给大家介绍了可能是目前最便宜的wifi6路由的mesh组网介绍,好多朋友也顺手上车,但是目前小黄鱼的价格也水涨船高,开始起飞。。。我觉得性价比已经不高了,买一个运营商定制的后续没有保障的路由还不如上车大厂的新车,比如最近发布的ax3和ax3p我觉得就不错,虽然就算ax3p的硬件比起ty300、400来也要差一些,但是ax3系列固件质量(大概率都没有三方固件)、稳定性、bug处理上都会好一些。如果不是好价不建议继续上车,之前也说了,150以内包邮还是可以考虑的,估计热度过了会降价的。
写文不易,为了写这篇教程的截图,我把我的wsl全部卸载之前的源码和编译全部删除重新搞了一遍。。。希望大家多多点赞打赏!
文章收藏数超过300,点赞数超过100后,我会很快继续更新Nas系列教程或者更新软路由搭建及软路由核显实现jellyfin硬解的教程!
相关前文卡片:
写在前面
我是个懒人,主力系统一直都是win系统,实体机、虚拟机也搞过黑苹果,linux各种版本(包括deepin、Ubuntu等),搞得多了就不想折腾了,虚拟机效率跟不上,切换系统太麻烦,加上各种驱动支持问题,用起来还是win系统用起来最省心。
强调下,虽然是基于win10的openwrt编译,但是毕竟还是用的linux,所以还是需要有(起码了解)linux的基础。
先给大家看下我的配置吧,2年前配的,用起来还是很爽,中间小幅升级了下内存而已。内存可以稳上3600的频率,最近也没搞了,求稳,xml也关了,其实2400也够了。。。
编译原理其实就是利用WSL(Windows Subsystem for Linux)适用于Linux的Windows子系统来实现非虚拟机非切换系统的编译,不但可以有效利用配置资源也简化了很多操作,我觉得最好的一点是如果搭建环境、编译过程遇到问题,可以很方便的用熟悉的浏览器进行搜索寻找答案。
WSL(Windows Subsystem for Linux)适用于Linux的Windows子系统介绍
Windows 10在一周年更新(1607,内部版本14393)的时候就加入了wsl,直到秋季创意者更新(1709,内部版本16299),wsl才正式脱离beta,也就是说之后的版本都可以打开linux子系统。
系统基础配置
第一步打开wsl。
位置是控制面板-程序-启用或关闭Windows功能,勾选上适用于linux的Windows子系统
确定之后会重启,注意保存其他工作。
第二步安装Ubuntu
我这里选择的是Ubuntu18.04LTS,安装就在应用商店搜索Ubuntu就能找到了
这里说下为什么选择这个ubuntu,第一是openwrt编译说明文件也是推荐的用Ubuntu进行编译,第二是根据wsl实测,这个版本的Ubuntu常用的软件包如GCC.JDK,GIT,SSH等都没有问题,我编译过程没有遇到任何问题。免得出现很多稀奇古怪的问题。
特别强调下,应用商店下载的Ubuntu不带webUI的,网上有教程如何打上webUI个人觉得没有必要,shell方式足够了,本来就是基于windows的系统,为什么要再套娃个ui呢。。。
以上配置完成就可以从开始菜单打开Ubuntu了。
第一次运行会进行安装,安装前确认打开了wsl以及完成了重启,没有的话会有错误提示。
安装完成就设置Ubuntu的账号密码就可以愉快的玩耍啦。
编译环境搭建
wsl和Ubuntu安装完成后,就可以进行环境搭建了,第一步还是将软件更新源更换到国内源,个人推荐阿里云的以及几所大学的源镜像。
第一步:备份sources.list源文件为sources.list.bak方便出问题恢复
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
第二步:修改sources.list权限为可以编辑
sudo chmod 777 /etc/apt/sources.list
第三步:打开sources.list替换为国内源地址
sudo vim /etc/apt/sources.list 进入编辑
前面添加国内源即可,推荐阿里源,另外163的以及几所大学的源都不错,网上搜索很容易找到。
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
提示:按i开始编辑,鼠标右键是粘贴,编辑完成按esc键输入:wq保存退出,记住是“:wq”
第四步:执行更新
sudo apt-get update
sudo apt-get upgrade
分别执行等待完成即可
第五步:安装编译openwrt的依赖包
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3.5 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
这也是为什么要更换为国内源的原因,要不然装一天也装不完(注意看没有报错一类的信息,一般修改了国内源不会有问题的)。
openwrt编译准备
依赖包安装完成后,就可以同步源码进行编译准备了
这里推荐2个国内大神源码,插件齐全,新手不推荐原版openwrt,因为对国内环境适配以及入门小白不友好,哈哈。
第一个是Lean大的Openwrt源码仓库
第二个是Lienol修改的Lean大的Openwrt源码仓库
第三个是Lienol修改的openwrt源码仓库
大家可以点进去看说明。里面也有编译说明,大家请细看,Lean大写的很详细了。
源码同步完成后进行feeds的更新、安装
./scripts/feeds update -a
./scripts/feeds install -a
这几步根据lean大的指引就好了,我着重说下make menuconfig这个,为什么要自编译固件呢,因为虽然网上很多编译完成的版本,但是很多插件、配置对使用者不一定适用的,有条件完全可以配置一个自己喜欢的版本出来,比如我就编译加上了核显驱动,搭配上自己常用的插件,将jellyfin分流到路由上,挂载cifs硬盘给nas减负。
这里没法详细介绍make menuconfig每个选项的内容,信息量太大,大家可以善用搜索,配置openwrt插件的话可以从luci进去,建议初学者先从修改这里开始。简单修改下增加固件的themes(主题)和applications(应用),里面配置全是英文的,英文好不存在英文不好可以参考这个连接里面有中英文对照,好评!
简单说下操作,空格是选择, ‘*’ 代表编入固件,‘M’ 表示编译成模块或者IPK包, ‘空’不编译 。最后修改完成记得保存!保存!很重要!
比如有无线网卡需要将驱动编译进固件的话,是否支持去硬件支持列表查询。用“/”搜索是否有选项查看设置位置。目前intel支持很不好。。。
编译固件
这个阶段就会慢很多,特别是dl库,完全受制于网络。所以耐心以及一天好的飞机线路很重要。
配置完成就可以下载dl库,很多都是国外的,需要科学方法才能下的动。也可以找别人下的dl库放进去设置好权限。
make -j8 download V=s
这个过程可能就略微漫长了。。要有耐心。
dl库下载完毕就可以进入下一步,第一次编译固件
make -j1 V=s
-j1 后面是线程数。第一次编译推荐用单线程,多线程根据你的cpu核心数+1就可以了。第一次编译根据配置可能要几个小时,编译完成一次后修改再编译就快多了,我的配置开13线程第二次编译差不多就10多分钟吧。
编译完成就可以进行写盘操作了,后续升级的话压缩成gz格式的压缩包web页面保存配置升级就可以了。
其他说明
wsl安装的Ubuntu默认位置是
C:Users你电脑的用户名AppDataLocalPackagesCanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgscLocalStaterootfshome你设置Ubuntu用户名
如果要访问其他盘 在/mnt里面能看到其他盘的盘符。如果是从windows文件资源管理器复制文件到Ubuntu要使用的话(比如复制别人的dl库)记得用Ubuntu进行赋权操作。
如果要在固件打上内核驱动需要编译后再用make kernel_menuconfig修改内核配置,修改完成保存再编译即可,这个也会在后续的教程提到。
插件主要是feeds来控制,可以修改目录下feeds.conf.default来增加,注意不要包冲突就好了,github上看好包的列表
写在后面
wsl环境搭建完成后其实可以胜任很多其他编译工作,实现一机多能,如果有兴趣可以去csdn一类的网站多了解学习linux,毕竟现在国产化这么厉害,以后国产操作系统应该大部分都是基于linux的,多学习没有错!
编译的成果如果要发布,请遵照要求附上开源说明!
写文不易,麻烦多多点赞,打赏,收藏!
weyes
校验提示文案
黑胡子船长
校验提示文案
好大的炮
校验提示文案
wwowww
校验提示文案
疙瘩汤
校验提示文案
XavierXia
校验提示文案
王小舒
校验提示文案
一条想钓猫的鱼
校验提示文案
睿慧爸
校验提示文案
偶是小谢
校验提示文案
allenilkb
校验提示文案
大大大大水怪
校验提示文案
Rofox
帮楼主把下载命令补上。
校验提示文案
magiclu
校验提示文案
本质恶魔
校验提示文案
ImissLC
校验提示文案
无人熟悉大菠萝
校验提示文案
PeteC
校验提示文案
耿鬼变胖了
校验提示文案
beta0755
校验提示文案
naehana
校验提示文案
carlyang1986
校验提示文案
三思2048
校验提示文案
splendortan
校验提示文案
手到擒来
校验提示文案
四海面酱
校验提示文案
大大大大水怪
校验提示文案
allenilkb
校验提示文案
BennyHo
校验提示文案
Rofox
帮楼主把下载命令补上。
校验提示文案
Rofox
校验提示文案
云栖隐者
校验提示文案
wqzxhpx
校验提示文案
偶是小谢
校验提示文案
然而并沒有
校验提示文案
睿慧爸
校验提示文案
一条想钓猫的鱼
校验提示文案
王小舒
校验提示文案
XavierXia
校验提示文案
beta0755
校验提示文案