Skip to content

Bananian auf HDD installieren

BananaPi
  • Heute am 1. Weihnachtstag 2015 ist BananaPi-Tag 🙂 Ich habe mir mal vorgenommen das aktuelle Bananian auf eine HDD zu bügeln und mal zu schauen ob es noch geht 🙂

    Ich habe hier also folgendes liegen:

    • BananaPi M1
    • SD-Karte 4GB
    • SSD 120GB
    • SATA-Kabel

    IMG 20151225 133942

    Bananian auf SD-Karte schreiben! Für Einsteiger -> BananaPI - Erste Schritte

    SD-Karte in den Schacht, Festplatte anschließen und den BPi einschalten. Nun konfigurieren wir erst mal das System.

    bananian.config
    

    Das sollte soweit selbsterklärend sein. Danach neu starten.

    shutdown -r now
    

    Die angeschlossene HDD war benutzt, also müssen die vorhandenen Partitionen gelöscht werden.
    ACHTUNG! Ab hier besteht die Gefahr von Datenverlust. Bitte vorher das Gehirn einschalten und denkt dran, ich übernehme kein Garantie für Eure Daten 🙂

    Mit fdisk schauen wir uns erst mal alles an.

    130 root@bananapi ~ # fdisk -l :(
    
    Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 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: 0x000ebd3b 
    
    Device Boot Start End Sectors Size Id Type
    /dev/sda1 * 2048 242356223 242354176 115.6G 83 Linux
    /dev/sda2 242358270 250068991 7710722 3.7G 5 Extended
    /dev/sda5 242358272 250068991 7710720 3.7G 82 Linux swap / Solaris
    
    Disk /dev/mmcblk0: 3.7 GiB, 3980394496 bytes, 7774208 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 3710936 3667929 1.8G 83 Linux
    

    Danach wählen wir die Platte aus, die bearbeitet werden soll.

    root@bananapi ~ # 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):
    

    Dann mit "d" Partition auswählen.

    Command (m for help): d
    Partition number (1,2,5, default 5): 5
    
    Partition 5 has been deleted.
    

    Das dann für alle Partitionen wiederholen.

    Zum Schluss mit w die Änderungen auf die Platte schreiben.

    Nun erzeugen wir eine neue Partition

     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): 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-250069679, default 2048): 2048
     Last sector, +sectors or +size{K,M,G,T,P} (2048-250069679, default 250069679): 250069679
    
    Created a new partition 1 of type 'Linux' and of size 119,2 GiB.
    
    Command (m for help): w
    The partition table has been altered.
    Calling ioctl() to re-read partition table.
    Syncing disks.
    

    Schauen wir uns das Ergebnis nochmal an.

     root@bananapi ~ # fdisk -l
    
    Disk /dev/sda: 119,2 GiB, 128035676160 bytes, 250069680 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: 0x000ebd3b
    
    Device Boot Start End Sectors Size Id Type
    /dev/sda1 2048 250069679 250067632 119,2G 83 Linux
    
    Disk /dev/mmcblk0: 3,7 GiB, 3980394496 bytes, 7774208 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 7774207 7731200 3,7G 83 Linux
    

    Nun muss eine Festplatte auch noch formatiert werden, das macht man mit mkfs.ext4 /dev/sda1

    root@bananapi ~ # mkfs.ext4 /dev/sda1
    mke2fs 1.42.12 (29-Aug-2014)
    /dev/sda1 hat ein ext4-Dateisystem
    zuletzt auf / auf Sun Dec 21 09:09:08 2014
    eingehängtTrotzdem fortfahren? (j,n) j
    Geräteblöcke werden verworfen: erledigt
    Ein Dateisystems mit 31258454 (4k) Blöcken und 7815168 Inodes wird erzeugt.
    UUID des Dateisystems: bc260a48-eb4d-4491-bdbc-0b8758eeacc9
    Superblock-Sicherungskopien gespeichert in den Blöcken:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
    4096000, 7962624, 11239424, 20480000, 23887872
    
    beim Anfordern von Speicher für die Gruppentabellen: erledigt
    Inode-Tabellen werden geschrieben: erledigt
    Das Journal (32768 Blöcke) wird angelegt: erledgt
    Die Superblöcke und die Informationen über die Dateisystemnutzung werden
    geschrieben: erledigt
    

    Damit wäre die HDD fertig eingerichtet! Nun binden wird die HDD ins Sys ein

    mount /dev/sda1 /mnt/
    

    Nun kopieren wir den Inhalt der SD-Karte auf die HDD.

    rsync -ax / /mnt/
    

    Wenn alles fertig kopiert ist, unmounten wir die HDD und mounten die SD-Karte um die Bootparameter zu ändern.

    umount /mnt/
    mount /dev/mmcblk0p1 /mnt
    nano /mnt/boot.cmd
    

    In früheren Versionen musste noch die uEnv.txt editiert werden. Das hat sich geändert.

    So sieht die geänderte boot.cmd aus.

    #--------------------------------------------------------------------------------------------------------------------------------
    # Boot loader script to boot with different boot methods for old and new kernel
    # Credits: https://github.com/igorpecovnik - Thank you for this great script!
    #--------------------------------------------------------------------------------------------------------------------------------
    if load mmc 0:1 0x00000000 uImage-next
    then
    # mainline kernel >= 4.x
    #--------------------------------------------------------------------------------------------------------------------------------
    setenv bootargs console=ttyS0,115200 console=tty0 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline rootwait
    load mmc 0:1 0x49000000 dtb/${fdtfile}
    load mmc 0:1 0x46000000 uImage-next
    bootm 0x46000000 - 0x49000000
    #--------------------------------------------------------------------------------------------------------------------------------
    else
    # sunxi 3.4.x
    #--------------------------------------------------------------------------------------------------------------------------------
    setenv bootargs console=ttyS0,115200 console=tty0 console=tty1 sunxi_g2d_mem_reserve=0 sunxi_ve_mem_reserve=0 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:1680x1050p60 root=/dev/sda1  rootfstype=ext4 elevator=deadline rootwait
    setenv bootm_boot_mode sec
    load mmc 0:1 0x43000000 script.bin
    load mmc 0:1 0x48000000 uImage
    bootm 0x48000000
    #--------------------------------------------------------------------------------------------------------------------------------
    fi
    

    Diese Datei boot.cmd muß jetzt noch in eine ausfährbare Datei verwandelt werden. Dafür benutzt man folgenden Befehl.

    cd /mnt
    
    mkimage -C none -A arm -T script -d boot.cmd boot.scr
    

    Dann kommt folgendes:

    root@bananapi /mnt # mkimage -C none -A arm -T script -d boot.cmd boot.scr
    zsh: command not found: mkimage
    

    Ok, mkimage fehlt.

    apt-get install u-boot-tools
    

    Danach geht es.

    root@bananapi /mnt # mkimage -C none -A arm -T script -d boot.cmd boot.scr
    Image Name:
    Created: Fri Dec 25 13:22:01 2015
    Image Type: ARM Linux Script (uncompressed)
    Data Size: 1602 Bytes = 1.56 kB = 0.00 MB
    Load Address: 00000000
    Entry Point: 00000000
    Contents:
    Image 0: 1594 Bytes = 1.56 kB = 0.00 MB
    

    Nun können wir das System neustarten.

    shutdown -r now
    

    Nach dem Neustart mal eben schauen ob alles klappt.

    root@bananapi ~ # df -h
    Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
    /dev/root 118G 1,1G 111G 1% /
    devtmpfs 486M 0 486M 0% /dev
    tmpfs 98M 212K 97M 1% /run
    tmpfs 5,0M 0 5,0M 0% /run/lock
    tmpfs 195M 0 195M 0% /run/shm
    

    Fertig! Geht 🙂

    Kurz noch ein Speedtest

    apt-get install iperf
    

    Auf meinem Hauptrechner kurz einen iperf Server aufgemacht.

    iperf -s
    

    Dann auf dem BananaPi

    iperf -c 192.168.x.x
    

    Das Ergebnis:

    root@bananapi ~ # iperf -c 192.168.x.x
    ------------------------------------------------------------
    Client connecting to 192.168.x.x, TCP port 5001
    TCP window size: 21.0 KByte (default)
    ------------------------------------------------------------
    [ 3] local 192.168.2.7 port 47120 connected with 192.168.x.x port 5001
    [ ID] Interval Transfer Bandwidth
    [ 3] 0.0-10.0 sec 564 MBytes 473 Mbits/sec
    iperf -c 192.168.2.213 0,07s user 9,98s system 100% cpu 10,049 total
    

    Recht ordentlich und das ist auch der absolute Vorteil der BananaPis, die Anbindung einer HDD mittels SATA.

    Nun läuft das Sys auf der HDD, sollte die SD-Karte mal kaputt gehen schreibt man sich einfach eine neue und fertig. Die Daten sind auf einer Platte einfach sicherer abgelegt als auf einer SD-Karte (meine Meinung).

    Viel Spaß beim Homeserver bauen!

  • Redis ändert das Lizenz Modell

    Redis
    2
    0 Stimmen
    2 Beiträge
    136 Aufrufe
    FrankMF

    Ein Artikel von Heise zum Thema

    Link Preview Image Datenbankanbieter Redis ändert sein Lizenzmodell – erneut

    Die No-SQL-Datenbank wird künftig nach einem dualen Modell lizenziert: Redis Source Available License Version 2 oder Server-Side Public License Version 1.​

    favicon

    Developer (www.heise.de)

  • Debian 12 Bookworm released

    Linux
    5
    0 Stimmen
    5 Beiträge
    302 Aufrufe
    FrankMF

    Mein persönliches Fazit, alles läuft rund mit Debian Bookworm 12 🙂

    Alle meine Hetzner VMs sind jetzt auf Bookworm 🤓 Ok, was schwer und zeitaufwendig war, war die Nextcloud Installation bzw. der ganze PHP-Server. Das ist echt jedes mal eine Herausforderung, aber auch dabei werde ich die letzten Jahre sicherer. Hier die Story zum Nextcloud Server

    Link Preview Image Nextcloud - Upgrade auf Bookworm 12

    Mein Debian Server mit einer Nextcloud-Installation läuft noch auf Debian 11. Das möchte ich gerne ändern, wie ich aber letzte Woche lernen musste, ist das g...

    favicon

    linux-nerds.org (linux-nerds.org)

    Richtig rund lief das Upgrade des NodeBB-Servers, war einfach und direkt auf Node18 hochgezogen.

    Link Preview Image NodeBB - Upgrade auf Debian Bookworm 12

    Heute mal den Server für meine NodeBB-Foren auf Debian Bookworm 12 upgegraded. Ehrlich gesagt, das war langweilig........ Erster Schritt, kontrolliert ob De...

    favicon

    linux-nerds.org (linux-nerds.org)

    Damit ist jetzt alles hier auf Debian Bookworm 12

    Haupt-PC VMs bei Hetzner VMs in der Proxmox

    Oh, da fällt mir gerade ein, der Proxmox ist noch fällig. Aber, dazu habe ich mir was einfallen lassen, da ist noch ein neues Mainboard unterwegs und dann gibt es dazu einen etwas größeren Beitrag.

    Danke Debian-Team, Debian Bookworm 12 ist eine runde Sache!

    Spannend wird jetzt, wie lange ich auf meinem Haupt-PC (Bookworm, KDE, Wayland) bleibe. Ich habe da so eine unangenehme Eigenschaft, wenn es um veraltete Pakete geht. Diesmal werde ich dann wahrscheinlich auf den Debian Unstable Zweig (sid) wechseln. Aber das dürfte noch was dauern, da ja aktuell erst mal alles passt.

  • Redis - Datenbanken löschen

    Redis
    1
    0 Stimmen
    1 Beiträge
    219 Aufrufe
    Niemand hat geantwortet
  • Redis - Zweite Instanz

    Redis
    1
    0 Stimmen
    1 Beiträge
    232 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - dts File bearbeiten

    Angeheftet Verschoben Quartz64
    3
    0 Stimmen
    3 Beiträge
    298 Aufrufe
    FrankMF

    Ich weiß nicht, wonach ich gesucht habe, vermutlich nach

    apt install device-tree-compiler

    das gibt es im Manjaro Image nicht, es heißt ganz einfach dtc 😎 Also, ganz einfach mit

    pacman -S dtc

    installieren. Dann kann man sich diesen Umweg mit snapd sparen.

  • Mainline 5.12.x

    Images
    2
    0 Stimmen
    2 Beiträge
    312 Aufrufe
    FrankMF

    5.12.0-1149-ayufan released

    ayufan: defconfig: add MT76x* drivers
  • Kopia 0.7.x released

    Kopia
    1
    0 Stimmen
    1 Beiträge
    220 Aufrufe
    Niemand hat geantwortet
  • Wireguard - Client installieren

    Wireguard
    3
    0 Stimmen
    3 Beiträge
    587 Aufrufe
    FrankMF

    Ich kann dir nicht ganz folgen. Mein Wireguard Server ist eine VM im Netz. Mein Smartphone baut zu diesem eine Verbindung auf und ich habe mal eben nachgeschaut, was da so geht. Mein Smartphone ist aktuell im meinem WLan angemeldet.

    6e0016dc-7e11-41e1-bba2-e52a3f1348df-image.png

    iperf3 -s -B 10.10.1.1 ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from 10.10.1.10, port 44246 [ 5] local 10.10.1.1 port 5201 connected to 10.10.1.10 port 44248 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 4.98 MBytes 41.7 Mbits/sec [ 5] 1.00-2.00 sec 5.52 MBytes 46.3 Mbits/sec [ 5] 2.00-3.00 sec 4.80 MBytes 40.3 Mbits/sec [ 5] 3.00-4.00 sec 4.17 MBytes 35.0 Mbits/sec [ 5] 4.00-5.00 sec 5.04 MBytes 42.3 Mbits/sec [ 5] 5.00-6.00 sec 5.43 MBytes 45.6 Mbits/sec [ 5] 6.00-7.00 sec 5.75 MBytes 48.3 Mbits/sec [ 5] 7.00-8.00 sec 5.70 MBytes 47.8 Mbits/sec [ 5] 8.00-9.00 sec 5.73 MBytes 48.1 Mbits/sec [ 5] 9.00-10.00 sec 5.65 MBytes 47.4 Mbits/sec [ 5] 10.00-10.04 sec 206 KBytes 46.5 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.04 sec 53.0 MBytes 44.3 Mbits/sec receiver ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from 10.10.1.10, port 44250 [ 5] local 10.10.1.1 port 5201 connected to 10.10.1.10 port 44252 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 4.80 MBytes 40.2 Mbits/sec 0 253 KBytes [ 5] 1.00-2.00 sec 14.7 MBytes 123 Mbits/sec 181 379 KBytes [ 5] 2.00-3.00 sec 9.68 MBytes 81.2 Mbits/sec 58 294 KBytes [ 5] 3.00-4.00 sec 8.88 MBytes 74.5 Mbits/sec 1 227 KBytes [ 5] 4.00-5.00 sec 7.76 MBytes 65.1 Mbits/sec 0 245 KBytes [ 5] 5.00-6.00 sec 8.88 MBytes 74.5 Mbits/sec 0 266 KBytes [ 5] 6.00-7.00 sec 9.81 MBytes 82.3 Mbits/sec 0 289 KBytes [ 5] 7.00-8.00 sec 7.82 MBytes 65.6 Mbits/sec 35 235 KBytes [ 5] 8.00-9.00 sec 5.59 MBytes 46.9 Mbits/sec 4 186 KBytes [ 5] 9.00-10.00 sec 6.64 MBytes 55.7 Mbits/sec 0 207 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.04 sec 84.6 MBytes 70.6 Mbits/sec 279 sender ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- ^Ciperf3: interrupt - the server has terminated

    Im zweiten Teil ist der Wireguard Server der Sender.

    Bis jetzt hatte ich eigentlich nie Probleme, auch nicht unterwegs. Aber, ich gehe davon aus, das ich dich nicht 100% verstanden habe 😉