Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenWrt CI 在线集成编译环境使用教程 #2200

Closed
KFERMercer opened this issue Nov 28, 2019 · 76 comments
Closed

OpenWrt CI 在线集成编译环境使用教程 #2200

KFERMercer opened this issue Nov 28, 2019 · 76 comments

Comments

@KFERMercer
Copy link
Contributor

KFERMercer commented Nov 28, 2019

借助 GitHub Actions 的 OpenWrt 在线集成自动编译.

项目地址

实时编译状态: Build

支持自动定制固件, 自动调整依赖及生成配置文件, 无需上传配置. 兼容 coolsnowwolf/lede 以及 OpenWrt trunk.

同时支持自动合并推送上游提交 (也就是自动更新), 直接把merge-upstream.yml放入.github/workflows/即可 (默认上游为 coolsnowwolf/lede, 高级玩家请自行改写).

感谢P3TERX珠玉在前.


这个CI脚本和P3TERX/Actions-OpenWrt的同样是云编译, 有什么不同?

这个 CI 脚本可以帮助你在你的 OpenWrt 分支下构建当前库的Op固件, 无需上传配置文件, 不依赖外挂配置脚本, 真正的一次配置终生使用.

P3TERX/Actions-OpenWrt 的优势在于, 其可以独立于文件库存在, 可以快速搭建起可用的编译配置; 同时对新手极其友好. 但是由于 OpenWrt make configure 自身机制的缘故, 生成的配置文件鲁棒性较差, 需要经常重新生成上传配置, 有形中加重了维护负担, 使得使用起来不是很优雅, 但是强烈建议基础薄弱的玩家使用.

这个CI脚本适合哪些人?

  • 正在维护自己的 OpenWrt 分支的大佬/初学者/玩家 (可以快速测试自己的代码)
  • 伸手党
  • 没有精力维持一个专用编译机的佛系人士

使用教程:

在一切开始前, 你需要的是:

相关文章: 作者-糖炒栗子

1. 注册GitHub账号并开启GitHub Actions (自行搜索方法).

2. fork coolsnowwolf/lede 或者 OpenWrt trunk.

3. 上传openwrt-ci.ymlmerge-upstream.yml/.github/workflows/下.

4. 定制固件:

如果你希望定制你的固件:

代码里的注释部分详细介绍了如何在脚本中客制化你的固件. 简单来说, 你只需要解除注释相应行即可.

我已经准备一个正确的编写示例, 此配置基于 Lean 最新代码, 开启了所有预先写好的定制选项, 同时已经经过测试可用. 如果你缺乏对自己的信心, 可以随意借鉴.

5. 大功告成.

集成编译环境会自动开始编译. 现在返回你的库首页, 点击页面上方的Actions按钮就可以查看进度.

如何下载到编译完成的固件?

进入Actions标签页后, 如果相应的集成活动顺利完成 (显示为绿色), 点击页面右上方的Artifacts即可看到你的固件 (通常是一个压缩包). 点击即可开始下载.

@coolsnowwolf coolsnowwolf pinned this issue Nov 28, 2019
@pingod
Copy link

pingod commented Nov 29, 2019

我的workflow一直显示 (Unnamed workflow),不知道为啥,GitHub官方问题??

@KFERMercer
Copy link
Contributor Author

我的workflow一直显示 (Unnamed workflow),不知道为啥,GitHub官方问题??

你改了什么地方?

@pingod
Copy link

pingod commented Nov 29, 2019

添加了一个workflow示例模板文件,我把这个文件添加或者删除都不行,都是显示Unnamed workflow

@d975xbx
Copy link

d975xbx commented Nov 29, 2019

感谢大神,可以删除虚拟机了。

@ghost
Copy link

ghost commented Nov 29, 2019

大佬,我不用X64,你的实例脚本里的x64怎么替换别的CPU(就是给个其他的CPU设备的TARGET_参数列表吧。)不知道哪里有TARGTE_的不同参数。

@ghost
Copy link

ghost commented Nov 29, 2019

image
我想要修改x64为A53处理器的架构,但是这里貌似没有arm v8

@redchenjs
Copy link

armv8就是aarch64

@KFERMercer
Copy link
Contributor Author

KFERMercer commented Nov 29, 2019

我想要修改x64为A53处理器的架构,但是这里貌似没有arm v8

建议直接复制config.seed或者.config最开始的target部分

@ghost
Copy link

ghost commented Nov 29, 2019

image
我想要修改x64为A53处理器的架构,但是这里貌似没有arm v8

建议直接复制config.seed或者.config最开始的target部分

我强烈建议您再写一个文档,列出不同设备的这个部分:
image

@ghost
Copy link

ghost commented Nov 29, 2019

image
只需要这三项对吗?其他的像这样的要吗?
CONFIG_TARGET_BOARD="sunxi"
CONFIG_TARGET_SUBTARGET="cortexa53"
CONFIG_TARGET_PROFILE="DEVICE_sun50i-h5-nanopi-neo2"
CONFIG_TARGET_ARCH_PACKAGES="aarch64_cortex-a53"

@ghost
Copy link

ghost commented Nov 29, 2019

CONFIG_TARGET_PREINIT_IFNAME=""
CONFIG_TARGET_PREINIT_IP="192.168.1.1"
CONFIG_TARGET_PREINIT_NETMASK="255.255.255.0"
CONFIG_TARGET_PREINIT_BROADCAST="192.168.1.255"
CONFIG_TARGET_INIT_PATH="/usr/sbin:/usr/bin:/sbin:/bin"
CONFIG_TARGET_INIT_ENV=""
CONFIG_TARGET_INIT_CMD="/sbin/init"
CONFIG_TARGET_INIT_SUPPRESS_STDERR=y
还有这些要吗?

@KFERMercer
Copy link
Contributor Author

KFERMercer commented Nov 29, 2019

CONFIG_TARGET_PREINIT_IFNAME=""
CONFIG_TARGET_PREINIT_IP="192.168.1.1"
CONFIG_TARGET_PREINIT_NETMASK="255.255.255.0"
CONFIG_TARGET_PREINIT_BROADCAST="192.168.1.255"
CONFIG_TARGET_INIT_PATH="/usr/sbin:/usr/bin:/sbin:/bin"
CONFIG_TARGET_INIT_ENV=""
CONFIG_TARGET_INIT_CMD="/sbin/init"
CONFIG_TARGET_INIT_SUPPRESS_STDERR=y
还有这些要吗?

不需要.

image
只需要这三项对吗?其他的像这样的要吗?
CONFIG_TARGET_BOARD="sunxi"
CONFIG_TARGET_SUBTARGET="cortexa53"
CONFIG_TARGET_PROFILE="DEVICE_sun50i-h5-nanopi-neo2"
CONFIG_TARGET_ARCH_PACKAGES="aarch64_cortex-a53"

对. 通常来说你在menuconfig下需要做出多少次选泽就需要多少行, 所以nanopi 2只需要这三行就够了:

CONFIG_TARGET_sunxi_cortexa53_DEVICE_sun50i-h5-nanopi-neo2=y
CONFIG_TARGET_sunxi_cortexa53=y
CONFIG_TARGET_sunxi=y

比如要编译ACRH 17的固件, 只需要这两行:

CONFIG_TARGET_ipq40xx=y
CONFIG_TARGET_ipq40xx_DEVICE_asus_rt-acrh17=y

@ghost
Copy link

ghost commented Nov 29, 2019

CONFIG_TARGET_PREINIT_IFNAME=""
CONFIG_TARGET_PREINIT_IP="192.168.1.1"
CONFIG_TARGET_PREINIT_NETMASK="255.255.255.0"
CONFIG_TARGET_PREINIT_BROADCAST="192.168.1.255"
CONFIG_TARGET_INIT_PATH="/usr/sbin:/usr/bin:/sbin:/bin"
CONFIG_TARGET_INIT_ENV=""
CONFIG_TARGET_INIT_CMD="/sbin/init"
CONFIG_TARGET_INIT_SUPPRESS_STDERR=y
还有这些要吗?

不需要.

image
只需要这三项对吗?其他的像这样的要吗?
CONFIG_TARGET_BOARD="sunxi"
CONFIG_TARGET_SUBTARGET="cortexa53"
CONFIG_TARGET_PROFILE="DEVICE_sun50i-h5-nanopi-neo2"
CONFIG_TARGET_ARCH_PACKAGES="aarch64_cortex-a53"

对. 通常来说你在menuconfig下需要做出多少次选泽就需要多少行, 所以nanopi 2只需要这三行就够了:

CONFIG_TARGET_sunxi_cortexa53_DEVICE_sun50i-h5-nanopi-neo2=y
CONFIG_TARGET_sunxi_cortexa53=y
CONFIG_TARGET_sunxi=y

比如要编译ACRH 17的固件, 只需要这两行:

CONFIG_TARGET_ipq40xx=y
CONFIG_TARGET_ipq40xx_DEVICE_asus_rt-acrh17=y

我觉得这些都背不下来,所有设备的。。。您看看再写个这块的所有设备参数文档?嘻嘻嘻嘻

@KFERMercer
Copy link
Contributor Author

KFERMercer commented Nov 29, 2019

我觉得这些都背不下来,所有设备的。。。您看看再写个这块的所有设备参数文档?嘻嘻嘻嘻

我也没背, 需要什么设备只需要去make一个配置文件看一下就好了啊, 反正这种事是一劳永逸的.
话说回来, 配置选项的命名仔细看一下你就会发现规律.

@ghost
Copy link

ghost commented Nov 29, 2019

我觉得这些都背不下来,所有设备的。。。您看看再写个这块的所有设备参数文档?嘻嘻嘻嘻

我也没背, 需要什么设备只需要去make一个配置文件看一下就好了啊, 反正这种事是一劳永逸的.
话说回来, 配置选项的命名仔细看一下你就会发现规律.

嗯嗯。
那我再问下几个问题:
1.我配置的自定义的Neo2固件编译,那么可以同时再添加一个编译其他的设备固件的workflow脚本吗?(可以的话,是怎么添加呢?在workflow目录下新建一个其他的比如op-acrh17.yml就可以了?)
2.FORK一次代码后,任意一个workflow脚本都可以自动同步大雕的commit并且开始按照脚本编译吗?不需要重新FORK吧?.....我不太会用git,不知道怎么同步大雕的源码且不覆盖我的自定义的workflow的yml。

@pingod
Copy link

pingod commented Nov 29, 2019

现在可以了,是GitHub官方的锅
https://www.githubstatus.com/incidents/39ynqr1xb3s0

@KFERMercer
Copy link
Contributor Author

KFERMercer commented Nov 29, 2019

我觉得这些都背不下来,所有设备的。。。您看看再写个这块的所有设备参数文档?嘻嘻嘻嘻

我也没背, 需要什么设备只需要去make一个配置文件看一下就好了啊, 反正这种事是一劳永逸的.
话说回来, 配置选项的命名仔细看一下你就会发现规律.

嗯嗯。
那我再问下几个问题:
1.我配置的自定义的Neo2固件编译,那么可以同时再添加一个编译其他的设备固件的workflow脚本吗?(可以的话,是怎么添加呢?在workflow目录下新建一个其他的比如op-acrh17.yml就可以了?)
2.FORK一次代码后,任意一个workflow脚本都可以自动同步大雕的commit并且开始按照脚本编译吗?不需要重新FORK吧?.....我不太会用git,不知道怎么同步大雕的源码且不覆盖我的自定义的workflow的yml。

① 对
② 不能, 需要手动合并. 这个脚本专注当前库, 如果想要代码, 可以再脚本中添加一个拉取代码的命令, 但是我不建议你这么做. 同步上游不会覆盖下游更改.

如果你只是想编译最新固件, 可以用P3TERX/Actions-OpenWrt

现在可以了,是GitHub官方的锅
https://www.githubstatus.com/incidents/39ynqr1xb3s0

github的bug都让你找着了😂

@z826540272
Copy link
Contributor

我觉得这些都背不下来,所有设备的。。。您看看再写个这块的所有设备参数文档?嘻嘻嘻嘻

我也没背, 需要什么设备只需要去make一个配置文件看一下就好了啊, 反正这种事是一劳永逸的.
话说回来, 配置选项的命名仔细看一下你就会发现规律.

嗯嗯。
那我再问下几个问题:
1.我配置的自定义的Neo2固件编译,那么可以同时再添加一个编译其他的设备固件的workflow脚本吗?(可以的话,是怎么添加呢?在workflow目录下新建一个其他的比如op-acrh17.yml就可以了?)
2.FORK一次代码后,任意一个workflow脚本都可以自动同步大雕的commit并且开始按照脚本编译吗?不需要重新FORK吧?.....我不太会用git,不知道怎么同步大雕的源码且不覆盖我的自定义的workflow的yml。

① 对
② 不能, 需要手动合并. 这个脚本专注当前库, 如果想要代码, 可以再脚本中添加一个拉取代码的命令, 但是我不建议你这么做. 同步上游不会覆盖下游更改.

如果你只是想编译最新固件, 可以用P3TERX/Actions-OpenWrt

现在可以了,是GitHub官方的锅
https://www.githubstatus.com/incidents/39ynqr1xb3s0

github的bug都让你找着了😂

4点同时编译,GitHub算力被撸完

@d975xbx
Copy link

d975xbx commented Nov 30, 2019

如果大雕源码更新,要怎么自动编译?

@BROBIRD
Copy link
Contributor

BROBIRD commented Nov 30, 2019

每个项目每个月只有2000分钟的免费时间,如果每天都运行一次的话,是不够用的。

抱歉看错了,上述限制是针对私有仓库的

@KFERMercer
Copy link
Contributor Author

KFERMercer commented Nov 30, 2019

如果大雕源码更新,要怎么自动编译?

你可以在CI脚本中添加pull上游代码的动作.

每个项目每个月只有2000分钟的免费时间,如果每天都运行一次的话,是不够用的。

我在 GitHub 论坛上看到这样一条帖子:

image

似乎2000分钟的限制只在私有库中存在.

@BROBIRD
Copy link
Contributor

BROBIRD commented Nov 30, 2019

@KFERMercer 抱歉看错了,上述限制是针对私有仓库的

@d975xbx
Copy link

d975xbx commented Dec 1, 2019

大神,怎么在CI脚本中添加pull上游代码的动作?

@z826540272
Copy link
Contributor

大神,怎么在CI脚本中添加pull上游代码的动作?

你用另一个脚本就是最新版编译

@d975xbx
Copy link

d975xbx commented Dec 1, 2019

这个吗?https://github.com/P3TERX/Actions-OpenWrt

@xunqiuhuiyi
Copy link

xunqiuhuiyi commented Dec 1, 2019

谢谢UP主的分享 想请教下 如果我拥有多台路由 是否可以同时自动化编译多个固件呢?还是说需要建立多个自动编译化脚本?如果我修改了openwrt-ci.yml 在Action建立多个脚本 更新以后 他是按照我最近修改还是?主要是我不太会使用git 如果我workflow目录下创建多个.yml脚本,是不是workflow脚本都可以自动同步大雕的commit并且开始按照脚本编译呢?

@KFERMercer
Copy link
Contributor Author

谢谢UP主的分享 想请教下 如果我拥有多台路由 是否可以同时自动化编译多个固件呢?还是说需要建立多个自动编译化脚本?如果我修改了openwrt-ci.yml 在Action建立多个脚本 更新以后 他是按照我最近修改还是?主要是我不太会使用git 如果我workflow目录下创建多个.yml脚本,是不是workflow脚本都可以自动同步大雕的commit并且开始按照脚本编译呢?

同时建立多个flow, 每个flow都会执行. 不过既然你不太会用git, 那这种需求建议使用P3TERX/Actions-OpenWrt.

@adaaaaaa
Copy link

adaaaaaa commented Dec 2, 2019

老哥,不行啊。。。你最近一次改代码之后,GG了。。。

Uploading artifact 'OpenWrt firmware' from '/home/runner/work/lede/lede/artifact/' for run #21 Uploading 0 files File upload complete. Uploaded '0' bytes from '/home/runner/work/lede/lede/artifact/' to server

固件大小直接为0了。。。

@adaaaaaa
Copy link

adaaaaaa commented Dec 5, 2019

能不能把编译时候实际用到的完整版的config文件也导出来,一起打包下载了??
这次看到又添加了一些新的驱动,这些是我不需要的。。。
我想要下次编译的时候,禁止这些新的驱动添加到固件里面。。。
但是,我又不想在本地启动虚拟机来git pull。。。我都打算删掉虚拟机了。。。

@db-one
Copy link

db-one commented Dec 5, 2019

牛逼感谢

@peter-tank
Copy link

照着撸了个最近的官包,打128M 大内存补丁后的 WNDR4300 和 WNDR3700 好像哪里不对,2小时后出来 firmware 600M,熟悉的指点指点

@KFERMercer
Copy link
Contributor Author

KFERMercer commented Dec 5, 2019

照着撸了个最近的官包,打128M 大内存补丁后的 WNDR4300 和 WNDR3700 好像哪里不对,2小时后出来 firmware 600M,熟悉的指点指点

貌似是op trunk本身的问题. (可能吧) 虽然你的代码写的很乱, 但是逻辑还是在的.

能不能把编译时候实际用到的完整版的config文件也导出来,一起打包下载了??
这次看到又添加了一些新的驱动,这些是我不需要的。。。
我想要下次编译的时候,禁止这些新的驱动添加到固件里面。。。
但是,我又不想在本地启动虚拟机来git pull。。。我都打算删掉虚拟机了。。。

这个很容易就可以做到.
另外有一件很重要的事, 请查阅KFERMercer/OpenWrt-CI#9

@bonnyandsky
Copy link

你好,请问怎么把你的merge-upstream.yml文件放到我的目录下?我看好像没办法下载,

@peter-tank
Copy link

@KFERMercer 怎么从trunk抓指定tag的版本 ?
我从 github 和 git.openwrt.org clone 或wget *.tar.gz 后 git checkout 各种玩法,死活都是内核不对版。。。只有 master 才是最正确的

@KFERMercer
Copy link
Contributor Author

@KFERMercer 怎么从trunk抓指定tag的版本 ?
我从 github 和 git.openwrt.org clone 或wget *.tar.gz 后 git checkout 各种玩法,死活都是内核不对版。。。只有 master 才是最正确的

由于没看到错误信息所以猜不出来

@sunlanhao
Copy link

你好,请问我想通过云编译加入魔改版的ssr,这样添加代码可以吗?
S@%~V0A} DBH%ZA)XE)LP5M
jo

@KFERMercer
Copy link
Contributor Author

你好,请问我想通过云编译加入魔改版的ssr,这样添加代码可以吗?
S@%~V0A} DBH%ZA)XE)LP5M
jo

不知道, 没用过这个

@bonnyandsky
Copy link

我做了一个分支,名字叫ledenew,我打算以后同步L大的代码都用分支来同步,请问openwrt-ci.yml和merge-upstream.yml需要修改对应那些字段

@Crazy365
Copy link
Contributor

@KFERMercer 请教大佬,我在编译时需要手动输入一个 Y 进行确认(见下面日志),现在自动化无法输入,导致编译失败。不知有没有办法自动输入?
Support legacy servers which use less secure dialects (CIFS_ALLOW_INSECURE_LEGACY) [Y/n/?] (NEW) aborted!

@KFERMercer
Copy link
Contributor Author

@KFERMercer 请教大佬,我在编译时需要手动输入一个 Y 进行确认(见下面日志),现在自动化无法输入,导致编译失败。不知有没有办法自动输入?
Support legacy servers which use less secure dialects (CIFS_ALLOW_INSECURE_LEGACY) [Y/n/?] (NEW) aborted!

已修复

@Crazy365
Copy link
Contributor

@KFERMercer 请教大佬,我在编译时需要手动输入一个 Y 进行确认(见下面日志),现在自动化无法输入,导致编译失败。不知有没有办法自动输入?
Support legacy servers which use less secure dialects (CIFS_ALLOW_INSECURE_LEGACY) [Y/n/?] (NEW) aborted!

已修复

还是过不去,这里好像必须有输入才行。

@KFERMercer
Copy link
Contributor Author

KFERMercer commented Dec 10, 2019

还是过不去,这里好像必须有输入才行。

加一行:

CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y

@Crazy365
Copy link
Contributor

还是过不去,这里好像必须有输入才行。

加一行:

CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y

试了一下,还是不行

@peter-tank
Copy link

    - name: Firmware build_env keys set
      uses: actions/cache@master
      id: build_env
      with:
        path: .
        key: ${{ runner.os }}-openwrt-build-${{ hashFiles('**/.config') }}

    - name: Try make package/pkg/compile in cache
      if: steps.build_env.outputs.cache-hit != 'true'
      env:
        DEBIAN_FRONTEND: noninteractive
      run: |
        make package/nun-lean-pkg/compile source=path/to/source V=s

这样是不是就可以利用之前有编译环境增加编译自己的包?应该还不到2G限制吧。

@KFERMercer
Copy link
Contributor Author

KFERMercer commented Dec 11, 2019

试了一下,还是不行

手里没k3所以没法测试. 真不行就把V=s删掉. 会强制选择默认.

    - name: Firmware build_env keys set
      uses: actions/cache@master
      id: build_env
      with:
        path: .
        key: ${{ runner.os }}-openwrt-build-${{ hashFiles('**/.config') }}

    - name: Try make package/pkg/compile in cache
      if: steps.build_env.outputs.cache-hit != 'true'
      env:
        DEBIAN_FRONTEND: noninteractive
      run: |
        make package/nun-lean-pkg/compile source=path/to/source V=s

这样是不是就可以利用之前有编译环境增加编译自己的包?应该还不到2G限制吧。

理论上可以.. 但是如果大雕修改工具链之类的话可能会翻车...

我没试过所以没发言权, 我会测试一下, 在此之前稳定优先

@xinpenghan
Copy link

xinpenghan commented Dec 17, 2019

编译x86,添加以下php环境插件,编译后发现固件里并没有php环境的以下插件 ,这个要怎么解决呢?
CONFIG_PACKAGE_php7-fpm=y
CONFIG_PACKAGE_php7-mod-curl=y
CONFIG_PACKAGE_php7-mod-gd=y
CONFIG_PACKAGE_php7-mod-iconv=y
CONFIG_PACKAGE_php7-mod-json=y
CONFIG_PACKAGE_php7-mod-mbstring=y
CONFIG_PACKAGE_php7-mod-opcache=y
CONFIG_PACKAGE_php7-mod-session=y
CONFIG_PACKAGE_php7-mod-zip=y

@lbbboy
Copy link

lbbboy commented Dec 19, 2019

编译错误
.config:95:warning: unexpected data: make defconfig 53 Error opening terminal: unknown. 54 /home/runner/work/lede/lede/include/toplevel.mk:136: recipe for target 'menuconfig' failed 55 make[1]: *** [menuconfig] Error 1 56 make[1]: Leaving directory '/home/runner/work/lede/lede' 57 /home/runner/work/lede/lede/include/toplevel.mk:97: recipe for target '.config' failed 58 make: *** [.config] Error 2
麻烦帮排查下错误原因,弄了几次没能解决,谢谢。

@peter-tank
Copy link

编译错误
.config:95:warning: unexpected data: make defconfig 53 Error opening terminal: unknown. 54 /home/runner/work/lede/lede/include/toplevel.mk:136: recipe for target 'menuconfig' failed 55 make[1]: *** [menuconfig] Error 1 56 make[1]: Leaving directory '/home/runner/work/lede/lede' 57 /home/runner/work/lede/lede/include/toplevel.mk:97: recipe for target '.config' failed 58 make: *** [.config] Error 2

应当像这样保留注释吧:

# 编译x64固件:
# cat >> .config <<EOF
# CONFIG_TARGET_x86=y
# CONFIG_TARGET_x86_64=y
# CONFIG_TARGET_x86_64_Generic=y
# EOF

@KFERMercer
Copy link
Contributor Author

缩进错误

@xynu617
Copy link

xynu617 commented Dec 21, 2019

自动更新lean源码失败
从2天前开始的,自动更新的代码没动过

@KFERMercer
Copy link
Contributor Author

自动更新lean源码失败
从2天前开始的,自动更新的代码没动过

KFERMercer/OpenWrt-CI#36 (comment)

请问这个怎么修改内核呢?

需要修改文件

@xinpenghan
Copy link

编译了几次Samba4,都是错误,以及强制不编译Samba了,为什么还是错误呢?

@coolsnowwolf coolsnowwolf unpinned this issue Dec 24, 2019
@yulinsoft
Copy link

还是过不去,这里好像必须有输入才行。

加一行:

CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y

试了一下,还是不行

这个问题你解决了吗,我也是困在这里了。

@llfj
Copy link

llfj commented Mar 1, 2020

CIFS_ALLOW_INSECURE_LEGACY 也是一样 要手动输入Y 无法自动化。。怎么解决

@dache123
Copy link

dache123 commented Mar 8, 2020

缩进错误

缩进错误

想修改成别的机型该怎么写呢?有范例吗?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests