Skip to content

ROCKPro64 - USB3 bootet von SSD!

ROCKPro64
  • Hmm, da bin ich heute doch nach langer Zeit mal wieder am Spielen, weil ich hier helfen wollte. Da nun der u-boot im SPI Flash war, kam ich auf die Idee, die Testplatte die hier rumliegt mal anzuschließen.

    Es handelt sich um eine SSD von SanDisk mit 240GB, nix Besonderes 😉 Und was stelle ich fest?!? Das Ding bootet 🙂 Kur über die SSH Konsole einen Reboot durchgeführt, habe gedacht das das Zufall war, geht wieder. schaut sehr erstaunt

    Hier das komplette Boot-Log: https://pastebin.com/asLuPk3G

    Eingesetzter u-boot

    U-Boot 2017.09-rockchip-ayufan-1035-gd646df03ac (Oct 26 2018 - 08:36:24 +0000)  
    

    Das ist im Moment, der Aktuellste, den Kamil zur Verfügung stellt.
    https://github.com/ayufan-rock64/linux-u-boot/releases

    Auf der SSD ist folgendes System drauf.

    rock64@rockpro64:~$ uname -a
    Linux rockpro64 4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1 #1 SMP Mon Oct 22 20:59:41 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    Die Platte

    rock64@rockpro64:~$ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    udev            992M     0  992M   0% /dev
    tmpfs           200M  440K  199M   1% /run
    /dev/sda7       220G  1.3G  210G   1% /
    tmpfs           996M     0  996M   0% /dev/shm
    tmpfs           5.0M  4.0K  5.0M   1% /run/lock
    tmpfs           996M     0  996M   0% /sys/fs/cgroup
    /dev/sda6       112M  4.0K  112M   1% /boot/efi
    tmpfs           200M     0  200M   0% /run/user/1000
    

    Ich bin aktuell etwas verwundert, das es geht. Aber sehr wichtig wenn es jetzt endlich funktioniert.

  • Ich denke, ich habe das Problem erkannt. 🙂

    Wenn man den Stecker nicht komplett in die USB3-Buchse des ROCKPro64 einsteckt, dann geht es einwandfrei. Diese Buchse scheint nicht optimal zu funktionieren. Ich kann den Fehler hier ziemlich gut reproduzieren, es benötigt aber noch ein paar Tests.

    Also, wer mal testen will, den Stecker so weit einstecken, bis man leichten Widerstand spürt. Das sollte dann reichen 😉 Kann man dann mit einer UART-Verbindung kontrollieren, ob er das Device erkennt. Kann man da sehr schön sehen.

    Bitte nagelt mich nicht drauf fest, ich hoffe das das noch jemand anders bestätigen kann. Morgen werde ich das noch mit einem anderen ROCKPro64 hier testen.

  • Leider ist das immer noch nicht DIE Lösung 😞

    Am ROCKPro64 erreiche ich folgende Geschwindigkeit

    rock64@rockpro64:~$ sudo dd if=/dev/zero of=sd.img bs=1M count=4096 conv=fdatasync
    4096+0 records in
    4096+0 records out
    4294967296 bytes (4.3 GB, 4.0 GiB) copied, 130.382 s, 32.9 MB/s
    

    Ok, sieht nach USB2 aus. Mal am Haupt-PC testen, ob die Komponenten USB3 können.

    frank@frank-MS-7A34:/media/frank/linux-root/home/rock64$ sudo dd if=/dev/zero of=sd.img bs=1M count=4096 conv=fdatasync
    [sudo] Passwort für frank: 
    4096+0 Datensätze ein
    4096+0 Datensätze aus
    4294967296 bytes (4,3 GB, 4,0 GiB) copied, 14,7509 s, 291 MB/s
    

    Sieht gut aus. Und jetzt bin ich genauso schlau wie vorher....

    Mein USB3-Adapter für die SSD

    Bus 002 Device 005: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge
    

    Und raus. Ich hab keinen Plan, woran es liegt!?!?!?!

  • Da oben steht viel Bullshit 🙂 Ich habe mich mal mit dem mechanischen Aufbau einer USB3 Buchse beschäftigt, bzw. dazu recherchiert. Auf dieser Seite ist ein klasse Bild, was das sehr gut verdeutlicht.

    https://kompendium.infotip.de/usb-3-0.html

    Abbildung 28. Dort sieht man das die USB3 Kontakte RX/TX und GND ganz hinten sind. Wenn ich den Stecker jetzt komplett einstecke, wird wohl versucht eine USB3 Verbindung aufzubauen, die ja im Moment aus irgendeinem Grund scheitert. Wenn ich den Stecker nun ein Stück raus ziehe, trenne ich die USB3-Verbindung und es kommt eine USB2-Verbindung zustande.

    So mit ist mir jetzt einiges klarer, aber das Problem ist ungelöst 😞

  • Mainline 6.0.x

    Images
    6
    0 Stimmen
    6 Beiträge
    241 Aufrufe
    FrankMF

    Und RC7 released

    Link Preview Image Release 6.7.0-rc7-1185-ayufan · ayufan-rock64/linux-mainline-kernel

    Linux kernel source tree. Contribute to ayufan-rock64/linux-mainline-kernel development by creating an account on GitHub.

    favicon

    GitHub (github.com)

  • ROCKPro64 - Kamils neuer 0.10.x Release

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    231 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Anpassen resize_rootfs.sh

    Angeheftet ROCKPro64
    3
    0 Stimmen
    3 Beiträge
    457 Aufrufe
    FrankMF

    Seit Release 0.10.10 ist das automatische Vergrößern der Root Partition mit drin 🙂

    0.10.10: Support automated resize when booting from nvme

    Einfach das Image auf die NVMe SSD schreiben, ab in den ROCKPro64 und fertig! Nach dem Booten wird die Partition dann automatisch auf die maximal mögliche Größe erweitert.

    Kamil hat das Script auch ein wenig angepasst.

    case $dev in /dev/mmcblk?p?) DISK=${dev:0:12} PART=${dev:13} NAME="sd/emmc" ;; /dev/sd??) DISK=${dev:0:8} PART=${dev:8} NAME="hdd/ssd" ;; /dev/nvme?n?p?) DISK=${dev:0:12} PART=${dev:13} NAME="pcie/nvme" ;;

    Das Resultat bei einer Samsung 979 EVO mit 500GB Speicher

    rock64@rockpro64:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 918M 0 918M 0% /dev tmpfs 192M 5.2M 187M 3% /run /dev/nvme0n1p4 459G 1.2G 439G 1% / tmpfs 957M 0 957M 0% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 957M 0 957M 0% /sys/fs/cgroup /dev/nvme0n1p3 229M 44M 169M 21% /boot /dev/nvme0n1p2 12M 0 12M 0% /boot/efi tmpfs 192M 0 192M 0% /run/user/1000

    Perfekt. Danke Kamil!

  • Image 0.9.14 - Kurztest

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    224 Aufrufe
    Niemand hat geantwortet
  • Wireguard

    Verschoben Wireguard
    4
    0 Stimmen
    4 Beiträge
    870 Aufrufe
    FrankMF

    Etwas schnellerer Weg den Tunnel aufzubauen, Voraussetzung

    wireguard modul installiert Keys erzeugt

    Danach dann einfach

    ip link add wg0 type wireguard wg setconf wg0 /etc/wireguard/wg0.conf Datei /etc/wireguard/wg0.conf [Interface] PrivateKey = <Private Key> ListenPort = 60563 [Peer] PublicKey = <Public Key Ziel> Endpoint = <IPv4 Adresse Zielrechner>:58380 AllowedIPs = 10.10.0.1/32

    Die Rechte der Dateien von wireguard müssen eingeschränkt werden.

    sudo chmod 0600 /etc/wireguard/wg0.conf

    Das ganze per rc.local beim Booten laden. Datei /root/wireguard_start.sh

    ############################################################################################### # Autor: Frank Mankel # Startup-Script # Wireguard # Kontakt: frank.mankel@gmail.com # ############################################################################################### ip link add wg0 type wireguard ip address add dev wg0 10.10.0.1/8 wg setconf wg0 /etc/wireguard/wg0.conf ip link set up dev wg0

    Danach Datei ausführbar machen

    chmod +x /root/wireguard_start.sh

    In rc.local

    /root/wireguard_start.sh

    eintragen - Fertig!

  • ROCKPro64 - Samsung 970 NVMe M.2 500GB

    Hardware
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Der Bootvorgang

    Verschoben Hardware
    3
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    FrankMF

    Um einen neuen Kernel booten zu können, brauche ich diese 4 Dateien unter /boot

    config-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 initrd.img-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 System.map-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 vmlinuz-4.19.0-rc4-1065-ayufan-g72e04c7b3e06

    Und den Ordner /boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06 mit folgendem Inhalt

    rock64@rockpro64v2_0:/boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06$ ls -la total 104 drwxr-xr-x 26 root root 4096 Sep 30 09:54 . drwxr-xr-x 6 root root 4096 Sep 30 09:55 .. drwxr-xr-x 2 root root 4096 Sep 30 09:54 al drwxr-xr-x 2 root root 4096 Sep 30 09:54 allwinner drwxr-xr-x 2 root root 4096 Sep 30 09:54 altera drwxr-xr-x 2 root root 4096 Sep 30 09:54 amd drwxr-xr-x 2 root root 4096 Sep 30 09:54 amlogic drwxr-xr-x 2 root root 4096 Sep 30 09:54 apm drwxr-xr-x 2 root root 4096 Sep 30 09:54 arm drwxr-xr-x 4 root root 4096 Sep 30 09:54 broadcom drwxr-xr-x 2 root root 4096 Sep 30 09:54 cavium drwxr-xr-x 2 root root 4096 Sep 30 09:54 exynos drwxr-xr-x 2 root root 4096 Sep 30 09:54 freescale drwxr-xr-x 2 root root 4096 Sep 30 09:54 hisilicon drwxr-xr-x 2 root root 4096 Sep 30 09:54 lg drwxr-xr-x 2 root root 4096 Sep 30 09:54 marvell drwxr-xr-x 2 root root 4096 Sep 30 09:54 mediatek drwxr-xr-x 2 root root 4096 Sep 30 09:54 nvidia drwxr-xr-x 2 root root 4096 Sep 30 09:54 qcom drwxr-xr-x 2 root root 4096 Sep 30 09:54 renesas drwxr-xr-x 2 root root 4096 Sep 30 09:54 rockchip drwxr-xr-x 2 root root 4096 Sep 30 09:54 socionext drwxr-xr-x 2 root root 4096 Sep 30 09:54 sprd drwxr-xr-x 2 root root 4096 Sep 30 09:54 synaptics drwxr-xr-x 2 root root 4096 Sep 30 09:54 xilinx drwxr-xr-x 2 root root 4096 Sep 30 09:54 zte

    Unter /boot/extlinux liegt dann die Datei extlinux.conf

    Die sieht bei mir dann so aus

    timeout 10 menu title select kernel label kernel-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 kernel /boot/vmlinuz-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 initrd /boot/initrd.img-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 devicetreedir /boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06 append rw panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 root=LABEL=TEST rootwait rootfstype=ext4 label kernel-4.19.0-rc4-1065-ayufan-g72e04c7b3e06-memtest kernel /boot/vmlinuz-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 initrd /boot/initrd.img-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 devicetreedir /boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06 append rw panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 root=LABEL=TEST rootwait rootfstype=ext4 memtest

    Darunter kommen dann evt. die alten Kernel die installiert waren, das habe ich hier im Beispiel weg gelassen.

  • [HOWTO] ROCKPro64 - Boot

    Verschoben Hardware
    5
    0 Stimmen
    5 Beiträge
    4k Aufrufe
    FrankMF

    Das Problem sollte mit Kernel 4.19.0-rc4-1069-ayufan behoben sein.