Введение #
На одноплатном компьютере 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 присутствует по определенному для вашего дистрибутива пути, указанному в разделе “Инструкция по использованию“. |