From b472e2f2dd646c8d3325b0607a46f976d1f8334d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9E=D0=BB=D0=B5=D0=B3=20=D0=A9=D0=B0=D0=B2=D0=B5=D0=BB?= =?UTF-8?q?=D0=B5=D0=B2?= Date: Tue, 25 Jun 2024 03:02:19 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20update=20portable-game-consoles,=20?= =?UTF-8?q?=D0=A1R=20#1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vitepress/config.mts | 2 + .vitepress/theme/index.ts | 4 +- .../portable-game-consoles/index.md | 137 ++++++++++++------ package-lock.json | 13 +- package.json | 3 +- 5 files changed, 113 insertions(+), 46 deletions(-) diff --git a/.vitepress/config.mts b/.vitepress/config.mts index 3cd9a80..7247668 100644 --- a/.vitepress/config.mts +++ b/.vitepress/config.mts @@ -2,6 +2,7 @@ import { defineConfigWithTheme } from 'vitepress' import { nav, sidebar } from './data/navigations' import markdownTimeline from "vitepress-markdown-timeline" +import { tabsMarkdownPlugin } from 'vitepress-plugin-tabs' // https://vitepress.dev/reference/site-config export default defineConfigWithTheme({ @@ -205,6 +206,7 @@ export default defineConfigWithTheme({ }, config: (md) => { md.use(markdownTimeline); + md.use(tabsMarkdownPlugin) }, }, }) diff --git a/.vitepress/theme/index.ts b/.vitepress/theme/index.ts index 2440f39..7fe7fa4 100644 --- a/.vitepress/theme/index.ts +++ b/.vitepress/theme/index.ts @@ -15,6 +15,7 @@ import { import type { Options } from '@nolebase/vitepress-plugin-enhanced-readabilities' import { InjectionKey } from '@nolebase/vitepress-plugin-enhanced-readabilities' import { options as NolebaseEnhancedReadabilitiesOptions } from './plugins/enhanced-readabilities/index' +import { enhanceAppWithTabs } from 'vitepress-plugin-tabs/client' import './styles/style.css' import './styles/theme.css' @@ -32,7 +33,8 @@ export default { }, enhanceApp({ app, router, siteData }) { app.provide(InjectionKey, NolebaseEnhancedReadabilitiesOptions as Options) - app.component('contribution', AMWContribution); + app.component('contribution', AMWContribution) app.component('Video', AMWVideo) + enhanceAppWithTabs(app) } } satisfies Theme diff --git a/docs/instalations/portable-game-consoles/index.md b/docs/instalations/portable-game-consoles/index.md index 34206ec..e7d61a2 100644 --- a/docs/instalations/portable-game-consoles/index.md +++ b/docs/instalations/portable-game-consoles/index.md @@ -5,37 +5,54 @@ Anbernic для запуска на них ОС ALT, в частности, ALT Возможность запуска была протестирована на следующих моделях приставок: -`- Anbernic RG 552`\ -`- Anbernic RG 353M` +- Anbernic RG 552 +- Anbernic RG 353M ## Подготовка карты памяти {#подготовка_карты_памяти} -Устанавливаем утилиту alt-rootfs-installer +Устанавливаем утилиту `alt-rootfs-installer` -`su -` +```shell +su - +apt-get install alt-rootfs-installer +``` -`apt-get install alt-rootfs-installer` +:::tabs +== RG552 -Для RG552 Скачиваем образ с ядром rocknix: +Скачиваем образ с ядром rocknix: -`wget `[`https://beta.altlinux.org/mobile/latest/20240623/alt-mobile-phosh-rocknix-ad-20240623-aarch64.img.xz`](https://beta.altlinux.org/mobile/latest/20240623/alt-mobile-phosh-rocknix-ad-20240623-aarch64.img.xz) +```shell +wget https://beta.altlinux.org/mobile/latest/20240623/alt-mobile-phosh-rocknix-ad-20240623-aarch64.img.xz +``` -Для RG353M - образ с pine: +Вставляем адаптер с картой памяти в порт USB -`wget `[`https://beta.altlinux.org/mobile/latest/20240623/alt-mobile-phosh-pine-ad-20240623-aarch64.img.xz`](https://beta.altlinux.org/mobile/latest/20240623/alt-mobile-phosh-pine-ad-20240623-aarch64.img.xz) +```shell +su - +alt-rootfs-installer --image-in=/путь/до/образа.img.xz --media=/dev/sdX --target=anbernic-rg552-rk3399 +``` -Вставляем адаптер с картой памяти в порт USB и в режиме -суперпользователя выполняем команду +== RG353M -Для Anbernic RG 552: +Скачиваем образ с ядром pine: -`alt-rootfs-installer --image-in=/путь/до/образа.img.xz --media=/dev/sdX --target=anbernic-rg552-rk3399` +```shell +wget https://beta.altlinux.org/mobile/latest/20240623/alt-mobile-phosh-pine-ad-20240623-aarch64.img.xz +``` -Для Anbernic RG 353M: +Вставляем адаптер с картой памяти в порт USB -`alt-rootfs-installer --image-in=/путь/до/образа.img.xz --media=/dev/sdX --target=anbernic-rgxx3-rk3566` +```shell +su - +alt-rootfs-installer --image-in=/путь/до/образа.img.xz --media=/dev/sdX --target=anbernic-rgxx3-rk3566 +``` -где /dev/sdX - путь до нашей карты памяти. +::: + +:::info +где `/dev/sdX` - путь до нашей карты памяти. +::: ## Подготовка приставки {#подготовка_приставки} @@ -49,32 +66,51 @@ Anbernic для запуска на них ОС ALT, в частности, ALT памяти объёмом от 128 гигабайт, чтобы в будущем восстановить стоковый Android. Если же сохранения Android не планируется, то пункты с 4 по 7 можно проигнорировать. -0\. Переводим устройство в режим Recovery, зажав при запуске клавишу +Переводим устройство в режим Recovery, зажав при запуске клавишу увеличения громкости. Мы попадаем в меню восстановления системы. -Подключаем устройство к ПК через разъём, который подписан как OTG. +0. Подключаем устройство к ПК через разъём, который подписан как OTG. Все дальнейшие действие производим из под `root`: -1\. Устанавливаем android-tools: +```shell +su - +``` -`su -` +1\. Устанавливаем `android-tools`: -`apt-get install andriod-tools` +```shell +apt-get install andriod-tools +``` 2\. Вводим одну за другой команды, дожидаясь завершения выполнения каждой из них. -`adb devices` - Ищем наше устройство. Должна появиться -строка к кодовым номером и названием \"Recovery\" -`adb root` - получаем привелегии суперпользователя на системе устройства +Ищем наше устройство. Должна появиться +строка к кодовым номером и названием \"Recovery\": + +```shell +adb devices +``` + +Получаем привелегии суперпользователя на системе устройства: -`adb shell` - заходим в устройство. +```shell +adb root +``` + +Заходим в устройство: + +```shell +adb shell +``` 3\. Ищем блочное устройство памяти, которое будем затирать. -`ls /dev/block/ | grep mmcblk` +```shell +ls /dev/block/ | grep mmcblk +``` -Встроенная память определится как `/dev/block/mmcblkX`, с кучей +Встроенная память определится как `/dev/block/mmcblkX`, с большим количеством разделов. 4\. Вставляем карту памяти во второй слот, она определится как @@ -82,23 +118,33 @@ Android не планируется, то пункты с 4 по 7 можно п 5\. Монтируем раздел нашей карты памяти: -`mount /dev/block/mmcblkYp1 /mnt` +```shell +mount /dev/block/mmcblkYp1 /mnt +``` 6, Создаём образ с содержимым eMMC: -`dd if=/dev/block/mmcblkX of=/mnt/android_rg552.img` +```shell +dd if=/dev/block/mmcblkX of=/mnt/android_rg552.img +``` +:::info Создание образа будет долгой (объём встроенной памяти - 64 гигабайта). +::: 7\. После завершения процесса отмонтируем карту памяти. -`umount /mnt` +```shell +umount /mnt +``` и вынимаем карту из приставки 8\. Начинаем затирание встроенного ПЗУ -`dd if=/dev/zero of=/dev/block/mmcblkX bs=4M` +```shell +dd if=/dev/zero of=/dev/block/mmcblkX bs=4M +``` И ждём, пока утилита нам не скажет, что место закончилось. @@ -109,28 +155,33 @@ Android не планируется, то пункты с 4 по 7 можно п Для восстановления Android нужно: -1\. Вставить карту с образом Android во второй слот приставки; - -2\. Запустить терминал и перейти в режим рута; +0\. Вставить карту с образом Android во второй слот приставки. Запустить терминал и перейти в режим рута: -`su -` +```shell +su - +``` -3\. Посмотреть список блочных устройств: +1\. Посмотреть список блочных устройств: -`lsblk` +```shell +lsblk +``` Накопитель объёмом 58,2G с названием, схожим с mmcblkXboot1, и есть наша встроенная память, а устройство вида /dev/mmcblkApB с одним разделом без точки монтирования - карта памяти с образом. -4\. Примонтировать раздел карты памяти с образом: +2\. Примонтировать раздел карты памяти с образом: -`mount /dev/mmcblkApB /mnt` +```shell +mount /dev/mmcblkApB /mnt +``` -5\. Записать образ стокового Android обратно во встроенную память с +3\. Записать образ стокового Android обратно во встроенную память с помощью dd: -`dd if=/mnt/android_rg552.img of=/dev/mmcblkX oflag=direct,sync iflag=fullblock bs=1M status=progress` +```shell +dd if=/mnt/android_rg552.img of=/dev/mmcblkX oflag=direct,sync iflag=fullblock bs=1M status=progress +``` -6\. По завершении записи выключить приставку, вынуть обе карты памяти, и -включить устройство. Android должен начать загрузку. +По завершении записи выключить приставку, вынуть обе карты памяти, и включить устройство. Android должен начать загрузку. diff --git a/package-lock.json b/package-lock.json index b32cf37..64b6fb9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,8 @@ "devDependencies": { "@nolebase/vitepress-plugin-enhanced-readabilities": "^1.27.2", "vitepress": "^1.0.2", - "vitepress-markdown-timeline": "^1.2.1" + "vitepress-markdown-timeline": "^1.2.1", + "vitepress-plugin-tabs": "^0.5.0" } }, "node_modules/@algolia/autocomplete-core": { @@ -1676,6 +1677,16 @@ "dayjs": "^1.11.7" } }, + "node_modules/vitepress-plugin-tabs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/vitepress-plugin-tabs/-/vitepress-plugin-tabs-0.5.0.tgz", + "integrity": "sha512-SIhFWwGsUkTByfc2b279ray/E0Jt8vDTsM1LiHxmCOBAEMmvzIBZSuYYT1DpdDTiS3SuJieBheJkYnwCq/yD9A==", + "dev": true, + "peerDependencies": { + "vitepress": "^1.0.0-rc.27", + "vue": "^3.3.8" + } + }, "node_modules/vue": { "version": "3.4.30", "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.30.tgz", diff --git a/package.json b/package.json index 2ed07fe..f9864f7 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,8 @@ "devDependencies": { "@nolebase/vitepress-plugin-enhanced-readabilities": "^1.27.2", "vitepress": "^1.0.2", - "vitepress-markdown-timeline": "^1.2.1" + "vitepress-markdown-timeline": "^1.2.1", + "vitepress-plugin-tabs": "^0.5.0" }, "scripts": { "docs:dev": "vitepress dev",