HowTo: Kali auf einem Raspberry Pi – Teil 2

Einführung

Die Kali Linux Installation ist soweit fertiggestellt und läuft. Wer jetzt df -h aufruft, wird sich wundern, es existiert eine FAT32 Partition und eine Linux Partition, aber keine SWAP Partition, zudem sind noch große Teile der SD-Karte unbenutzt.

root@kali:~# df -h
Filesystem  Size  Used  Avail  Use%  Mounted on
rootfs      2.8G  1.4G  1.3G   52%   /
/dev/root   2.8G  1.4G  1.3G   52%   /
devtmpfs    219M  0     219M   0%    /dev
tmpfs       44M   508K  44M    2%    /run
tmpfs       5.0M  0     5.0M   0%    /run/lock
tmpfs       88M   0     88M    0%    /run/shm

Hier hilft es nur die Partitionen anzupassen, entweder man nimmt eine Partitionierung Software/Live-CD oder es wird von Hand über den Raspberry Pi gemacht. Da die Installation aktuell noch relativ frisch ist und nicht viel kaputt gehen kann braucht auch keine Datensicherung erstellt werden. Falls bereits viele Änderungen erfolgt sind, solle eine Datensicherung erstellt werden. Ich übernehme keine Haftung für eventuell entstandene Datenverluste!

Die Anpassung der Partitionen im Raspberry Pi erscheint zwar im ersten Moment etwas umständlicher, aber unterm Strich ist man damit schneller durch, als mit dem booten von einer Live-CD und der dem bearbeiten darüber.

Erläuterungen

Los geht es mit dem Start von fdisk -c -u /dev/mmcblk0 und der Übersicht über alle vorhandenen Partitionen mit print the partition table.

Command (m for help): p

Disk /dev/mmcblk0: 15.9 GB, 15931539456 bytes
4 heads, 16 sectors/track, 486192 cylinders, total 31116288 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
Disk identifier: 0x000782e5

        Device  Boot     Start     End     Blocks  Id  System
/dev/mmcblk0p1               1  125000      62500   c  W95 FAT32 (LBA)
/dev/mmcblk0p2          125001 6143999    3009499+ 83  Linux

Es folgen nun ein paar Erklärungen zur den wichtigsten Werten, um ein Verständnis für die einzelnen Schritte zu schaffen.

  • Gesamtzahl der Sektoren dieser SD-Karte
  • Jeder Sektor entspricht 512 bytes Speicherplatz
  • Die einzelnen Partitionen, die Nummer an Ende ist zugleich die Partition-Nummer 
  • Die Partition startet mit Sektor Nr.
  • Die Partition endet mit Sektor Nr.
  • Dateisystem der Partition

Die Umrechnung zwischen den einzelnen Einheiten passiert in der IT mit 1024, entgegen den üblichen 1000 (der Grund, wieso 2TB Festplatten nie mit 2 TB unter den Betriebssystemen angezeigt werden), somit: 1024 Byte = 1 Kilobyte, 1024 Kilobyte = 1 Megabyte, 1024 Megabyte = 1 Gigabyte usw.

Der Raspberry Pi in der Version B verfügt über 512 MB Arbeitsspeicher. Die Empfehlung für die SWAP Partition wäre somit der doppelte Arbeitsspeicher, also 1024 MB. Diese Partition möchten wir am Ende der SD-Karte ablegen, deswegen sollten wir vorab berechnen wie viele Sektoren frei bleiben müssen. 1024 MB x 1024 = 1048576 KB x 2 (weil 1 Sektor = 512 Byte) = 2097152 Sektoren

Partitionierung

Als erstes wird die alte Kali Partition Nr. 2 gelöscht (keine sorge, das System und die Daten drin gehen nicht verloren), also im fdisk Menü delete a partition und Partition Nr. 2. Mit print the partition table solle nun nur noch die erste Partition mit FAT32 sichtbar sein. fdisk unter Kali Jetzt erstellen wir mit add a new partition eine neue primäre Partition mit der Nr. 2.
Der erste Sektor wird vorgegeben und sollte mit dem ersten Sektor der vormals vorhandenen 2 Partition übereinstimmen (in meinem Beispiel 125001).
Der letzte Sektor wird als letzter verwendbarer Sektor der SD-Karde angezeigt (immer 1 Sektor weniger, als Gesamtzahl), da wir aber noch die SWAP Partition dahinter erstellen möchten, sollte nun von dem vorgegebenem Sektor die Anzahl der Sektoren für die 1024 MB große SWAP Partition abgezogen werden (in diesem Beispiel 31116287 – 2097152 = 29019135). Mein letzter Sektor ist somit 29019135.
Ein erneuter Aufruf von print the partition table sollte nun wieder zwei Partitionen anzeigen.

Nachdem die Partition für das Betriebssystem erstellt wurde, kann nun die SWAP Partition auf dem gleichen Weg erstellt werden. Zunächst wird mit add a new partition eine neue primäre Partition mit der Nr. 3 erstellt.
Dieses mal kann aber der erste und letzte Sektor aus den Vorgaben von fdisk übernommen werden. Es ist die letzte Partition und somit sind keine Anpassungen nötig.
Alle bisher vollbrachten Änderungen wurden nicht gespeichert, mit Strg + C lassen sich alle Einstellungen verwerfen oder mit write table to disk and exit speichern und somit die Änderungen an der Partitionstabelle übernehmen.
Es folgt ein reboot von Kali.

Abschluss

Nach dem das System durchgestartet wurde, zeigt df -h keine Veränderungen zur vorher. Anpassen der Partition Zunächst muss nun die Partition an die neue Größe angepasst werden, das geschieht mit Hilfe von resize2fs /dev/mmcblk0p2. Beim erneuten Aufruf von df -h sollte nun die Partition wesentlich größer sein und der neuen Größe entsprechen.

Als nächstes muss die SWAP Partition als solche angepasst werden und dem System bekannt gegeben werden. Mittels free -lm können wir feststellen, dass bisher kein SWAP Speicher vom System benutzt wurde. Zunächst ändern wir die Partition /dev/mmcblk0p3 in SWAP Speicher, mittels mkswap /dev/mmcblk0p3 und als nächstes müssen wir dem System bekannt geben, dass er die Partition als SWAP nutzen kann.
Mit nano /etc/fstab wird die fstab Datei wie folgt angepasst und gespeichert:
-----------------------------------------------------
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 0
/dev/mmcblk0p3 none swap sw 0 0
-----------------------------------------------------

Es folgt der letzte reboot von Kali. Beim erneuten Prüfen mit free -lm sollte Kali nun die SWAP Datei verwenden (total >0).

Damit ist die Umpartitionierung vollständig abgeschlossen und Kali netzt die SWAP Partition zum auslagern von Arbeitsspeicher.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>