Skip to content

Quartz64 - Peter Geis Entwicklungsumgebung

Images
  • Ich hatte das in Vergangenheit als Image bezeichnet, ich möchte das mal ändern 😉 Ohne da Hand anzulegen läuft da nämlich rein gar nichts.

    Wenn man von Peter's Github die Daten (artifacts) herunterlädt bekommt man folgendes. Die Daten bekommt man, wenn man auf Download/merge-job klickt.

    dd3fd5a9-8efe-4f36-b710-8d2ddfa5d4d6-image.png

    Das rk3566-quartz64-a.dtb.img.xz auf die SD-Karte bügeln. Das schreibt das wichtigste auf die SD-Karte incl. Partitionen. Vorher entpacken! Nach erfolgreichem Schreiben, sieht das so aus.

    Festplatte /dev/sde: 59,49 GiB, 63864569856 Bytes, 124735488 Sektoren
    Festplattenmodell: MassStorageClass
    Einheiten: Sektoren von 1 * 512 = 512 Bytes
    Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
    E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
    Festplattenbezeichnungstyp: gpt
    Festplattenbezeichner: 9137134B-3A62-49EA-BF71-583007F40962
    
    Gerät       Anfang    Ende Sektoren Größe Typ
    /dev/sde1       64   16383    16320    8M Linux-Dateisystem
    /dev/sde2    16384   32767    16384    8M Linux-Dateisystem
    /dev/sde3    32768   65535    32768   16M Linux-Dateisystem
    /dev/sde4    65536  131071    65536   32M Linux-Dateisystem
    /dev/sde5   131072  524287   393216  192M EFI-System
    /dev/sde6   524288 1572863  1048576  512M Linux-Dateisystem
    /dev/sde7  1572864 2095103   522240  255M Linux-Dateisystem
    

    Problem Nr. 1

    Partition Nr. 7 ist zu klein. Diese Partition müssen wir mal eben vergrößern.

    apt install cloud-guest-utils
    growpart -N /dev/sde 7 ##dry-rum
    growpart /dev/sde 7
    resize2fs /dev/sde7
    fdisk -l
    

    So sieht das aus

    root@frank-MS-7C37:/# growpart /dev/sde 7
    CHANGED: partition=7 start=1572864 old: size=522240 end=2095104 new: size=123162591 end=124735455
    root@frank-MS-7C37:/# resize2fs /dev/sde7
    resize2fs 1.45.5 (07-Jan-2020)
    Die Größe des Dateisystems auf /dev/sde7 wird auf 15395323 (4k) Blöcke geändert.
    Das Dateisystem auf /dev/sde7 is nun 15395323 (4k) Blöcke lang.   
    

    Danach ist die Partition ausreichend groß.

    Festplatte /dev/sde: 59,49 GiB, 63864569856 Bytes, 124735488 Sektoren
    Festplattenmodell: MassStorageClass
    Einheiten: Sektoren von 1 * 512 = 512 Bytes
    Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
    E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
    Festplattenbezeichnungstyp: gpt
    Festplattenbezeichner: 9137134B-3A62-49EA-BF71-583007F40962
    
    Gerät       Anfang      Ende  Sektoren Größe Typ
    /dev/sde1       64     16383     16320    8M Linux-Dateisystem
    /dev/sde2    16384     32767     16384    8M Linux-Dateisystem
    /dev/sde3    32768     65535     32768   16M Linux-Dateisystem
    /dev/sde4    65536    131071     65536   32M Linux-Dateisystem
    /dev/sde5   131072    524287    393216  192M EFI-System
    /dev/sde6   524288   1572863   1048576  512M Linux-Dateisystem
    /dev/sde7  1572864 124735454 123162591 58,7G Linux-Dateisystem
    

    Problem No.2

    Peter hat die extlinux.conf ein wenig geändert, vermutlich aus Sicherheitsgründen, weil seine Umgebung mittlerweile für verschiedene SOCs ausgebaut wurde. Das falsche DTB laden, kommt da nicht so gut.

    default l0
    menu title Quartz64 Installer
    prompt 0
    timeout 50
    
    label l0
    menu label Buildroot-recovery
    linux /vmlinuz
    initrd /rootfs.cpio.lz4
    fdt /dtbs/rockchip/replaceme.dtb
    append earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000n8
    
    label l1
    menu label Debian-Installer
    linux /vmlinuz
    initrd /initrd.gz
    fdt /dtbs/rockchip/replaceme.dtb
    append earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000n8
    
    label l6
    menu label Boot Root SDMMC
    linux /vmlinuz
    fdt /dtbs/rockchip/replaceme.dtb
    append earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000n8 root=/dev/mmcblk0p7 rootwait
    
    label l9
    menu label Boot Root eMMC
    linux /vmlinuz
    fdt /dtbs/rockchip/replaceme.dtb
    append earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000n8 root=/dev/mmcblk1p7 rootwait
    

    Das fdt /dtbs/rockchip/replaceme.dtb bitte mit fdt /dtbs/rockchip/rk3566-quartz64-a.dtb ersetzen!

    Danach können wir die SD-Karte in den Quartz64 einsetzen und den Q starten. Zur Installation nehmen wir den Menüpunkt 2, damit wird ein Debian installiert. Bei Festplattenpartition wählen wir manuell aus und setzen die Partition Nr. 7 als Root Partition! Nach erfolgreicher Installation neustarten und Menüpunkt Nr. 3 auswählen. Boot from SD-Karte.

    Meine Testinstallation KDE Plasma startet danach einwandfrei.

    • PCI-e funtioniert
  • FrankMF FrankM hat dieses Thema am angepinnt
  • Ein paar Screenshots der Installation

    Die manuelle Installation der SD-Karte

    Bildschirmfoto vom 2021-11-27 13-12-28.png

    So muss die Root-Partition (Partition Nr. 7) aussehen!

    Bildschirmfoto vom 2021-11-27 13-15-08.png

    Hier sieht man, das der PCIe-Port funktioniert.

    Bildschirmfoto vom 2021-11-27 13-05-49.png

    An der Stelle wo man die Software auswählt, habe ich einen KDE Plasma Desktop ausgewählt. Das ist auch der Desktop, den ich für die Tests der Manjaro Installation benutze.

  • Das Ergebnis

    Screenshot_20211128_090851.png

    Peters Image benutzt ein Debian Buster 10

    root@quartz64:~# lsb_release -a
    No LSB modules are available.
    Distributor ID:	Debian
    Description:	Debian GNU/Linux 10 (buster)
    Release:	10
    Codename:	buster
    

    Kernel

    root@quartz64:~# uname -a
    Linux quartz64 5.16.0-rc2 #1 SMP PREEMPT Sat Nov 27 03:43:14 UTC 2021 aarch64 GNU/Linux
    

    Gut an diesem Image vom Peter ist der funktionierende PCIe Port 🙂 Nicht so gut ist das Image, wenn man längerfristig damit arbeiten möchte. Der Aufbau ist dafür nicht wirklich gut geeignet. Wenn man das möchte, dann benutzt man lieber das Manjaro Image. Das wird gepflegt und man bekommt alle Änderungen und Patches auch geliefert.

    Ich hoffe, das die PCIe Patches auch bald im Manjaro Image ankommen, doch dafür müssen diese Upstream sein weil das Manjaro diesen Kernel nutzt (linux-rc). Und wie ich heute Morgen gelesen habe, es besteht Hoffnung für einen funktionierenden USB3-Port 🤗

  • FrankMF FrankM hat dieses Thema am abgepinnt

  • Quartz64 - Heartbeat LED

    Quartz64
    1
    0 Stimmen
    1 Beiträge
    61 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - Modell B - Kernelversionen

    Images
    1
    0 Stimmen
    1 Beiträge
    131 Aufrufe
    Niemand hat geantwortet
  • Qurtz64 - Modell B - GPIO

    Quartz64 - B
    1
    0 Stimmen
    1 Beiträge
    86 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - Modell B - Manjaro Image

    Images
    6
    0 Stimmen
    6 Beiträge
    180 Aufrufe
    FrankMF

    Heute kam dann der Kernel 5.19

    [root@frank-pc ~]# uname -a Linux frank-pc 5.19.0-rc1-0.2-MANJARO-ARM-Q64 #1 SMP PREEMPT Fri Jun 10 14:51:37 UTC 2022 aarch64 GNU/Linux

    am Anfang war es Version 5.19.0-rc1-0.1, aber was das? Keine Tastatur mehr? Häh.... Es ging nur noch der obere USB2 Port. Na gut, man weiß sich ja zu helfen, also einen USB Switch dran gehangen, alles wieder gut. Aber blöd ist das schon!? Außerdem war Sound über HDMI weg.

    So, warum? Ich nutze hier den Kernel

    linux-quartz64

    der wird im Manjaro Buildsystem direkt vom Peter gezogen. Und Peter arbeitet ja so, das er alles zum Mainline-Kernel hochladen kann usw.

    Der Audio Patch ist aber upstream noch nicht akzeptiert und für USB2 gibt es einen Patch, der wohl USB OTG aktivieren soll.

    USB2

    So in Peters dtb war die USB2 Schnittstelle auf OTG konfiguriert. Das macht aus irgendeinem Grund Ärger, ich habe das dann im dtb auf HOST umgestellt, danach war alles wieder wie vorher 🙂

    Schaut mal auf die Unterseite des B und ihr werdet folgendes finden.

    usb2_host.jpeg

    Fragt mich nicht, wozu man das braucht. Im Moment habe ich keine Ahnung. Steht bei mir aktuell auf HOST.

    Audio über HDMI

    Blöd, das das jetzt auf einmal nicht mehr geht. Dan hat dann ein paar Patche losgelassen, so das nun wieder Audio über HDMI funktioniert. So Desktop Betriebssysteme ohne Sound sind blöd - oder? 😉

    PCIe NVMe SSD

    Meine PCIe NVMe SSD funktionierte ja nicht, wenn man große Datenmengen kopierte crashte der Controller. Peter hat das gefixt, das ist seit 5.19 jetzt funktional. Und direkt als Root eingebunden.

    [root@frank-pc ~]# df -h Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf dev 1,7G 0 1,7G 0% /dev run 1,9G 1,3M 1,9G 1% /run /dev/nvme0n1p1 458G 11G 424G 3% / tmpfs 1,9G 0 1,9G 0% /dev/shm tmpfs 1,9G 220K 1,9G 1% /tmp /dev/mmcblk0p1 458M 42M 417M 9% /boot tmpfs 374M 48K 374M 1% /run/user/1000 /dev/mmcblk0p2 59G 3,7G 52G 7% /run/media/frank/ROOT_MNJRO /dev/sda1 458G 11G 424G 3% /run/media/frank/777684c9-e74f-44b9-b491-694daafb9723

    Somit haben wir seit Kernel 5.19 PCIe NVMe SSD Unterstützung Yeah

    Und seit Kernel 5.19.0-rc1-0.2 geht auch wieder Audio über HDMI.

    Danke Dan für die Patches! Und Danke an den feinen Patch für PCIe NVMe an Peter!
  • Quartz64 - Modell B - Peter Geis Entwicklungsumgebung

    Images
    2
    0 Stimmen
    2 Beiträge
    126 Aufrufe
    FrankMF
    Was geht? Funktion Status Bemerkung cpufreq ok *3 UART ja *5 LAN hat Fehler *1 USB3 ja ca. 210MB/s *2 PCIe ja ca. 296 MB/s, ist mit einer Lane angeschlossen *4 HDMI nein LAN *1 root@debian:~# iperf3 -c 192.168.3.213 Connecting to host 192.168.3.213, port 5201 [ 5] local 192.168.3.10 port 39124 connected to 192.168.3.213 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 434 KBytes 3.55 Mbits/sec 61 2.83 KBytes [ 5] 1.00-2.00 sec 475 KBytes 3.89 Mbits/sec 44 2.83 KBytes [ 5] 2.00-3.00 sec 396 KBytes 3.24 Mbits/sec 43 2.83 KBytes [ 5] 3.00-4.00 sec 318 KBytes 2.61 Mbits/sec 40 2.83 KBytes [ 5] 4.00-5.00 sec 315 KBytes 2.58 Mbits/sec 31 2.83 KBytes [ 5] 5.00-6.00 sec 396 KBytes 3.24 Mbits/sec 46 2.83 KBytes [ 5] 6.00-7.00 sec 396 KBytes 3.24 Mbits/sec 43 2.83 KBytes [ 5] 7.00-8.00 sec 396 KBytes 3.24 Mbits/sec 43 1.41 KBytes [ 5] 8.00-9.00 sec 396 KBytes 3.24 Mbits/sec 47 2.83 KBytes [ 5] 9.00-10.00 sec 317 KBytes 2.59 Mbits/sec 39 2.83 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 3.75 MBytes 3.14 Mbits/sec 437 sender [ 5] 0.00-10.00 sec 3.67 MBytes 3.08 Mbits/sec receiver iperf Done. root@debian:~# iperf3 -R -c 192.168.3.213 Connecting to host 192.168.3.213, port 5201 Reverse mode, remote host 192.168.3.213 is sending [ 5] local 192.168.3.10 port 39130 connected to 192.168.3.213 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 112 MBytes 941 Mbits/sec [ 5] 1.00-2.00 sec 112 MBytes 942 Mbits/sec [ 5] 2.00-3.00 sec 112 MBytes 942 Mbits/sec [ 5] 3.00-4.00 sec 112 MBytes 942 Mbits/sec [ 5] 4.00-5.00 sec 112 MBytes 942 Mbits/sec [ 5] 5.00-6.00 sec 112 MBytes 942 Mbits/sec [ 5] 6.00-7.00 sec 112 MBytes 942 Mbits/sec [ 5] 7.00-8.00 sec 112 MBytes 942 Mbits/sec [ 5] 8.00-9.00 sec 112 MBytes 942 Mbits/sec [ 5] 9.00-10.00 sec 112 MBytes 942 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.10 GBytes 943 Mbits/sec 370 sender [ 5] 0.00-10.00 sec 1.10 GBytes 942 Mbits/sec receiver iperf Done. USB3 *2 root@debian:~# lsusb Bus 002 Device 003: ID 046d:c52f Logitech, Inc. Unifying Receiver Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 006 Device 002: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS578 SATA 6Gb/s Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 002: ID 046d:c31c Logitech, Inc. Keyboard K120 Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Disk /dev/sda: 238.47 GiB, 256060514304 bytes, 500118192 sectors Disk model: Generic 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: gpt Disk identifier: 05AB264B-738E-47BB-9F67-5C04CC24A736 Device Start End Sectors Size Type /dev/sda1 2048 500118158 500116111 238.5G Linux filesystem root@debian:~# mount /dev/sda1 /mnt/sda/ root@debian:~# cd /mnt/sda root@debian:/mnt/sda# dd if=/dev/zero of=sd.img bs=4M count=4096 oflag=direct 4096+0 records in 4096+0 records out 17179869184 bytes (17 GB, 16 GiB) copied, 81.5051 s, 211 MB/s -------------- root@debian:/# lsusb Bus 002 Device 003: ID 046d:c52f Logitech, Inc. Unifying Receiver Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 006 Device 003: ID 04e8:61f5 Samsung Electronics Co., Ltd Portable SSD T5 Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 002: ID 046d:c31c Logitech, Inc. Keyboard K120 Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub root@debian:/mnt/sda# dd if=/dev/zero of=sd.img bs=4M count=4096 oflag=direct 4096+0 records in 4096+0 records out 17179869184 bytes (17 GB, 16 GiB) copied, 83.7618 s, 205 MB/s cpufreq *3 root@debian:~# cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_max_freq 1800000 1800000 1800000 1800000 root@debian:~# cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq 1416000 1416000 1416000 1416000 root@debian:~# cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq 1800000 1800000 1800000 1800000 root@debian:~# cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq 1416000 1416000 1416000 1416000 PCIe NVMe SSD *4 root@debian:/mnt/nvme# dd if=/dev/zero of=sd.img bs=4M count=4096 oflag=direct 4096+0 records in 4096+0 records out 17179869184 bytes (17 GB, 16 GiB) copied, 58.0362 s, 296 MB/s

    Das soll laut Peter die maximal mögliche Geschwindigkeit der PCIe Schnittstelle sein. Diese Schnittstelle ist nur mit einer Lane an den Prozessor angeschlossen!

    UART

    Bitte drauf achten, diese Schnittstelle arbeitet mit Level Shifting, was billige Adapter oft nicht abkönnen. Habe ich hier im Beitrag ausführlich erklärt, mit passenden Adapter, wenn es so wie bei mir nicht funktionierte.

  • Quartz64 - Manjaro wöchentliche Builds

    Images
    5
    0 Stimmen
    5 Beiträge
    246 Aufrufe
    FrankMF

    Mit Kernel

    [root@frank-pc ~]# uname -a Linux frank-pc 5.16.0-rc2-4-MANJARO-ARM #1 SMP PREEMPT Thu Nov 25 11:15:05 UTC 2021 aarch64 GNU/Linux

    hat man jetzt eine Audioausgabe über HDMI.

    [root@frank-pc ~]# cat /proc/asound/cards 0 [RK817 ]: simple-card - Analog RK817 Analog RK817 1 [SPDIF ]: simple-card - SPDIF SPDIF 2 [hdmisound ]: simple-card - hdmi-sound hdmi-sound

    Das ist jetzt zur Zeit noch ein Patch, den Dan vom Manjaro-Team benutzt hat. Dürfte noch nicht Upstream sein, kommt aber sicherlich.

  • Quartz64 - GPIO Modell A

    Angeheftet Verschoben Quartz64 - A
    1
    0 Stimmen
    1 Beiträge
    166 Aufrufe
    Niemand hat geantwortet
  • HardROCK64

    Allgemeine Diskussionen
    1
    0 Stimmen
    1 Beiträge
    208 Aufrufe
    Niemand hat geantwortet