25 年快乐

说实话我自己并没有感到很快乐吧,时间过的让人有点喘不过气来,还没反应过来,我日记的仓库就又得新开一个分支来记录 25 年的日记了。

虽然最近确实有点不太顺,但还是祝各位看官生活顺利吧。

前情提要

在上一篇如何编译 dotnet-armv6 环境之后,很快啊,就更新到了 dotnet 9.0,然后 ASF 果不其然非常快就移动到了 9.0 上。

上一篇里提到的老哥,似乎并没有更新 9.0 的 docker 镜像,那么还好自己有笔记,重新来一遍吧。

当然又撞了一遍坑才跑成,关键是跑成之后现在没有树莓派 1b+ 在手边根本没法正常测试,但至少编译成功了。

Runtime

首先,改用 git clone https://github.com/dotnet/runtime --recursive -b release/9.0 --depth=1 来下载,试过 v9.0.0,编译的时候经常编译不过。

下载下来之后需要修改的文件有

  1. runtime/eng/Versions.props,将其版本号改为 9.0.0;
  2. runtime/src/native/libs/System.Security.Cryptography.Native/opensslshim.c,需要注释掉 // c_static_assert_msg(sizeof(time_t) == 8, "Build requires 64-bit time_t.");,不然编译会失败,虽然可能还是存在 2038 问题,但至少现在能用就行。

然后就原方案开始编译即可,一遍成功的。

AspNetCore

同样,改用 git clone https://github.com/dotnet/aspnetcore --recursive -b release/9.0 --depth=1 下载仓库。

下载下来需要修改:

  1. aspnetcore/eng/Versions.props,将版本号改为 9.0.0;
  2. aspnetcore/eng/build.sh,在原来帖子里说的要加的部分之前加上一段,以解决镜像较老造成的 apt 域名证书问题。

代码如下:

curl -fsSL https://apt.kitware.com/keys/kitware-archive-latest.asc -o kitware-archive-latest.asc
gpg --dearmor -o /usr/share/keyrings/kitware-archive-keyring.gpg kitware-archive-latest.asc
echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu focal main" | tee /etc/apt/sources.list.d/kitware.list

然后正常跑就行,甚至都不用改 npm 什么的了。

Dockerfile

最后和之前一样,两边 nupkg 复制出来,直接一个 Dockerfile 搞成镜像,大功告成。

版本号问题稍稍修改一下即可。

FROM mcr.microsoft.com/dotnet/sdk:9.0.101
WORKDIR /root
COPY ./nugetrepo/ /usr/share/dotnet/nugetrepo
RUN sed -i 's/linux-s390x/linux-armv6;linux-s390x/g' /usr/share/dotnet/sdk/9.0.101/Microsoft.NETCoreSdk.BundledVersions.props
RUN dotnet nuget add source /usr/share/dotnet/nugetrepo/ -n localrepo
RUN rm -rf /tmp/*
CMD "/bin/bash"

GPay

然后写点 root 机正常使用谷歌钱包的一些经验吧,其实主要是分享一些可用的 Magisk 模块,减少之后走弯路。

模块列表如下:

只需要 SafetyNet 达到 BASIC,然后两个 passed 即可,Integrity 上了模块之后应该就可以直接 DEVICE。

Play Integrity Fork 安装之后需要定期执行指令(大概一个月一次)以自动从谷歌网站上获取最新的信息。

写在最后

最近实在有点提不起兴趣写东西了,随便写一点假装自己还活跃吧。