找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 10611|回复: 23

小白写给自己看的WSL编译记录

[复制链接]
本帖最后由 Moncin 于 2019-3-19 10:15 编辑

WSL(Ubuntu18.04)编译OpenWRT记录(请先大致阅读后再按步骤操作)
  • WSL简介(复制于维基百科)
适用于 Linux 的 Windows 子系统(英语:Windows Subsystem for Linux,简称WSL)是一个为在Windows 10和Windows Server 2019上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。在周年更新中引入时,只有Ubuntu镜像可用。秋季创意者更新将Linux发行版的安装过程移至Microsoft商店,并引入了Fedora和SUSE镜像。
WSL仅在版本1607之后的64位版本的Windows 10中可用。它也可在Windows Server 2019中使用。
此子系统无法运行所有Linux软件(如32位二进制文件)或需要在WSL中未实现的特定Linux内核服务的软件。由于WSL中没有“真正的”Linux内核,因此无法运行内核模块(如设备驱动程序)。
可以通过在Windows(主机)环境(例如VcXsrv或Xming)中安装X窗口系统来运行一些图形(GUI)应用程序(例如Mozilla Firefox),尽管并非没有警告,例如缺乏音频支持或硬件加速(导致图形性能不佳)。当前还没有实施对OpenCL和CUDA的支持,尽管计划在将来的版本中使用。
也就是说,微软明确指出WSL面向应用程序的开发者,而不是面向桌面环境或生产服务器,建议使用虚拟机(Hyper-V或Kubernetes)和Azure来实现这些目的。
在性能测试中,Windows Subsystem for Linux通常接近原生Linux,如Ubuntu,Debian,Intel Clear Linux或其他Linux发行版。I/O在某些测试中是WSL的瓶颈
  • 准备
必须:
  • 一台Windows10 1607或以上的电脑
  • 系统盘最好有40G或以上空余空间(18年3月5日仅编译使用了近15G空间)

安装Windows Subsystem for Linux(Ubuntu)
  • 打开“控制面板”-->“程序”-->“启用或关闭Windows功能”-->“适用于Linux的Windows子系统”勾选后确定后电脑会重启
  • 打开Microsoft Store
  • 搜索Ubuntu
  • 点击Ubuntu18.04并安装,默认安装位置为系统盘
启动Ubuntu18.04
  • 安装完成后在开始菜单找到Ubuntu18.04并单击启动
  • 第一次启动会自动进行编译,需要等一段时间(由于现在系统用的挺好,没有再次进行安装,所以没图)
  • 第一次登录需要设置用户名(英文需小写)密码(输入密码时密码不会显示
  • 编译
  • WSL无法直接用$$,$$R软件代理,我用的是$$Tap,如果用$$Tap建议用1.0.9.7版本,高版本软件本身禁止了Gog的访问。此外还可用Clash(仅能使用$$)、Fiddler,进行代理,在此不提供链接了。(感谢大佬@ysc3839在六楼的指点 )
  • 建议进行全局代理
  • 打开Ubuntu后先升级系统(需要密码):
    1. sudo apt update && sudo apt upgrade
    复制代码

  • 接着安装编译需要的依赖:
    1. 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
    复制代码

  • 下载源码(我用的是Lean的源码,感谢L大!):
    1. git clone https://github.com/coolsnowwolf/lede
    复制代码

  • 进入编译目录:
    1. cd lede
    复制代码

  • 更新源并安装下载好的包:
    1. ./scripts/feeds update -a && ./scripts/feeds install -a
    复制代码

  • 测试编译环境并进入配置菜单:
    1. make menuconfig
    复制代码

  • 设置完成后进行编译:
    1. make V=s
    复制代码

  • 想加快编译速度可使用以下命令,-j后数字为CPU线程数进行多线程编译(查看CPU线程方法:打开“Windows PowerShell”-->输入“wmic”回车-->再输入“cpu get *”回车-->找到“NumberOfLogicalProcessors”为线程数)
    1. make -j5 V=s
    复制代码

  • 如果仅仅想测试编译环境可以直接使用:
    1. make defconfig
    复制代码

  • 二次编译前需要先更新源码(每次编译都可以先更新源码)
    1. git pull
    复制代码

  • 再次更新源并安装下载好的包:
    1. ./scripts/feeds update -a && ./scripts/feeds install -a
    复制代码

  • 清除缓存:
    1. rm -rf ./tmp
    复制代码

  • 清除配置信息(可选择不清除):
    1. rm -rf .config
    复制代码

  • 随后即与上文编译步骤相同(部分参考Lean大群内编译教程,大神真多)。

编译菜单设置
  • 选择要编译的路由器CPU型号,按“Enter”进入“Target System”选单(我的是Atheros AR7xx)
  • 上下键移动选项,按“空格”或“回车”选择
  • 选择自己的路由器型号“Target Profile
  • 进入“LuCI”-->“Appolications”选择自己要用的插件
  • 按“空格”调整选项“*”为编译进固件,“M”为单独编译,生成的ipk软件包将被放在 /buildsystem/bla/bla/bla(官方文档里就这样写的……)
相关链接

*图被放在了最后,原因是我不会把图插在内容里*

**感谢的人太多了,都感谢着吧**





补充内容 (2019-5-16 12:02):
最近要更新WSL2和Windows terminal,WSL2将有完整内核并且提高IO性能。看来选择WSL是没错的,就是有点坑固态……

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
 楼主| | 显示全部楼层
如果有大佬路过能告诉我为什么用 更纱黑体 之后字符画为什么会这样那就太感谢了!d=====( ̄▽ ̄*)b
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

不告诉你,因为你字都打错了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

前排支持,感谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
这个有点慢,我都是实体1804,32G内存,编译目录直接挂在内存上,全新开工不用半个钟,换个机型开工最多一刻钟,标准姿势
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

WSL 不是 UWP 应用。WSL 本身不运行在 UWP 环境中。在商店下载的只是 appx 打包的 Win32 应用,手动解压后仍然可以使用。
要使用代理服务器的话,一般情况下可以设置环境变量 http_proxy 和 https_proxy
比如
export http_proxy=http://127.0.0.1:8888
export https_proxy=http://127.0.0.1:8888
http_proxy 意思是 http 的请求会使用这个代理,https_proxy 则是 https 的请求。
环境变量代理需要应用程序支持,不支持的话不会走代理。

点评

因为一时没看懂……所以我附个链接吧(*゜ー゜*) Win/Linux 命令行、终端和 Git 代理设置  详情 回复 发表于 2019-3-8 12:37
好的,谢谢大佬,我现在修改一下。  详情 回复 发表于 2019-3-8 12:13
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
ysc3839 发表于 2019-3-8 02:21
WSL 不是 UWP 应用。WSL 本身不运行在 UWP 环境中。在商店下载的只是 appx 打包的 Win32 应用,手动解压后 ...

好的,谢谢大佬,我现在修改一下。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
ysc3839 发表于 2019-3-8 02:21
WSL 不是 UWP 应用。WSL 本身不运行在 UWP 环境中。在商店下载的只是 appx 打包的 Win32 应用,手动解压后 ...

因为一时没看懂……所以我附个链接吧(*゜ー゜*)
Win/Linux 命令行、终端和 Git 代理设置
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
不错,值得一试
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

看了楼主帖子自己试了一下,WSL现在体验还可以,编译固件这种活完全可以胜任。不错,可以少装一个虚拟机了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

请问Build dependency: OpenWrt can only be built on a case-sensitive filesystem这个问题如何解决呢?WSL1 Ubuntu 16.04

点评

许久没登恩山,现在都流行云编译liao~  详情 回复 发表于 2019-12-7 15:27
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
wh1tequartz 发表于 2019-9-15 23:02
请问Build dependency: OpenWrt can only be built on a case-sensitive filesystem这个问题如何解决呢?WS ...

许久没登恩山,现在都流行云编译liao~
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

请问,在第7步,更新源并安装下载好的包,出错如图,楼主遇过吗
已开启$$R全局模式

Can't exec "make": No such file or directory at ./scripts/feeds line 22.
Use of uninitialized value in split at ./scripts/feeds line 22.
Use of uninitialized value $mkver[0] in pattern match (m//) at ./scripts/feeds line 24.
Use of uninitialized value $mkver[1] in pattern match (m//) at ./scripts/feeds line 25.
Use of uninitialized value $mkver[2] in split at ./scripts/feeds line 27.
Use of uninitialized value $mkv1 in numeric ge (>=) at ./scripts/feeds line 28.
Use of uninitialized value $mkv1 in numeric eq (==) at ./scripts/feeds line 28.
Unsupported version of make found: make

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

运行两条命令就好了 sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev sudo apt-get install gawk gcc-multilib flex git-core gettext libssl-dev  详情 回复 发表于 2020-8-31 17:51
重新安装依赖软件可解决  详情 回复 发表于 2020-2-27 17:32
没有遇到过,我觉得你下载源码不完整…… 不如删掉重下? 大雕这些日子源码改动还是挺大的。  详情 回复 发表于 2019-12-23 14:49
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
中华有味 发表于 2019-12-18 16:00
请问,在第7步,更新源并安装下载好的包,出错如图,楼主遇过吗
已开启$$R全局模式

没有遇到过,我觉得你下载源码不完整……
不如删掉重下?
大雕这些日子源码改动还是挺大的。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

感谢老哥,我在全局代理那一步卡住了,原来需要更换代理软件,谢谢老哥。

点评

坛友好,我碰到了同样的问题, 我是在谷歌云上建立的乌班图的虚拟机 在虚拟机里面编译的,到这一步出现了同样的问题 服务器选择的是美国的IP地址 1、反复下载了三四lede 文件夹中的文件,依然失败 2、全部删除  详情 回复 发表于 2020-3-22 02:20
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-29 03:15

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表