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 - Modell B - Stromverbrauch

    Quartz64 - B
    1
    0 Stimmen
    1 Beiträge
    104 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - Modell B - WiFi

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

    Images
    6
    0 Stimmen
    6 Beiträge
    151 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 - UART

    Angeheftet Quartz64 - B
    4
    0 Stimmen
    4 Beiträge
    163 Aufrufe
    FrankMF

    Um das hier zu komplettieren, habe ich mich gerade gefragt "Wo speichert er die Settings?"

    Ok, ich habe sie gefunden.

    /root/.minirc.dfl

    Inhalt

    # Diese Datei ist maschinell erzeugt. Bitte verwenden Sie das # Einstellungs-Menü im minicom-Programm, um die Einstellungen # zu ändern. pu rtscts No

    Jetzt habe ich ausreichend hier dokumentiert, falls ich da nochmal Probleme mit habe.

  • Quartz64 - Image von Peter Geis

    Images
    4
    0 Stimmen
    4 Beiträge
    306 Aufrufe
    FrankMF

    Nach langer Zeit habe ich mich mal wieder mit diesem Image beschäftigt. Peter hat da mittlerweile viel dran gearbeitet und jetzt schau ich mal, was so wie funktioniert. Also, das Image wie gewohnt auf eine SD-Karte und starten. Gewählt habe ich dieses Image -> rk3566-quartz64-a.dtb.img

    Wenn man das Image startet, wird man hiermit begrüßt

    screen01.png

    Punkt 1Buildroot-recovery startet ein Minimalsystem, womit man verschiedene Dinge auf der Konsole durchführen kann. Das brauchen wir gleich noch. Punkt 2 startet den Debian Installer Punkt 3 startet ein installiertes Debian von der SD-Karte Punkt 4 startet ein installiertes Debian vom eMMC-Modul

    Ich möchte heute mal schauen, ob man ein Minimal-System auf die PCIe-NVMe-Karte installieren kann. Peter hat nämlich den PCIe-Treiber mittlerweile im Kernel mit eingebaut.

    Dazu starte ich den Debian-Installer und führe die Installation durch. Für mich nichts besonderes, das mache ich ja sehr oft. Nach erfolgreicher Installation startet die Installation nicht, weil Peter in seinem Image das so nicht vorgesehen hat.

    Es gibt mehrere Möglichkeiten, das jetzt zu ändern. Wir machen das über UART direkt auf dem Quartz64.

    Die Struktur von Peters Image sieht so aus.

    e50bf2fe-723c-41f8-acba-227e148374ed-image.png

    Ich gehe nicht auf alles ein, die wichtigsten Partitionen haben einen Namen. Uns interessiert hier die Partition Nummer 5 mit dem Namen efi. (Auf der SD-Karte!!) Der Inhalt

    3c5cbf5f-811d-4c1f-95e9-cd007a37155c-image.png

    Im Ordner extlinux liegt die Konfigurationsdatei, die wir bearbeiten müssen. extlinux.config

    default l0 menu title Quartz64 Installer prompt 0 timeout 50 label l0 menu label Buildroot-recovery linux /vmlinuz initrd /rootfs.cpio.zst fdt /dtbs/rockchip/rk3566-quartz64-a.dtb append earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000n8 label l1 menu label Debian-Installer linux /vmlinuz initrd /initrd.gz fdt /dtbs/rockchip/rk3566-quartz64-a.dtb append earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000n8 label l6 menu label Boot Root SDMMC linux /vmlinuz fdt /dtbs/rockchip/rk3566-quartz64-a.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/rk3566-quartz64-a.dtb append earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000n8 root=/dev/mmcblk1p7 rootwait

    Ich nehme den Eintrag label l9 und passe ihn ein wenig an.

    label l9 menu label Boot Root NVMe linux /dev/nvme0n1p1/vmlinuz fdt /dtbs/rockchip/rk3566-quartz64-a.dtb append earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000n8 root=/dev/nvme0n1p2 rootwait

    Das wird abgespeichert, danach kann man den Quartz64 neustarten und mit Eingabe der Taste 4 startet man dann das Debian von der NVMe SSD.

    root@debian:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/root 457G 926M 432G 1% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 2.0G 17M 1.9G 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/nvme0n1p1 472M 49M 400M 11% /boot tmpfs 391M 0 391M 0% /run/user/1000

    PCIe

    root@debian:~# lspci 00:00.0 PCI bridge: Fuzhou Rockchip Electronics Co., Ltd Device 3566 (rev 01) 01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981

    Es handelt sich um ein Debian Buster 10

    VERSION="10 (buster)"

    Wollen wir das? Nö

    # deb http://deb.debian.org/debian/ buster main deb http://deb.debian.org/debian/ bullseye main deb-src http://deb.debian.org/debian/ bullseye main deb http://security.debian.org/debian-security bullseye-security main deb-src http://security.debian.org/debian-security bullseye-security main # buster-updates, previously known as 'volatile' deb http://deb.debian.org/debian/ bullseye-updates main deb-src http://deb.debian.org/debian/ bullseye-updates main

    Danach ein

    apt update && apt upgrade

    Neustarten und wir haben ein Debian Bullseye 11 🙂 Dieses Debian nutzt so jetzt nicht den Kernel von Debian, sondern Peters

    root@debian:/etc# uname -a Linux debian 5.17.0-rc3 #1 SMP PREEMPT Wed Feb 16 00:41:25 UTC 2022 aarch64 GNU/Linux

    Die Entscheidung überlasse ich Euch, ob ihr das Ändern wollt. Ich lasse das jetzt mal so. Wenn ihr wollt, das die Installation von alleine startet, dann müsst ihr Label 0 anpassen, das startet nach einem Timeout automatisch.

  • Quartz64 - Boot Order

    Angeheftet Hardware
    1
    0 Stimmen
    1 Beiträge
    337 Aufrufe
    Niemand hat geantwortet
  • Quartz64

    Verschoben Quartz64
    3
    0 Stimmen
    3 Beiträge
    476 Aufrufe
    FrankMF

    Es gibt Neuigkeiten!

    We are currently planning on making Quartz64 available next month. However, given the unpredictability of the manufacturing situation, please consider this a tentative time-frame. Once the production is underway, I’ll publish a dedicated post with additional information and an exact availability date.

    Although the hardware will soon see the light of day, the software is still not ready for primetime. Indeed, despite a truly monumental effort from various parties and lightning fast development progress, Quartz64 is still in early stages of development. This is understandable given how young the SoC is and how few Quartz64 (and other RK3566 boards) are currently available to developers. We will therefore target this initial production-run at developers and technically inclined enthusiasts able to help in the bring-up process. The soon-to-be scheduled batch will be large enough to cover all developers interested in picking up a unit (and then some), but end-users will specifically be asked to wait a little longer. After all, it is in everyone’s best interest that these early boards end up in the right hands at this early stage of development.

    Quelle: https://www.pine64.org/2021/05/15/may-update-connection-established/