華為ExaGear簡介:
ExaGear是一款二進制指令動態翻譯軟件,運行在ARM64服務器上,通過將x86的指令在運行時翻譯為ARM64指令并執行,使得絕大部分Linux on x86應用無需重新編譯就可運行在ARM64服務器上,實現低成本、快速遷移Linux on x86應用到ARM64服務器。
這非常好。
但有一點不好:華為ExaGear只能在華為CPU上運行,在其他CPU上運行會報錯“Unsupported CPU detected”。
不過,只要把可執行文件稍微修改一下,繞過這個CPU類型檢測,就能讓它在飛騰CPU上運行了,方法在下面。
備注:這篇教程也做為華為鯤鵬CPU安裝ExaGear的教程,不過鯤鵬CPU本身就是華為的,所以不需要執行破解那一步。
安裝步驟
-
華為ExaGear與基于box86的“Wine游戲助手ARM64測試版”不兼容,如果你安裝了“Wine游戲助手ARM64測試版”,請先卸載它,再安裝華為ExaGear。
卸載“Wine游戲助手ARM64測試版”的方法:
sudo apt purge net.winegame.client
安裝華為ExaGear之后,可以在exagear容器里安裝x86_64 版的“Wine游戲助手”,教程在這里。
注意:華為ExaGear運行32位游戲的性能很差,War3不到2幀。不過改用Eltechs的ExaGear運行32位游戲,性能就會好很多,相關教程正在編寫中。
-
華為ExaGear對Linux內核有要求,不兼容內核無法正常啟動華為ExaGear。
目前已知UOS的內核是兼容的。
銀河麒麟的內核不兼容。
樹莓派官方64位系統的內核不兼容。
銀河麒麟可按以下教程替換內核:
https:///q.php/bbs.topic.102204.html
內核需要開啟以下選項,才能與華為ExaGear兼容:
CONFIG_ARM64_VA_BITS_48=y
CONFIG_ARM64_VA_BITS=48
-
下載并安裝以下任一版本的華為exagear:
如果想看看有沒有新版本,可以去這里找:
https://mirrors./kunpeng/archive/ExaGear/
建議銀河麒麟、deepin和UOS安裝ExaGear_Server_for_Ubuntu20 里的包。
安裝方法:
- 壓縮包解壓后,在文件管理器里進入
ExaGear_*/ExaGear_Server_for_Ubuntu20/release 文件夾。
- 右擊文件管理器的空白處,選擇“在終端打開”。
- 在打開的終端執行以下命令:
sudo apt install ./*.deb
-
嘗試運行exagear 命令。
exagear
如果遇到以下報錯,說明Linux內核與exagear不兼容,需要更換CONFIG_ARM64_VA_BITS_48=y 的內核。更換方法正在編寫中。

如果遇到以下報錯,請執行第5步的破解操作:

如果執行完沒有報錯,直接進入了exagear環境,就不需要執行第5步,可直接跳到第6步。
- 執行以下命令破解ExaGear(如果你是華為CPU,不需要破解就能用,可跳過此步):
# 切換到root權限
sudo -i;
# 檢測是否需要破解
grep ExaGear /proc/cpuinfo >/dev/null && echo '你在exagear內,請直接跳到第6步。' || { grep 0x0000000048 /sys/devices/system/cpu/cpu0/regs/identification/midr_el1 >/dev/null && echo '你用的是華為CPU,不需要破解,請直接跳到第6步。' || echo '你用的不是華為CPU,需要破解,請執行下面的命令。'; };
# 破解 ubt_x32a64_al
f='/opt/exagear/bin/ubt_x32a64_al';
mv '$f' '$f.origin';
perl -pe 's/\x{02}\x{7C}\x{18}\x{53}(?!\x{1F}\x{5C})/\x{02}\x{09}\x{80}\x{D2}/g' < '$f.origin' > '$f';
chmod +x '$f';
# 破解 ubt_x64a64_al
f='/opt/exagear/bin/ubt_x64a64_al';
mv '$f' '$f.origin';
perl -pe 's/\x{02}\x{7C}\x{18}\x{53}(?!\x{1F}\x{5C})/\x{02}\x{09}\x{80}\x{D2}/g' < '$f.origin' > '$f';
chmod +x '$f';
- exagear可以使用了,只需要執行
exagear 命令進入x86容器環境,就可以安裝x86軟件包了。
(截圖只是功能展示,不需要執行截圖中的命令。要執行的操作從6.1開始。)


不過系統語言是英文。切換語言的方法如下:
6.1. 換源
Ubuntu默認軟件源下載速度很慢,所以安裝軟件包之前先換源:
# 首先進入exagear
grep ExaGear /proc/cpuinfo >/dev/null || exagear || echo '進入exagear失敗,請先執行前面的步驟,正確安裝exagear。在解決該問題前不要繼續。'
# 然后下面3個命令任選一個執行,如果一個速度不滿意就換另一個。下面執行 apt install 步驟的時候就能看出速度快不快。
# 網易
sudo sed -i 's@[a-z0-9.-]*\.[a-z][a-z][a-z]*/ubuntu@mirrors.163.com/ubuntu@g' /etc/apt/sources.list
# 阿里云
sudo sed -i 's@[a-z0-9.-]*\.[a-z][a-z][a-z]*/ubuntu@mirrors.aliyun.com/ubuntu@g' /etc/apt/sources.list
# 清華
sudo sed -i 's@[a-z0-9.-]*\.[a-z][a-z][a-z]*/ubuntu@mirrors.tuna.tsinghua.edu.cn/ubuntu@g' /etc/apt/sources.list
6.2. 切換語言為中文
# 首先進入exagear
grep ExaGear /proc/cpuinfo >/dev/null || exagear || echo '進入exagear失敗,請先執行前面的步驟,正確安裝exagear。在解決該問題前不要繼續。'
# 更新軟件包列表
sudo apt update;
# 安裝字體和語言包
sudo apt install -y locales fonts-noto-cjk fonts-noto-cjk-extra language-pack-zh-hans;
# 選擇語言
sudo dpkg-reconfigure locales;
執行sudo dpkg-reconfigure locales 后,你會看到這樣的界面,無需修改選項,直接確認即可。用方向鍵或者Tab導航到Ok上,然后按空格或者回車確認。

然后在這里選“zh_CN.UTF-8”并回車確認。

等命令執行完(需要一段時間),關掉終端再重新打開一個,命令的語言就會變成中文了。
exagear
apt

|