Im Artikel Aufbau des Banana Pi Mini-NAS habe ich beschrieben, aus welchen Teilen und wie die Hardware des Systems zusammengesetzt wird. An dieser Stelle beschreibe ich nun, wie man die Festplatte des Systems so einrichtet, dass sie genutzt werden kann.
Voraussetzungen
Ich gehe davon aus, dass alles angeschlossen ist, und als Betriebssystem Bananian Linux verwendet und als root
gearbeitet wird. Der Nutzer root
hat im Bananian Linux standardmäßig das Passwort pi
, welches natürlich geändert werden sollte.
Das Kommando bananian-config
sollte auch schon gelaufen und das System somit konfiguriert sein. Es wäre auch kein Fehler, wenn die Pakete mit apt-get update
und apt-get upgrade
auf dem aktuellsten Stand wären.
bananian-config apt-get update apt-get upgrade
Prüfen ob die Festplatte richtig angeschlossen ist
Über das folgende Kommando sieht man, welche Platten im System erkannt werden:
fdisk -l
Die Ausgabe sieht in etwa so aus:
Disk /dev/sda: 750.2 GB, 750156374016 bytes 255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 Disk /dev/sda doesn't contain a valid partition table # Hier stehen jetzt noch die Daten für die SD-Card, aber die können wir ignorieren.
Wenn die Festplatte fabrikneu ist, dann meldet fdisk
: Disk /dev/sda doesn't contain a valid partition table
(Zeile 8). So soll es sein. Gleichzeitig sieht man hier, dass /dev/sda
die Platte ist, die wir suchen.
Partition anlegen
Jetzt legen wir eine Partition auf der Platte an (ich verwende den kompletten Speicherplatz für eine einzige, primäre Partition):
fdisk /dev/sda
Ausgabe:
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x7c4bb76c. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) The device presents a logical sector size that is smaller than the physical sector size. Aligning to a physical sector (or optimal I/O) size boundary is recommended, or performance may be impacted. Command (m for help):
Klick auf n
legt die neue Partition an. Die Rückfragen kann man einfach mit [RETURN]
beantworten, wenn man es genau so machen möchte, wie ich es gemacht habe:
Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): [RETURN] Partition number (1-4, default 1): [RETURN] First sector (2048-1465149167, default 2048): [RETURN] Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-1465149167, default 1465149167): [RETURN] Using default value 1465149167
Bisher hat alles nur im Speicher stattgefunden. Jetzt müssen die Änderungen aber auf die Platte geschrieben werden. Das macht das Kommando w
:
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
Damit ist die Festplatte nur partitioniert. Jetzt braucht sie ein Dateisystem, doch zuerst prüfen wir nochmals ob alles korrekt lief.
Partitionierung prüfen
Es wird wieder das Kommando fdisk -l verwendet:
fdisk -l
Doch das Ergebnis sollte sich unterscheiden!
Disk /dev/sda: 750.2 GB, 750156374016 bytes 81 heads, 63 sectors/track, 287115 cylinders, total 1465149168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x7c4bb76c Device Boot Start End Blocks Id System /dev/sda1 2048 1465149167 732573560 83 Linux # Ignorierte Daten der SD-Card...
fdisk
zeigt in Zeile 9, dass die Festplatte nun eine gültige Partition enthält. Weiter zum Dateisystem.
Festplatte formatieren
Damit die Festplatte ein gültiges Dateisystem erthält, muss man die gerade angelegte Partition formatieren. Ich verwende hierfür das Dateisystem Ext4:
mkfs.ext4 /dev/sda1
Ausgabe:
mke2fs 1.42.5 (29-Jul-2012) Dateisystem-Label= OS-Typ: Linux Blockgröße=4096 (log=2) Fragmentgröße=4096 (log=2) Stride=0 Blöcke, Stripebreite=0 Blöcke 45793280 Inodes, 183143390 Blöcke 9157169 Blöcke (5.00%) reserviert für den Superuser Erster Datenblock=0 Maximale Dateisystem-Blöcke=0 5590 Blockgruppen 32768 Blöcke pro Gruppe, 32768 Fragmente pro Gruppe 8192 Inodes pro Gruppe Superblock-Sicherungskopien gespeichert in den Blöcken: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000 Platz für Gruppentabellen wird angefordert: erledigt Inode-Tabellen werden geschrieben: erledigt Erstelle Journal (32768 Blöcke): erledigt Schreibe Superblöcke und Dateisystem-Accountinginformationen: erledigt mkfs.ext4 /dev/sda1 5,60s user 2,00s system 49% cpu 15,479 total
Damit ist die Festplatte jetzt partitioniert und formatiert. Jetzt muss man dem Bananian Linux nur noch sagen, wie sie verwendet werden soll. Das macht der nächste Schritt.
Einbinden der formatierten Partition
In meinem Fall möchte ich die Platte im Verzeichnis /mnt/nas
zur Verfügung haben. Also wird dieses Verzeichnis zuerst erstellt:
mkdir /mnt/nas
Dann muss man die Platte in der Datei /etc/fstab
anmelden, damit sie beim Systemstart direkt verwendet werden kann. Dazu muss man die Datei mit einem beliebigen Editor (z.B. vi
oder nano
) bearbeiten:
vi /etc/fstab
Die folgende Zeile muss in diese Datei eingefügt werden (am Ende):
/dev/sda1 /mnt/nas ext4 defaults 0 0
Dann die Datei speichern und das Programm beenden: ( vi: [ESC]:wq[RETURN]
/ nano: Strg-O, Strg-X
)
Zum Test können wir die Platte nun mounten und uns das Ergebnis ansehen:
mount -a blkid -o list -w /dev/null
Ausgabe:
device fs_type mount point -------------------------------------- /dev/sda1 ext4 /mnt/nas /dev/mmcblk0p1 vfat (not mounted) /dev/mmcblk0p2 ext4 /
Die Spalten label
und UUID
habe ich der Übersichtlichkeit halber hier entfernt. Zeile 3 zeigt aber, dass die Partition korrekt gemountet wurde.
Somit ist die Platte nun partitioniert, formatiert und gemountet. Damit kann sie für weitere Zwecke verwendet werden.