Пятница, 11 января, 2019 года

Перенос системы Raspbian с SD карты на USB флешку

  Продолжаю собирать статьи по одноплатнику у себя ибо прикупил Raspberry Pi 3 Model B+. Неудобно метаться по интернету в поисках нужной инфы, проще собрать все необходимое у себя в блоге и настраивать неспешно. Все статьи доступны по тегу Raspberry Pi.
Ссылки и авторы ниже

 

Рабочая инструкция по переносу системы Raspbian с SD карточки на USB флешку. Загрузочный раздел обязательно остается на SD карте.

Имеется Raspberry Pi 3 B+, Raspbian Stretch на SD карте 8gb (класс 10) и USB флешка Apacer на 8gb
Все делал на рабочей системе с Domoticz на борту.

Проверяем файловую систему:

sudo df -h

 

/dev/root это наша файловая система

/dev/mmcblk0p1 это загрузочный раздел на sd карте

Теперь вставим флешку в малину и проверим, распознается ли она:

sudo lsusb

 

Device 005 – это USB-флешка

Теперь проверим, распознается ли флешка операционной системой:

sudo tail /var/log/messages

 

в данном случае USB-флешка обозначается как /dev/sda

Теперь займемся файловой системой. Установим:

sudo apt-get install gdisk

Далее выполним разбиение:

sudo gdisk /dev/sda

«d» для удаления, «n» для создания нового раздела и «w», чтобы все это записать

 

Теперь редактируем файл /boot/cmdline.txt :

sudo nano /boot/cmdline.txt

приводим значение root=/dev/mmcblk0p2 на root=/dev/sda1

Добавляем в конце задержку в 5 секунд:

rootdelay=5

В итоге наш файл /boot/cmdline.txt должен выглядеть следующим образом:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline rootwait rootdelay=5

Теперь делаем форматирование, монтирование, установку rsync и копирование:

sudo mke2fs -t ext4 -L rootfs /dev/sda1
sudo mount /dev/sda1 /mnt
sudo apt-get install rsync
sudo rsync -axv / /mnt

Процесс копирования занимает минут 10-15

Затем надо ввести изменения в таблицу файловой системы, т.е. в /etc/fstab (на флэшке, а не карте).

выполняем:

sudo nano /mnt/etc/fstab

Добавляем следующую строчку:

/dev/sda1    /   ext4    defaults,noatime  0       1

И добавляем комментарий перед отсылкой к SD-карте:

#/dev/mmcblk0p2  /            ext4    defaults,noatime       0       1

Теперь это должно выглядеть как-то так:

Все готово. Для проверки того, откуда у меня сейчас запустится система, я создал на usb флешке файл /mnt/home/pi/hello.txt

sudo nano /mnt/home/pi/hello.txt

и добавил текст hello

Теперь перезагружаем raspberry:

sudo reboot

И смотрим, есть ли наш файл:

sudo nano /home/pi/hello.txt

Система запустилась с usb накопителя. Что я сделал дальше, так это переустановил Domoticz:

sudo curl -L install.domoticz.com | bash

И выбрал чистую установку (вся база и все устройства с настройками естественно сохраняются, но бэкап папки domoticz обязателен)

Опять перезапустил малину и все отлично работает. Теперь на usb флешке у нас система, а на sd карте остался загрузочный раздел.

P.S.

Чтобы вернуть запуск малины с sd карты, редактируем файл /boot/cmdline.txt (Через Windows, например)

sudo nano /boot/cmdline.txt

Меняем значение root=/dev/sda1 на root=/dev/mmcblk0p2

 

Источник

Оставьте комментарий!

Записи в RSS и Комментарии в RSS.