ALT Mobile/Портативные приставки Anbernic: различия между версиями

Материал из ALT Linux Wiki
(Добавлены шаги для резервного копирования и восстановленияя содержимого eMMC)
мНет описания правки
 
(не показано 14 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{Attention| ЭТО ЧЕРНОВОЙ НАБРОСОК ИНСТРУКЦИИ, СОЗДАННЫЙ ДЛЯ СОХРАНЕНИЯ ОСНОВНОЙ ИНФОРМАЦИИ!
{{stub}}
ОН БУДЕТ В ДАЛЬНЕЙШЕМ ИЗМЕНЯТЬСЯ И ДОПОЛНЯТЬСЯ. НА ДАННЫЙ МОМЕНТ ЕГО ЛУЧШЕ НЕ ПРИМЕНЯТЬ!}}


К превеликому сожалению, на текущий момент (31 мая 2024 года ), для успешной загрузки и запуска ОС семейства АЛЬТ на данном устройстве придётся затереть Android вместе с загрузчиком, ибо ни с чем, кроме стоковой прошивки от самой Anbernic, а также костылями с разбивкой карты памяти и патчами для загрузчика, он нормально не дружит.
Данная инструкция описывает процесс подготовки игровых приставок Anbernic для запуска на них ОС Альт, в частности, ALT Mobile.


== Подход 1 - простой. ==  
== Статус ==


Для него ещё понадобится карта памяти объёмом от 128 гигабайт.
Возможность запуска была протестирована на следующих моделях приставок:
 
на базе RK3399
 
- Anbernic RG 552
 
на базе RK3566
- Anbernic RG 353M
- Anbernic RG Arc D и S
 
{| class="wikitable"
|+ Статус поддержки компонентов игровых приставок
|-
! scope="col"|     
! scope="col"| Дисплей
! scope="col"| Сенсорная панель
! scope="col"| WiFi
! scope="col"| Bluetooth
! scope="col"| GPU
! scope="col"| Управление
! scope="col"| OTG
! scope="col"| MiniHDMI
! scope="col"| eMMC
! scope="col"| Слоты карт памяти
|-
! scope="row"| RG 552
| {{ok}}
| {{ok}}
| {{ok}}
| '''отсутствует'''
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
|-
! scope="row"| RG 353M
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
|-
! scope="row" | RG Arc D
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
|-
! scope="row" | RG Arc S
| {{ok}}
| '''отсутствует'''
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| {{ok}}
| '''отсутствует'''
| {{ok}}
|-
|}
 
== Подготовка накопителя ==
 
{{Attention|ВНИМАНИЕ! Все действия, описанные в данной статье, вы выполняете на свой страх и риск. Автор статьи и сообщество ALT Linux Team, а также ООО "Базальт СПО" не несут ответственность за "окирпиченные" и сгоревшие приставки, затёртые данные пользователя, а также сгоревшие инструменты и прочие последствия.}}
 
=== Карта памяти ===
 
Устанавливаем утилиту alt-rootfs-installer
 
<code>
su -
 
apt-get install alt-rootfs-installer
</code>
 
Скачиваем образ с ядром rocknix для RG 552:
 
<code>
wget https://beta.altlinux.org/mobile/20240625/alt-mobile-phosh-rocknix-ad-20240625-aarch64.img.xz
</code>
 
или pine для RG 353M:
 
<code>
wget https://beta.altlinux.org/mobile/20240625/alt-mobile-phosh-pine-ad-20240625-aarch64.img.xz
</code>
 
Вставляем адаптер с картой памяти в порт USB и в режиме суперпользователя выполняем команду
 
Для Anbernic RG 552:
 
<code>
alt-rootfs-installer --image-in=/путь/до/образа.img.xz --media=/dev/sdX --target=anbernic-rg552-rk3399
</code>
 
Для Anbernic RG 353M:
 
<code>
alt-rootfs-installer --image-in=/путь/до/образа.img.xz --media=/dev/sdX --target=anbernic-rgxx3-rk3566
</code>
 
где /dev/sdX - путь до нашей карты памяти.
 
=== Встроенная память приставки ===
 
К превеликому сожалению, на текущий момент (31 мая 2024 года), для успешной загрузки и запуска ОС семейства АЛЬТ на данных устройствах придётся затереть стоковый Android вместе с загрузчиком, ибо ни с чем, кроме стоковой прошивки от самой Anbernic, а также костылями с разбивкой карты памяти и патчами для загрузчика, он нормально не дружат.
 
Нам понадобится карта памяти объёмом от 128 гигабайт, если мы хотим в будущем восстановить стоковый Android.
Если же сохранения Android не планируется, то пункты с 4 по 7 можно проигнорировать.


0. Переводим устройство в режим Recovery, зажав при запуске клавишу увеличения громкости. Мы попадаем в меню восстановления системы.
0. Переводим устройство в режим Recovery, зажав при запуске клавишу увеличения громкости. Мы попадаем в меню восстановления системы.
Строка 36: Строка 157:
</code>
</code>


Встроенная память определится как  <tt>/dev/block/mmcblk2</tt>
Встроенная память определится как  <tt>/dev/block/mmcblkX</tt>,  с кучей разделов.


4. Вставляем карту памяти во второй слот, она определится как  <tt>/dev/block/mmcblk0</tt>
4. Вставляем карту памяти во второй слот, она определится как  <tt>/dev/block/mmcblkY</tt>, с одним разделом.


5. Монтируем раздел нашей карты памяти:
5. Монтируем раздел нашей карты памяти:


<code>
<code>
mount /dev/block/mmcblk0p1 /mnt
mount /dev/block/mmcblkYp1 /mnt
</code>
</code>


Строка 49: Строка 170:


<code>
<code>
dd if=/dev/block/mmcblk2 of=/mnt/android_rg552.img
dd if=/dev/block/mmcblkX of=/mnt/android_rg552.img
</code>
</code>


Создание образа будет долгой (объём встроенной памяти - 64 гигабайта).
Создание образа будет долгим (объём встроенной памяти - 64 гигабайта).


7. После завершения процесса отмонтируем карту памяти
7. После завершения процесса отмонтируем карту памяти
Строка 65: Строка 186:


<code>
<code>
dd if=/dev/zero of=/dev/block/mmcblk2 bs=4M
dd if=/dev/zero of=/dev/block/mmcblkX bs=4M
</code>
</code>


Строка 72: Строка 193:
Вот и всё. По идее, теперь Альт должен загрузиться с карты памяти без проблем.
Вот и всё. По идее, теперь Альт должен загрузиться с карты памяти без проблем.


== Подход 2 - Сложный. ==
== Восстановление Android ==
 
Для восстановления Android нужно:
 
1. Вставить карту с образом Android во второй слот приставки;
 
2. Запустить терминал и перейти в режим рута;
 
<code>
su -
</code>
 
3. Посмотреть список блочных устройств:


При применении данного подхода можно морально попрощаться с гарантией, а в случае неправильного выполнения действий - и с самой приставкой :)
<code>
lsblk
</code>


Подготовка железа
Накопитель объёмом 58,2G с названием, схожим с mmcblkXboot1, и есть наша встроенная память, а устройство вида /dev/mmcblkApB с одним разделом без точки монтирования - карта памяти с образом. 


1. Выкручиваем четыре шестигранных винта на задней крышке
4. Примонтировать раздел карты памяти с образом:


2. Снимаем крышку, аккуратно отщёлкивая защёлки.
<code>
mount /dev/mmcblkApB /mnt
</code>


3. Выкручиваем внутренние винтики, удерживающие плату в корпусе
5. Записать образ стокового Android обратно во встроенную память с помощью dd:


4. КРАЙНЕ АККУРАТНО отключаем все провода и шлейфы.
<code>
dd if=/mnt/android_rg552.img of=/dev/mmcblkX oflag=direct,sync iflag=fullblock bs=1M status=progress
</code>
 
6. По завершении записи выключить приставку, вынуть обе карты памяти, и включить устройство. Android должен начать загрузку.
 
== Аппаратные проблемы ==


5. Аккуратно отключаем аккумулятор и переворачиваем плату.
=== Охлаждение чипов ОЗУ ===


6. Откручиваем 4 винтика, которые держат радиатор. Возвращаем плату в прежнее положение и снимаем радиатор с кулером.
Вследствие то ли ошибки в расчётах, то ли недосмотра, медная площадка радиатора у RG 552 не прилегает к чипам оперативной памяти, в результате чего память начинает быстро и качественно "отваливаться" (замечено автором статьи уже на 3-х приставках), один из симптомов - нежелание утилиты dd записывать данные с флагом "sync" - процесс закончится ошибкой ввода-вывода. Причина неприлегания - крышка "процессора" (SoC), которая возвышается на над чипами памяти 1 миллиметр.  


7. У верхнего правого угла платы находим надпись "DEBUG". Рядом с ней находятся 4 контактные площадки.
Если начали появляться подобные заскоки, то стоит провести "улучшение" системы охлаждения.


8. АККУРАТНО припаиваем тонкие проводочки (можно взять из витой пары) к 3-м из 4-ёх: GND (земля), RX и TX
==== Инструменты ====


9. Выводим проводки наружу. Можно проделать отверстие или просто аккуратно обрезать пластик по краю корпуса
Для проведения профилактики нам понадобятся:


10. Производим сборку в порядке, обратном разборке.
- Отвёртки с наконечниками +1,5 и Т6;


11. Подключаем проводочки согласно распиновке к TTL программатору.
- Спиртовые салфетки или изопропиловый спирт и плотные салфетки, не оставляющие ворсинок (чтобы очистить поверхность чипов);


- Пластиковая карта, медиатор или набор для наклейки экрана смартфона;


- Термопрокладка толщиной 1,5 мм (под давлением она сожмётся и оформит плотный контакт между чипами и радиатором).


Подготовка ОС
- Термопаста для процессора.


1. Записываем на карту памяти образ ALT Mobile
==== Процесс разбора ====


2. Монтируем штатными средствами ОС карту памяти.
0. Вынимаем карты памяти из слотов.


3. Правим с правами root файл /boot/extlinux в корне главного раздела карты памяти - приписываем в строчке fdtdir следующее:
1. Выкручиваем 4 винта отвёрткой Т6


  fdt ../dtb/rockchip/rk3399-rockpro64-v2.dtb
2. Картой или медиатором проходим по периметру корпуса, отщёлкивая крышку приставки.


В строчке append прописываем следующее: append root=UUID=08039ce4-e4bb-4891-bc56-5eb0db5f60cb ro loglevel=3 splash psi=1 console=ttyS2,1500000n8 fbcon=rotate:3 video=HDMI-A-1:1280x720@60
3. Приподняв крышку, аккуратно отсоединяем аккумулятор.


4. Сохраняем результат, отмонтируем карту памяти и вставляем её в ГЛАВНЫЙ, первый по порядку слот.
4. Также аккуратно отсоединяем все шлейфы и провода.


5. Подключаемся к TTL консоли: pyserial-miniterm --eol CRLF --raw /dev/ttyUSB0 1500000
5. Откручиваем 11 чёрных шурупов по периметру материнской платы приставки с помощью отвёртки +1,5.


6. Включаем приставку и сразу же быстро нажимаем сочетание клавиш Ctrl+C на клавиатуре.
6. Вынимаем плату из корпуса и переворачиваем её.


7. Всё, мы попали в командную консоль загрузчика U-Boot.
7. Откручиваем 4 винта, держащие радиатор, и снимаем систему охлаждения.


8. Набираем в этой консоли следующие команды:
8. Вот и наши чипы. Убираем старую термопрокладку, протираем чипы от грязи


  mmc dev 1 - переключаем загрузочное устройство
9. Отрезаем от термопрокладки кусочки нужного размера и накладываем их на чипы памяти. На процессор наносим термопасту.
  run bootcmd_mmc1 - запускаем загрузку с карты памяти


9. Выбираем нужный пункт загрузки с помощью цифр и грузим ОС
9. Прикручиваем систему охлаждения обратно к плате.


== Восстановление Android ==
10. Собираем приставку в обратном порядке.
 
{{Category navigation|title=ALT Mobile|category=ALT Mobile|sortkey={{SUBPAGENAME}}}}


Для восстановления Android нужно просто вставить карту памяти с образом, примонтировать раздел на карте, и через тот же dd записать содержимое образа в память устройства.
[[Категория:ALT Mobile]]

Текущая версия от 21:43, 8 сентября 2024

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


Данная инструкция описывает процесс подготовки игровых приставок Anbernic для запуска на них ОС Альт, в частности, ALT Mobile.

Статус

Возможность запуска была протестирована на следующих моделях приставок:

на базе RK3399

- Anbernic RG 552

на базе RK3566

- Anbernic RG 353M
- Anbernic RG Arc D и S
Статус поддержки компонентов игровых приставок
Дисплей Сенсорная панель WiFi Bluetooth GPU Управление OTG MiniHDMI eMMC Слоты карт памяти
RG 552 Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  отсутствует Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png 
RG 353M Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png 
RG Arc D Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png 
RG Arc S Test-result-pass.png  отсутствует Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  Test-result-pass.png  отсутствует Test-result-pass.png 

Подготовка накопителя

Внимание! ВНИМАНИЕ! Все действия, описанные в данной статье, вы выполняете на свой страх и риск. Автор статьи и сообщество ALT Linux Team, а также ООО "Базальт СПО" не несут ответственность за "окирпиченные" и сгоревшие приставки, затёртые данные пользователя, а также сгоревшие инструменты и прочие последствия.


Карта памяти

Устанавливаем утилиту alt-rootfs-installer

su -

apt-get install alt-rootfs-installer

Скачиваем образ с ядром rocknix для RG 552:

wget https://beta.altlinux.org/mobile/20240625/alt-mobile-phosh-rocknix-ad-20240625-aarch64.img.xz

или pine для RG 353M:

wget https://beta.altlinux.org/mobile/20240625/alt-mobile-phosh-pine-ad-20240625-aarch64.img.xz

Вставляем адаптер с картой памяти в порт USB и в режиме суперпользователя выполняем команду

Для Anbernic RG 552:

alt-rootfs-installer --image-in=/путь/до/образа.img.xz --media=/dev/sdX --target=anbernic-rg552-rk3399

Для Anbernic RG 353M:

alt-rootfs-installer --image-in=/путь/до/образа.img.xz --media=/dev/sdX --target=anbernic-rgxx3-rk3566

где /dev/sdX - путь до нашей карты памяти.

Встроенная память приставки

К превеликому сожалению, на текущий момент (31 мая 2024 года), для успешной загрузки и запуска ОС семейства АЛЬТ на данных устройствах придётся затереть стоковый Android вместе с загрузчиком, ибо ни с чем, кроме стоковой прошивки от самой Anbernic, а также костылями с разбивкой карты памяти и патчами для загрузчика, он нормально не дружат.

Нам понадобится карта памяти объёмом от 128 гигабайт, если мы хотим в будущем восстановить стоковый Android. Если же сохранения Android не планируется, то пункты с 4 по 7 можно проигнорировать.

0. Переводим устройство в режим Recovery, зажав при запуске клавишу увеличения громкости. Мы попадаем в меню восстановления системы.

Подключаем устройство к ПК через разъём, который подписан как OTG.

1. Устанавливаем android-tools:

su -

apt-get install andriod-tools

2. Вводим одну за другой команды, дожидаясь завершения выполнения каждой из них.

adb devices - Ищем наше устройство. Должна появиться строка к кодовым номером и названием "Recovery"

adb root - получаем привелегии суперпользователя на системе устройства

adb shell - заходим в устройство

3. Ищем блочное устройство памяти, которое будем затирать.

ls /dev/block/ | grep mmcblk

Встроенная память определится как /dev/block/mmcblkX, с кучей разделов.

4. Вставляем карту памяти во второй слот, она определится как /dev/block/mmcblkY, с одним разделом.

5. Монтируем раздел нашей карты памяти:

mount /dev/block/mmcblkYp1 /mnt

6, Создаём образ с содержимым eMMC

dd if=/dev/block/mmcblkX of=/mnt/android_rg552.img

Создание образа будет долгим (объём встроенной памяти - 64 гигабайта).

7. После завершения процесса отмонтируем карту памяти

umount /mnt

и вынимаем карту из приставки

8. Начинаем затирание встроенного ПЗУ

dd if=/dev/zero of=/dev/block/mmcblkX bs=4M

И ждём, пока утилита нам не скажет, что место закончилось.

Вот и всё. По идее, теперь Альт должен загрузиться с карты памяти без проблем.

Восстановление Android

Для восстановления Android нужно:

1. Вставить карту с образом Android во второй слот приставки;

2. Запустить терминал и перейти в режим рута;

su -

3. Посмотреть список блочных устройств:

lsblk

Накопитель объёмом 58,2G с названием, схожим с mmcblkXboot1, и есть наша встроенная память, а устройство вида /dev/mmcblkApB с одним разделом без точки монтирования - карта памяти с образом.

4. Примонтировать раздел карты памяти с образом:

mount /dev/mmcblkApB /mnt

5. Записать образ стокового Android обратно во встроенную память с помощью dd:

dd if=/mnt/android_rg552.img of=/dev/mmcblkX oflag=direct,sync iflag=fullblock bs=1M status=progress

6. По завершении записи выключить приставку, вынуть обе карты памяти, и включить устройство. Android должен начать загрузку.

Аппаратные проблемы

Охлаждение чипов ОЗУ

Вследствие то ли ошибки в расчётах, то ли недосмотра, медная площадка радиатора у RG 552 не прилегает к чипам оперативной памяти, в результате чего память начинает быстро и качественно "отваливаться" (замечено автором статьи уже на 3-х приставках), один из симптомов - нежелание утилиты dd записывать данные с флагом "sync" - процесс закончится ошибкой ввода-вывода. Причина неприлегания - крышка "процессора" (SoC), которая возвышается на над чипами памяти 1 миллиметр.

Если начали появляться подобные заскоки, то стоит провести "улучшение" системы охлаждения.

Инструменты

Для проведения профилактики нам понадобятся:

- Отвёртки с наконечниками +1,5 и Т6;
- Спиртовые салфетки или изопропиловый спирт и плотные салфетки, не оставляющие ворсинок (чтобы очистить поверхность чипов);
- Пластиковая карта, медиатор или набор для наклейки экрана смартфона;
- Термопрокладка толщиной 1,5 мм (под давлением она сожмётся и оформит плотный контакт между чипами и радиатором).
- Термопаста для процессора.

Процесс разбора

0. Вынимаем карты памяти из слотов.

1. Выкручиваем 4 винта отвёрткой Т6

2. Картой или медиатором проходим по периметру корпуса, отщёлкивая крышку приставки.

3. Приподняв крышку, аккуратно отсоединяем аккумулятор.

4. Также аккуратно отсоединяем все шлейфы и провода.

5. Откручиваем 11 чёрных шурупов по периметру материнской платы приставки с помощью отвёртки +1,5.

6. Вынимаем плату из корпуса и переворачиваем её.

7. Откручиваем 4 винта, держащие радиатор, и снимаем систему охлаждения.

8. Вот и наши чипы. Убираем старую термопрокладку, протираем чипы от грязи

9. Отрезаем от термопрокладки кусочки нужного размера и накладываем их на чипы памяти. На процессор наносим термопасту.

9. Прикручиваем систему охлаждения обратно к плате.

10. Собираем приставку в обратном порядке.