Banana Pi BPI-R1 построена на SoC Allwinner A20, а это означает что SATA порт присутствующий на плате является полноценным SATA портом поддерживающимся на уровне SoC, а не USB-SATA мостом, как у многих других плат на более современных SoC. Поддержка SATA на уровне SoC - означает большую скорость чтения/записи и более уверенные IOPS что положительно сказывается на скорости работы системы в повседневном использовании.

Итак, присупим к подключению HDD (можно и SSD, можно и USB флешку подключить как постоянный диск). Пример приводится на базе ОС Bananian, но в случае с другими ОС инструкция аналогична. Предполагаю что у Вас уже установлена, запущена и базово сконфигурирована ОС Bananian (при первом старте системы запустите скрипт bananian-config и следуя мастеру проведите базовую конфигурацию системы под Вашу плату).

Определение диска

Проверим, как и определился вообще Ваш диск в системе, посмотреть это можно в выводе системной утилиты dmesg, для удобства - можно отфильтровать вывод grep’ом

[email protected] ~ # dmesg | grep sda [ 2.363916] sd 0:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/232 GiB) [ 2.381217] sd 0:0:0:0: [sda] Write Protect is off [ 2.389997] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00 [ 2.398099] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 2.448683] sda: sda1 [ 2.454614] sd 0:0:0:0: [sda] Attached SCSI disk [email protected] ~ #

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

[email protected] ~ # fdisk -l Disk /dev/sda: 232.9 GiB, 250059350016 bytes, 488397168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xc618090a Device Boot Start End Sectors Size Id Type /dev/sda1 63 488397167 488397105 232.9G c W95 FAT32 (LBA) Disk /dev/mmcblk0: 7.4 GiB, 7948206080 bytes, 15523840 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x0ccea0b3 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 2048 43007 40960 20M 83 Linux /dev/mmcblk0p2 43008 15523839 15480832 7.4G 83 Linux

Видим диск /dev/sda с одним единственным разделом FAT32 (с такой FS обычно поставляются новые диски), удалим текущий раздел и создадим на его месте новый при помощи fdisk.

Создание раздела [email protected] ~ # fdisk /dev/sda Welcome to fdisk (util-linux 2.25.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): d Selected partition 1 Partition 1 has been deleted. Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-488397167, default 2048): 2048 Last sector, +sectors or +size{K,M,G,T,P} (2048-488397167, default 488397167): 488397167 Created a new partition 1 of type 'Linux' and of size 232.9 GiB. Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. [email protected] ~ #

d - удаляет раздел, если разделов на диске несколько - выполняем несколько раз.
n - опция создания нового раздела.

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

w - запись внесенный изменений в таблицу разделов диска.

Форматирование

Теперь самое время отформатировать наш диск в ext4 при помощи mkfs.ext4 или mke4fs -t ext4

[email protected] ~ # mkfs.ext4 /dev/sda1 mke2fs 1.42.12 (29-Aug-2014) Creating filesystem with 61049390 4k blocks and 15269888 inodes Filesystem UUID: 9ac7c40d-323a-424e-89d3-8718c224ed78 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done [email protected] ~ # Монтирование

Монтирование разделов диска в файловой системе Linux это повод для отдельной и не самой скромной темы, но мы рассмотрим самый обычный случай монтирования раздела диска с ext4 в /mnt/MyHDD/.

[email protected]:~# mkdir /mnt/MyHDD [email protected]:~# mount -t ext4 /dev/sda1 /mnt/MyHDD/ [email protected]:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/root 7.3G 934M 6.1G 14% / devtmpfs 486M 0 486M 0% /dev tmpfs 98M 220K 97M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 195M 0 195M 0% /run/shm /dev/sda1 232.9G 172M 232.8G 0% /mnt/MyHDD Монтирование при загрузке (fstab)

Для автоматического монтирования диска при каждой загрузке просто добавте в файл /etc/fstab следующую строку.

/dev/sda1 /mnt/MyHDD ext4 defaults 0 1

Так же, можно (и нужно) монтировать диск с подходящими параметрами.
default - Параметры “по умолчанию”.
nofail - Если устройство не всегда подключено к плате, добавте эту строку.
errors=remount-ro - При возникновении ошибок диска - примонтировать в режиме read-only
user,rw,umask=000 - Используются для монтирования FAT32 разделов.

/dev/sda1 /mnt/MyHDD ext4 defaults,nofail,errors=remount-ro 0 1