tolst0v
tolst0v
22 просмотров0 комментариев

Клонирование ОС с SD-карты на eMMC

Введение #

На одноплатном компьютере Repka Pi 4 операционная система, как правило, запускается с SD-карты — это удобно для начальной настройки и тестирования. Однако для постоянной эксплуатации SD-карты не подходят: они имеют ограниченный срок службы и сравнительно низкую производительность. Встроенная память eMMC — более надёжное и быстрое хранилище, и именно туда желательно переносить ОС после первичной настройки.

Устройство Repka Pi 4 может поставляться в разных модификациях:

  • с съёмным eMMC-модулем, подключённым к плате,

  • с припаянной eMMC, физически неотделимой от устройства.

Даже в случае съёмного модуля, если Repka Pi 4 уже установлен в корпус, доступ к eMMC может быть затруднён — каждый раз разбирать устройство ради прошивки вручную неудобно и рискованно. В случае же припаянной eMMC перезапись может быть невозможна без аппаратного вмешательства (например, отпайки).

Именно поэтому особенно полезна утилита nand-sata-install.sh. Она позволяет:

  • перенести root-файловую систему с SD-карты на eMMC без необходимости извлекать накопитель,

  • правильно настроить загрузчик и разделы,

  • избежать ручных действий, потенциально опасных для устройства.

В этой статье мы рассмотрим, как воспользоваться скриптом nand-sata-install.sh на Repka Pi 4, чтобы безопасно и эффективно перенести операционную систему с SD-карты на eMMC, независимо от конфигурации устройства.

Назначение и возможности скрипта #

Скрипт nand-sata-install.sh создан для того, чтобы упростить перенос установленной операционной системы с SD-карты на внутреннюю память eMMC на устройствах Repka Pi 4.

В типичной ситуации вы сначала устанавливаете систему на SD-карту, настраиваете окружение, добавляете нужные пакеты и конфигурации — а затем хотите перенести эту готовую, рабочую систему на eMMC, чтобы устройство загружалось быстрее и работало надёжнее. Именно этот процесс и автоматизирует скрипт.

Что делает утилита:

  • предлагает выбрать, куда перенести систему;

  • полностью копирует текущее содержимое;

  • настраивает систему так, чтобы после перезагрузки она работала уже с eMMC.

Пользователю не нужно вручную создавать разделы, копировать файлы или редактировать системные настройки — скрипт делает всё это сам, в понятной пошаговой форме. Это особенно удобно, если eMMC находится внутри корпуса или припаян, и нет возможности просто вынуть накопитель и прошить его отдельно.

По сути, nand-sata-install.sh — это удобный и надёжный способ переноса установленной системы с одного накопителя на другой, без необходимости выполнять этот процесс вручную.

Требования и меры предосторожности #

Перед запуском скрипта nand-sata-install.sh важно убедиться, что система готова к переносу, а все возможные риски сведены к минимуму. Это поможет избежать потери данных и обеспечить успешную загрузку с eMMC после завершения процесса.

Необходимо соблюсти следующие требования:

  • Устройство Repka Pi 4, загруженное с SD-карты.
    Запуск скрипта предполагает, что текущая система работает с SD-карты.

  • Наличие eMMC-накопителя.
    Убедитесь, что eMMC установлен (встроен или подключён модуль) и доступен системе. Для проверки можно использовать команду lsblk.

  • Доступ к терминалу с правами суперпользователя.
    Скрипт требует прав root для выполнения операций с разделами и файловыми системами. Используйте sudo или запустите сессии от root.

  • Достаточный объём памяти на eMMC.
    Размер eMMC должен быть больше или равен объёму данных на SD-карте. Иначе перенос может завершиться с ошибкой или некорректной загрузкой.

Но также не стоит забывать о мерах предосторожности:

  • Убедитесь, что выбрано правильное целевое устройство.
    В процессе работы скрипт предложит выбрать диск, на который будет перенесена система. Важно внимательно проверить имя устройства, чтобы не стереть данные с другого накопителя.

  • Сделайте резервную копию.
    Хотя перенос в большинстве случаев проходит без ошибок, настоятельно рекомендуется сохранить важные данные перед запуском скрипта.

  • Не прерывайте процесс.
    Во время копирования не отключайте питание, не извлекайте SD-карту и не завершайте работу вручную. Прерывание может оставить систему в нерабочем состоянии.

  • Проверьте питание устройства.
    Обеспечьте стабильный источник питания на время работы скрипта. Внезапное отключение может повредить файловую систему на eMMC.

  • Работайте в терминале напрямую.
    Наиболее надёжный способ — запуск скрипта через монитор и клавиатуру, подключённые к Repka Pi 4. При использовании SSH лучше подключаться по Ethernet или надёжному Wi-Fi. Избегайте нестабильных соединений.

Инструкция по использованию #

Для более глубокого изучения скрипта с клонированием ОС можно перейти в наш репозиторий с данной утилитой на GitFlic — ссылка

Скрипт nand-sata-install.sh запускается в интерактивном режиме и используется для переноса установленной операционной системы с SD-карты на внутреннюю память eMMC. Способ запуска зависит от того, какой дистрибутив установлен на устройстве.

Если вы используете дистрибутив Repka OS, скрипт уже встроен в систему и доступен через конфигурационное меню repka-config. Чтобы начать перенос, откройте repka-config, перейдите в раздел “1 System Options“ и выберите пункт «OS Copying» и следуйте дальнейшим инструкциям. Это наиболее простой и рекомендованный способ запуска в рамках Repka OS.

Если на устройстве используется другой дистрибутив, например Debian, Kali Linux или DietPi, скрипт потребуется запускать вручную. Для этого нужно открыть терминал, перейти в каталог, где находится файл nand-sata-install.sh, и выполнить команду:

sudo ./nand-sata-install.sh

После запуска скрипт отобразит список доступных накопителей и предложит выбрать тот, на который будет перенесена система. Будьте внимательны при выборе: сразу после указания устройства скрипт удалит все существующие разделы на выбранном диске, без дополнительного подтверждения.

Далее будет создан новый раздел, отформатированный в ext4, и начнётся копирование текущей системы с помощью rsync.

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

  • В Repka OS используются два варианта:

    • стандартный режим: /boot/spl/u-boot-sunxi-with-spl.bin

    • тихий режим: /boot/spl/u-boot-sunxi-with-spl-silent.bin

  • В Diet Pi путь к загрузчику:
    /usr/lib/linux-u-boot-current-repka-pi4-optimal/u-boot-sunxi-with-spl.bin

  • В Kali Linux:
    /usr/lib/u-boot/repka-pi4/u-boot-sunxi-with-spl.bin

  • В Debian:
    /boot/spl/u-boot-sunxi-with-spl.bin

В конце работы скрипт выведет сообщение об успешном завершении. Автоматическая перезагрузка не выполняется, поэтому устройство необходимо перезагрузить вручную. После выключения можно извлечь SD-карту (если планируется загрузка только с eMMC), затем включить питание — система должна загрузиться уже с внутренней памяти.

Возможные ошибки и их устранение #

Несмотря на простоту использования, при работе скрипта nand-sata-install.sh могут возникнуть ситуации, в которых перенос не удаётся завершить. Ниже приведены наиболее вероятные ошибки и рекомендации по их устранению.

Ошибка Причина Решение
Не найдено ни одного устройства eMMC Скрипт не обнаружил ни одного eMMC-устройства, отличного от текущего загрузочного. Убедитесь, что eMMC подключен и определяется системой (через lsblk). Проверьте, что загрузка выполнена с SD-карты.
Утилита не смогла определить ОС и путь к загрузчику U-Boot Скрипт не нашёл сигнатуры поддерживаемых дистрибутивов (Repka OS, Debian, Kali, DietPi). Используйте поддерживаемую систему или добавьте недостающие файлы вручную. Скрипт не работает с неподдерживаемыми сборками.
Недостаточно места на eMMC для переноса Объём eMMC меньше, чем объём используемых данных на SD-карте (с учётом резерва). Очистите SD-карту от ненужных данных или используйте eMMC большего объёма.
Устройство не загружается после переноса Конфигурация загрузчика некорректна или не был прошит U-Boot. Убедитесь, что U-Boot присутствует по определенному для вашего дистрибутива пути, указанному в разделе “Инструкция по использованию“.

Комментарии (0)

Для участия в обсуждении Вы должны быть авторизованным пользователем
Темы

Навигация

ВойтиРегистрация