Модификация кешей в ExaGear

Revision as of 02:01, 28 September 2022 by Ilya114 (talk | contribs)

На данной странице написана инструкция по модификации и сборке кешей(.obb файлов) в ExaGear Windows Emulator.

Модификация кешей без изменения пакетов на компьютере(ноутбуке), и мобильных устройствах

Для модификации архива с кешем без замены пакетов самой системы(например, добавление какой-то программы для Wine) можно использовать системы Microsoft Windows, GNU/Linux или же ОС Android.


Также можно использовать программу exagear-cache-creator(English) для создания кешей с нуля используя debootstrap(требуется ноутбук или компьютер).

Скачивание и открытие файла .obb

Скачайте любой кеш ExaGear Windows Emulator который вам необходимо модифицировать, после этого откройте архив в любом архиваторе(например 7-Zip(Windows), Ark(Linux), ZArchiver, RAR(Android)) не распаковывая его.

Добавление файлов/программ и создание ярлыков в меню "Пуск" для Wine (папка /opt)

 
Структура папок в .obb файлах ExaGear Windows Emulator.

В данной части инструкции указаны действия, после выполнения которых, в кеш будут добавленны программы для Wine, с возможностью их запуска в меню "Пуск". Если вам необходимо модифицировать файловую систему, или добавить/удалить пакеты, вы можете найти инструкцию ниже.


После открытия архива вы увидите папки файловой системы Linux(показано на фото).

В /opt находятся файлы, программы которые есть в меню "Пуск"(например WineD3D), а также файлы Wine(файлы могут быть в других папках, например guestcont-pattern). В данном разделе инструкции будет рассматриватся вариант добавления файлов и ярлыков в меню "Пуск".

В папке guestcont-pattern находится диск С: который используется Wine, а также путь к ярлыкам, файлы реестра и т.п.

Скопируйте в /opt нужный вам файл/программу для Wine, предварительно создав папку в самом каталоге /opt (если вы добавляете много файлов подобного содержания, например в папке WineD3D будут хранится разные версии WineD3D для Windows).

Важно! Перед изменением других папок и удалением файлов знайте что делаете! Попытки урезать кеш "по максимуму" файлов могут привести к так называемой "поломке" кеша и его неработоспособности.

Создание ярлыков, проверка кеша

После добавления/удаления необходимых файлов или же других модификаций кеша необходимо сделать ярлыки для последующего добавления их в меню "Пуск".

Сохраните архив в файл main.30.com.eltechs.ed.obb(стандартный apk, имена могут отличаться). Удалите(или очистите его данные) ExaGear Windows Emulator и установите его заново, но в качестве кеша уже используйте модифицированный вами.

После распаковки кеша запустите контейнер, и в файловом менеджере TFM перейдите в Z:/opt и найдите там файлы которые добавили, зажмите на него, и нажмите "Create link", и перейдите в папку рабочего стола(Desktop). Скопируйте файлы ярлыка(.lnk) на диск D:, и после этого нужно выйти из ExaGear.

Вновь откройте модифицированный .obb файл, скопируйте файлы ярлыка и перейдите в /opt/guestcont-pattern/.wine/drive_c/users/Public. Скопируйте туда ярлыки(их можно переименовать), можно создать папки и туда помещать ярлыки. После копирования, сохраните архив, переустановите ExaGear Windows Emulator, и после запуска контейнера добавленные вами ярлыки будут отображаться в меню "Пуск". Попробуйте запустить один из них. Если на них будет ссылаться программа, она должна запуститься. Если на экране появилась ошибка, то после создания ярлыков был изменён путь к программе или файл вовсе был удалён. Если всё работает и программа запустилась, то процесс добавления программ и ярлыков к ним в меню "Пуск" завершён.

Иные модификации файловой системы Linux без удаления/установки пакетов

Вы также можете добавить другие файлы в Wine, или же модифицировать файловую систему Linux, знаете как она устроена. Учтите, что перед изменением других папок и удалением файлов знайте что делаете. Попытки урезать кеш "по максимуму" файлов могут привести к так называемой "поломке" кеша и его неработоспособности.

Добавление пакетов, замена Wine в кешах

Поскольку ExaGear использует Linux контейнер для запуска Windows приложений(с помощью Wine) на ARM системах, для замены версии Wine на комьютере(ноутбуке) должен стоять Linux дистрибутив. Если нет возможности установить систему на постоянную основу, используйте виртуальные машины(VirtualBox,VMware и т.п).


Для добалвления пакетов или замены Wine в Android в данной инструкции используется Termux и Exagear-For-Termux


Важно! В некоторых кешах возможно удалён пакетный менеджер apt. Поскольку в данной статье он не используется, вариант решения здесь не описан.

Скачивание Wine, кеша, распаковка кеша, и вход в него с помощью chroot (для ноутбуков, комьютеров)

Скачайте кеш и распакуйте его в отдельную папку(например exagearcache)

В терминале смонтируйте виртуальные файловые системы /dev, /proc и /sys, введя следующие команды:

  1. sudo mount proc -t proc ./proc
  2. sudo mount sys -t sysfs ./sys
  3. sudo mount --bind /dev ./dev
  4. sudo mount --bind /dev/pts ./dev/pts

Переключитесь в терминал файловой системы кеша, который используете:

sudo chroot ./ /usr/bin/env -i HOME=/root TERM="$TERM" /bin/bash --login


Прежде, чем использовать пакетный менеджер apt, необходимо обновить переменную среды PATH, которая по какой-то странной причине повреждается. Введите команду echo $PATH, скопируйте её вывод, и экспортируем его обратно: export PATH="****"(вместо скобок должен быть указан вывод предыдущей команды.)

Скачивание, распаковка кеша и вход в него с помощью Exagear-For-Termux(Android, Termux)

Скачайте кеш ExaGear который хотите модифицировать, эмулятор терминала Termux, установите его и введите следующие команды для установки Exagear-For-Termux(модифицированный Exagear, который можно использовать в Termux):

  1. pkg update -y
  2. pkg install tar git wget zip unzip -y
  3. git clone https://github.com/ZhymabekRoman/Exagear-For-Termux ~/ExaTermux
  4. cd ~/ExaTermux
  5. git submodule init
  6. git submodule update

Подробные пояснения к этим командам можно найти в GitHub репозитории Exagear-for-Termux(English)


Введите команду termux-setup-storage(для того, чтобы Termux получил доступ к разделу /sdcard в вашем мобильном устройстве) и в появившемся окне разрешите доступ к памяти.

Создайте папку exagear-fs(в ней хранится файловая система Exagear-For-Termux): mkdir ~/ExaTermux/exagear-fs и распакуйте .obb файл кеша в эту папку: unzip /sdcard/Download/obbname.obb -d ~/Exagear-for-Termux/exagear-fs

Вновь перейдите в папку Exagear-For-Termux и зайдите в гостевую систему: ./start-exagear.sh, и проверьте что вы находитесь ввведя команду arch, архитектура должна быть указана i386.

Замена версии Wine

Проверьте работу пакетного менеджера командой apt-get update, пакеты должны обновиться. Если будет ошибка о том, что команда не найдена или о том что не найдены библиотеки .so, то apt удалён с вашего кеша.

Удалите Wine который стоял в кеше по умолчанию, и установите wget && apt-transport-https && software-properties-common (для скачивания по https и добавления репозиториев).

  1. apt remove wine-stable wine-stable-i386 winehq-stable -y && apt install wget apt-transport-https software-properties-common

И добавьте официальный репозиторий Wine:

  1. wget -nc https://dl.winehq.org/wine-builds/winehq.key
  2. apt-key add winehq.key
  3. rm -R winehq.key
  4. apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'(вместо bionic может потребоваться другая версия, проверьте командой lsb_release -a)

Обновите пакеты: apt update, и установите нужную вам версию Wine(до 7 версии, последняя стабильная 7.0): apt install wine-stable-i386=version~bionic wine-stable=version~bionic winehq-stable=version~bionic

После установки Wine, можно удалить ненужные пакеты: apt remove software-properties-common apt-transport-https wget -y && apt autoremove -y

Перепаковка кеша в .obb

Если используется chroot, перезагрузите систему для того чтобы отмонтировать виртуальные /dev, /proc /sysfs /dev/pts.

Если используется Exagear-For-Termux на Android, введите команду exit.


Для создания архива в папке с распакованным кешем введите команду sudo zip --symlinks -r main.30.com.eltechs.ed.obb . (для комьютеров, ноутбуков с Linux-дистрибутивами) или zip --symlinks -r main.30.com.eltechs.ed.obb .(если используется Termux.)

После завершения создания архива, переместите его в папку /sdcard на телефоне(в Termux выполняется командой cp main.30.com.eltechs.ed.obb /sdcard и попробуйте запустить ExaGear с данным .obb, если кеш распакуется и будет работать, Wine при запуске ExaGear и последующем обновлении конфигурации предожит установить wine-mono и wine-gecko, если кеш не запустился(выдал ошибку), то возможно Wine был установлен неправильно.

Модификация кешей ExaGear RPG/Strategies

Файловая система в устаревших ExaGear RPG/Strategies максимально урезана, поэтому обновить Wine способом выше не получится. Также, там нету explorer, поэтому добавить в меню "Пуск" что либо также не получится методом выше.

Возможно, модифицировать очень сложным методами можно, но смысла в этом практически нету.

Ссылки

Автор оригинальной инструкции(на форуме 4PDA) GFOXSH

Официальный сайт Wine(winehq)