MagiskOnWSALocalがビルドできない問題

Linux

こんにちは、山田ハヤオです。

MagiskOnWSALocalが現在ビルドできない状態になっています。

修正PRも登場していますが、未だにマージされていない状態です。

そんなわけで2023年8月31日現在の解決方法のメモです。誰かの参考になれば幸いです。


ところで今日は初音ミクの誕生日ですね。DECO*27氏がブループラネットを公開したのもあって話題になっています。ボーカロイド楽曲は有名所しか知らない私ですが砂の惑星は個人的に最高傑作の1つだと思っています。そんな私ですが、砂の惑星に対するアンサーソングに関しては割と自分の立場を決めかねています。永遠にあの曲に囚われ続けているのもどうかと思うし、かといってあの曲は後世への課題曲だとも受け取れます。(まぁ永遠にカゲロウプロジェクト大好きな自分が言うのもどうかとは思います。)砂の惑星に固執し続けると、それこそ米津玄師があの曲で提示した砂漠から前進できているのか疑問に思えてしまいます。またあの曲もそれなりに抽象化してしまっているため、今後発表される曲が意図せずアンサーソングの1つとして解釈されてしまう、という可能性もあります。そのような状況こそ砂漠化の進行だと私は考えるのです。どちらがいいのかはわかりませんがとりあえずブループラネットは良い曲なのでおすすめですよ。


スポンサーリンク

環境と事前準備

閑話休題。今回はVmware上のArch Linuxで作業していきます。

依存関係をインストール

ここに従って依存パッケージを入れます。

この場ではqemu-imgはインストールしません。

yay -S lzip patchelf e2fsprogs python3 aria2 attr unzip sudo libnewt python-pip	p7zip python3-venv

ソースコードを取得

git clone https://github.com/LSPosed/MagiskOnWSALocal

バグ対策を施す

erofsに関するエラーの修正パッチ

エラー内容はこれです。

[Bug] Mount images, cannot find valid erofs superblock · Issue #648 · LSPosed/MagiskOnWSALocal
Steps to reproduce/复现步骤 Run the command ./run.sh Expected behaviour/预期行为 Actual behaviour/实际行为 error MagiskOnWSALocal commit full SHA/MagiskOnWSALocal 提交的完整哈希 d...

というわけで修正PRにcheckoutします。

まずはremoteを追加。

git remote add yt-advanced/MagiskOnWSALocal https://github.com/YT-Advanced/MagiskOnWSALocal.git

そしてcheckout。

git checkout yt-advanced/MagiskOnWSALocal/patch-1

qemu-imgのコアダンプを修正

現在のqemu-img 8.1.0-2ではコアダンプするバグがあるので、最新版を自前でコンパイルします。

yay -Qq qemu-img 2> /dev/null && yay -Rsn qemu-img
MAKEFLAGS="-j15" yay -S qemu-git --needed --noconfirm --mflags '-Af --nocheck'

MAKEFLAGSの15という数字は自分のPCのスペックと相談して、CPUのコア数-4くらいにしてあげてください。

私の場合は仮想マシンに18コア割り当てていたので、思い切って15コア使いました。

実行

長い長いQemuのコンパイルが終わったらいよいよMagiskOnWSALocalのビルドです。

cloneしたソースコードまで移動してあげてから、scriptを実行します。

bash ./scripts/run.sh

あとはいつも通り画面に従ってぽちぽち設定していけばコンパイルできます。

終わり

本当はこのコンパイル済みデータを配りたいところですがMSに怒られるのでできません。残念。

今回はVmware上でやりましたが、おそらくWSL2上でもArch Linuxならできると思います。

それでは、また今度。Happy Birthday, Miku!!

コメント

タイトルとURLをコピーしました