Bananian 15.08 и 16.04 (BananaPi) — Перенос файловой системы на SATA жесткий диск

(статья была написана 23 Августа 2015)

Для домашнего минисервера купил у китайских товарищей одноплатный ПК Banana Pi BPI-M1 Dual-core.

У данной платы, в отличии от популярного Raspberry Pi, на борту есть разъем SATA II, а так же Гигабитный сетевой порт. Это и послужило причиной моего выбора.

Несмотря на возможность подключения жесткого диска, наличие карты SD, для первоначальной настройки, обязательно. Да и в последствии, от нее избавиться не выйдет, так как, для старта (U-Boot) мини ПК, карточка будет нужна.

Подойдет любая полноразмерная SD или microSD через переходник, объемом не менее 2GB.

1. Прошивка образа OS Bananian на карту

Для Бананы существует множество Операционных Систем. Я выбрал Bananian. Это клон Debian с оптимизацией под BananaPi.

Статья актуальна для Bananian 15.08 и 16.04. Скачать образ можно на сайте bananian.org

Там же есть инструкция по прошивке карты при помощи ПК под Widnows, Linux или Mac OS X.

2. Стартовая настройка

Итак, система на карте. Вставляем карту в Банану, подключаем SSD, сеть, питание.

У меня, уже в шкафу под роутером, это выглядит так:

01_bananapi_ssd

 

Минитор я не подключал. Все делаю по SSH.

Логин/пароль на новой системе: root/pi.

После подключения видим следующее:

02_bananapi_start_screen

Далее, символ решетка «#» — это приглашение к вводу в терминале.

Сначала необходимо выполнить базовую настройку:

#bananian-config

Будет предложено, в том числе, сменить пароль, установить таймзону и локаль. Если какой-то вопрос не понятен, можно просто жать Enter.

Затем рекомендуется обновить систему командой:

#bananian-update

В дальнейшем  понадобится утилита mkimage. Установим её:

#apt-get install u-boot-tools

 

3. Перенос файловой системы на SSD

Команда:

#fdisk -l

…покажет нам как в системе именуются диски. По объему можно определить где карта, а где SSD. У меня SSD обозначен как «sda» (все дальнейшие действия для «sda«, если у вас по другому, то замените «sda» на свое обозначение).

Подготовим диск:

#fdisk /dev/sda
  • Удалим все разделы — нажать «d»
  • Создадим новый первичный раздел — нажать «n» (если оставляем все по умолчанию, то на все вопросы, которые возникнут при создании раздела, отвечаем нажатием Enter)
  • Применим сделанные изменения и выйдем из программы fdisk — нажать «w»

Отформатируем новый раздел в ext4:

#mkfs.ext4 /dev/sda1

Для переноса файлов на новый раздел выполняем последовательно:

#mkdir /tmp/1 /tmp/target
#mount /dev/mmcblk0p2 /tmp/1
#mount /dev/sda1 /tmp/target
#(cd /tmp/1; tar --backup -c *) |tar -C /tmp/target -xv

Установим новый порядок загрузки:

#mkdir /tmp/boot
#mount /dev/mmcblk0p1 /tmp/boot

…используем текстовый редактор nano для правки файла:

#nano /tmp/boot/boot.cmd

В открывшемся файле boot.cmd необходимо изменить подстроку root=/dev/mmcblk0p2 на root=/dev/sda1. Я нашел 2-а вхождения подстроки root=/dev/mmcblk0p2, соответственно, в обоих местах, поменял ее на root=/dev/sda1 (редактор nano не переносит длинные строки, поэтому, для нахождения второго вхождения, пришлось понажимать клавишу «вправо»).

Используем mkimage для компиляции файла boot.scr:

#mkimage -C none -A arm -T script -d /tmp/boot/boot.cmd /tmp/boot/boot.scr

И, наконец:

#sync
#shutdown -r now

После перегрузки мини ПК, вновь подключаемся по SSH, и проверяем наличие системы на SSD:

#df -h

У меня теперь выглядит так:

03_bananapi_ssd_fs

 

PS При написании статьи использовал инструкцию для предыдущей версии  bananian 15.04

Leave a comment