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

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


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


Подход 1 - простой.
== Статус ==
 
Возможность запуска была протестирована на следующих моделях приставок:
 
на базе 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, зажав при запуске клавишу увеличения громкости. Мы попадаем в меню восстановления системы.


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


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


<code>
su -
su -
apt-get install andriod-tools
apt-get install andriod-tools
</code>


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


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


Строка 22: Строка 149:


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


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


<code>
ls /dev/block/ | grep mmcblk
ls /dev/block/ | grep mmcblk
</code>
Встроенная память определится как  <tt>/dev/block/mmcblkX</tt>,  с кучей разделов.
4. Вставляем карту памяти во второй слот, она определится как  <tt>/dev/block/mmcblkY</tt>, с одним разделом.
5. Монтируем раздел нашей карты памяти:
<code>
mount /dev/block/mmcblkYp1 /mnt
</code>
6, Создаём образ с содержимым eMMC
<code>
dd if=/dev/block/mmcblkX of=/mnt/android_rg552.img
</code>
Создание образа будет долгим (объём встроенной памяти - 64 гигабайта).
7. После завершения процесса отмонтируем карту памяти
<code>
umount /mnt
</code>
и вынимаем карту из приставки


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


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


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


Подход 2 - Сложный.
== Восстановление Android ==
 
Для восстановления Android нужно:
 
1. Вставить карту с образом Android во второй слот приставки;
 
2. Запустить терминал и перейти в режим рута;
 
<code>
su -
</code>
 
3. Посмотреть список блочных устройств:
 
<code>
lsblk
</code>
 
Накопитель объёмом 58,2G с названием, схожим с mmcblkXboot1, и есть наша встроенная память, а устройство вида /dev/mmcblkApB с одним разделом без точки монтирования - карта памяти с образом. 
 
4. Примонтировать раздел карты памяти с образом:
 
<code>
mount /dev/mmcblkApB /mnt
</code>
 
5. Записать образ стокового Android обратно во встроенную память с помощью dd:


При применении данного подхода можно морально попрощаться с гарантией, а в случае неправильного выполнения действий - и с самой приставкой :)
<code>
dd if=/mnt/android_rg552.img of=/dev/mmcblkX oflag=direct,sync iflag=fullblock bs=1M status=progress
</code>


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


1. Выкручиваем четыре шестигранных винта на задней крышке
== Аппаратные проблемы ==


2. Снимаем крышку, аккуратно отщёлкивая защёлки.
=== Охлаждение чипов ОЗУ ===


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


4. КРАЙНЕ АККУРАТНО отключаем все провода и шлейфы.
Если начали появляться подобные заскоки, то стоит провести "улучшение" системы охлаждения.


5. Аккуратно отключаем аккумулятор и переворачиваем плату.
==== Инструменты ====


6. Откручиваем 4 винтика, которые держат радиатор. Возвращаем плату в прежнее положение и снимаем радиатор с кулером.
Для проведения профилактики нам понадобятся:


7. У верхнего правого угла платы находим надпись "DEBUG". Рядом с ней находятся 4 контактные площадки.
- Отвёртки с наконечниками +1,5 и Т6;


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


9. Выводим проводки наружу. Можно проделать отверстие или просто аккуратно обрезать пластик по краю корпуса
- Пластиковая карта, медиатор или набор для наклейки экрана смартфона;


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


11. Подключаем проводочки согласно распиновке к TTL программатору.
- Термопаста для процессора.


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


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


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


1. Записываем на карту памяти образ ALT Mobile
2. Картой или медиатором проходим по периметру корпуса, отщёлкивая крышку приставки.


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


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


  fdt ../dtb/rockchip/rk3399-rockpro64-v2.dtb
5. Откручиваем 11 чёрных шурупов по периметру материнской платы приставки с помощью отвёртки +1,5.


В строчке 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
6. Вынимаем плату из корпуса и переворачиваем её.


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


5. Подключаемся к TTL консоли: pyserial-miniterm --eol CRLF --raw /dev/ttyUSB0 1500000
8. Вот и наши чипы. Убираем старую термопрокладку, протираем чипы от грязи


6. Включаем приставку и сразу же быстро нажимаем сочетание клавиш Ctrl+C на клавиатуре.
9. Отрезаем от термопрокладки кусочки нужного размера и накладываем их на чипы памяти. На процессор наносим термопасту.


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


8. Набираем в этой консоли следующие команды:
10. Собираем приставку в обратном порядке.


  mmc dev 1 - переключаем загрузочное устройство
{{Category navigation|title=ALT Mobile|category=ALT Mobile|sortkey={{SUBPAGENAME}}}}
  run bootcmd_mmc1 - запускаем загрузку с карты памяти


9. Выбираем нужный пункт загрузки с помощью цифр и грузим ОС
[[Категория: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. Собираем приставку в обратном порядке.