V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
StonyGround
V2EX  ›  Android

家人们,现在的 WSL2 可以编译 aosp 吗

  •  
  •   StonyGround · 257 天前 · 2774 次点击
    这是一个创建于 257 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以前用 WSL1 试过编译,结果检测到硬盘不区分大小写,后来查资料发现,WSL1 并不具备修改 windows 物理硬盘属性的功能,遂放弃。不知道 WSL2 可不可以,有没有试过的家人呢?

    25 条回复    2022-05-23 10:07:44 +08:00
    2NUT
        1
    2NUT  
       257 天前
    wsl 就是虚拟机 应该可以更改

    大小写是文件系统属性吧
    libook
        2
    libook  
       257 天前
    没试过,理论上 WSL2 就是在 Hyper-V 虚拟机里面跑的 Linux ,只不过没有启动过程,类似于 chroot 环境。

    一般编译工作都只是涉及编译工具链、依赖库,不会涉及到硬件设备和系统服务,应该问题不大。

    不过你完全可以用系统自带的 Hyper-V 开个虚拟机装个完整版的 Linux 来编译,网上针对 Linux 环境的教程应该都适用。

    蹲一个试过的大佬。
    gam2046
        3
    gam2046  
       257 天前
    可以。原先的 wsl1 同样也可以。我在我孱弱的丐版 surface pro 上编译过,只是比较慢,等了 4 个小时也出来了。
    chengyiqun
        4
    chengyiqun  
       257 天前
    wsl1 可以的, 我自己就在用. 不过只是偶尔用下才会用 wsl
    chengyiqun
        5
    chengyiqun  
       257 天前
    我是说大小写, 不是指 aosp 编译的事哈
    461da73c
        6
    461da73c  
       257 天前
    有啥不行的?你又不是运行,编译也就编译器工作。
    chengyiqun
        7
    chengyiqun  
       257 天前
    确定目录是否区分大小写:
    getfattr -n system.wsl_case_sensitive <path>


    将目录标记为区分大小写:
    setfattr -n system.wsl_case_sensitive -v 1 <path>


    将目录标记为不区分大小写:
    setfattr -n system.wsl_case_sensitive -v 0 <path>


    唯一要注意的事, 将目录标记为区分大小写时, 如果目录非空, 里面有子目录, 子目录不会被标记为大小写区分.
    但是你先标记一个空的目录为大小写区分后, 再拷贝别的目录进去, 子目录也区分大小写了.
    Helsing
        9
    Helsing  
       257 天前 via iPhone
    wsl1 改一下磁盘大小写一样可以编
    ysc3839
        10
    ysc3839  
       257 天前 via Android
    理论上可以,但个人还是建议用虚拟机装个系统,就怕有的东西依赖 systemd 之类的
    StonyGround
        11
    StonyGround  
    OP
       257 天前
    @chengyiqun 感谢!🙏 我这就去搞,大家等我好消息
    Cu635
        12
    Cu635  
       257 天前
    @chengyiqun
    linux 上有啥确定是否区分大小写的工具么?
    ikas
        13
    ikas  
       257 天前
    没必要文件放在 windows 分区上..直接创建 vhd,然后 monut 到 wsl2
    我编译过多个版本的 aosp,lineage,没有任何问题
    AS4694lAS4808
        14
    AS4694lAS4808  
       257 天前 via Android
    可以是可以,但是别直接在 /mnt 下编译,把文件拷到 wsl 的空间里,否则 io 让人怀疑人生。。
    chengyiqun
        15
    chengyiqun  
       257 天前
    @Cu635 上面写了个 getfattr, 我就用过这个.
    而且 linux 上的文件系统不是大多都区分大小写嘛?
    fcymk2
        16
    fcymk2  
       256 天前
    @ikas 这功能 win11 才有吧? 不知道以后会不会给 win10...
    MaxLi77
        17
    MaxLi77  
       256 天前   ❤️ 1
    十分不建议 wls ,各种各样的暗坑多。直接虚拟机就好了,很方便。
    ikas
        18
    ikas  
       256 天前
    @fcymk2 win10 就有
    fcymk2
        19
    fcymk2  
       256 天前
    @ikas 试了下, 现在的 windows 版本 21H2 19044.1706 没有 wsl --mount 命令. , 是要用 inside preview 吗?
    不能 mount vhd, 256g 空间吃紧....
    StonyGround
        20
    StonyGround  
    OP
       256 天前
    @fcymk2 可以把 wsl 从 C 盘移动到其他位置,参考 https://www.cnblogs.com/konghuanxi/p/14731846.html
    StonyGround
        21
    StonyGround  
    OP
       256 天前
    FAILED: [W][2022-05-20T10:45:41+0800][20976] void cmdline::logParams(nsjconf_t *)():250 Process will be UID/EUID=0 in the global user namespace, and will have user root-level access to files
    -------
    迎来了第一次报错,不能使用 root 编译,要切换其他用户,我记得以前也没有这个限制吧?
    StonyGround
        22
    StonyGround  
    OP
       255 天前
    @StonyGround 错了,这个只是警告,原因是 OOM ,已经调高了内存和 swap
    fcymk2
        23
    fcymk2  
       255 天前
    @StonyGround ssd 不够大...所以想拆成 2 个盘, 主盘放 ssd 上, 编 android 的丢机械盘去.
    ikas
        24
    ikas  
       255 天前
    @fcymk2 我之前用的可能是测试版....现在确实变成了 win11 最低..坑
    StonyGround
        25
    StonyGround  
    OP
       253 天前
    试过了,编译成功,但是需要注意两点,可能修改 wsl 默认配置和挂载 USB ,具体可以查看我写的博客: https://stonyground.cn/2022/05/19/wsl2%E7%BC%96%E8%AF%91aosp%E5%B9%B6%E5%88%B7%E5%85%A5pixel/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   1964 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 04:49 · PVG 12:49 · LAX 20:49 · JFK 23:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.