Skip to content

Quartz64 - Image von Peter Geis

Images
  • Es gibt noch ein Test Image. Peter ist sehr aktiv darin, Kerneländerungen upstream zu melden, so weit ich das richtig überblicke. Ich hatte so ein wenig Probleme zu verstehen, wie Peter sein Image aufgebaut hat. Heute habe ich mir als erstes mal die Struktur angesehen.

    Boot-Menü

    So sieht das Boot-Menü aus, wenn man das Image startet.

    Quartz64 Installer
    1:      Buildroot-recovery Quartz64 Model A
    2:      Buildroot-recovery Quartz64 Model A
    3:      Debian-Installer Quartz64 Model A
    4:      Debian-Installer Quartz64 Model B
    5:      Boot Root SDMMC Quartz64 Model A
    6:      Boot Root SDMMC Quartz64 Model B
    7:      Boot Root eMMC Quartz64 Model A
    8:      Boot Root eMMC Quartz64 Model B
    

    SD-Karte

    e9951ad4-34fb-4dce-a01d-a003958d14c7-grafik.png

    Dabei fiel mir auf, das die Partition 7 nur ein leeres Laufwerk ist. Aha, dann weiß ich auch wohin das Debian installiert werden muss.

    Den Debian Installer mit der Option Nummer 3 gestartet und den Installationsvorgang gestartet. Bei der Partitionierung auf Manuell gehen und nur die Partition7 für Root auswählen. Dann weiter machen. Er meckert über nicht vorhandene swap Partition - geschenkt 😉

    Nach Abschluss der Installation neustarten und nun die Option Nummer 5 auswählen. Dann startet er das installierte Debian.

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

    Kernel-Version

    root@quartz64:~# uname -a
    Linux quartz64 5.13.0-rc4-next-20210603 #1 SMP PREEMPT Sat Jun 26 13:03:43 UTC 2021 aarch64 GNU/Linux
    
  • Beim Image vom Peter geht die PCIe-Schnittstelle nicht. Wird wohl kein Kernel-Modul geladen, ist auch nicht vorhanden.

  • Ich muss hier mal kurz was parken. Ich komme später darauf zurück.

    Partition 7 vergrößern

    apt install cloud-guest-utils
    growpart -N /dev/sde 7 ##dry-rum
    growpart /dev/sde 7
    resize2fs /dev/sde7
    fdisk -l
    
  • 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.

  • [V] Quartz64B V1.3

    Frank's Resterampe
    1
    0 Stimmen
    1 Beiträge
    111 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - Modell B - Manjaro Rootverzeichnis ändern

    Quartz64
    3
    0 Stimmen
    3 Beiträge
    128 Aufrufe
    FrankMF

    Da gab es doch gestern noch einen bösen Fehler, als ich vom Kernel Linux 5.17.0-2 auf Linux 5.17.0-3 aktualisiert habe, war das System danach kaputt. Hmm, ich habe dann versucht das zu untersuchen und war zu der Erkenntnis gekommen, das das Boot Verzeichnis nicht korrekt gemountet war. Konnte es aber nicht selber lösen 😞

    Dan hat das dann heute erledigt, wenn man jetzt das Image installiert, dann ist auch das Boot Verzeichnis korrekt gemountet.

    [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,2M 1,9G 1% /run /dev/sda1 458G 4,5G 430G 2% / tmpfs 1,9G 0 1,9G 0% /dev/shm tmpfs 1,9G 9,6M 1,9G 1% /tmp /dev/mmcblk0p1 458M 41M 417M 9% /boot tmpfs 374M 44K 374M 1% /run/user/1000 /dev/mmcblk0p2 59G 3,7G 52G 7% /run/media/frank/ROOT_MNJRO

    Dann sollte das auch klappen, wenn man wie ich aktuell das Root Verzeichnis auf die SSD am USB3 Port gelegt hat.

  • Quartz64 - Missing SPI ?

    Verschoben Quartz64
    1
    0 Stimmen
    1 Beiträge
    432 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - Manjaro Image Aktuell!

    Images
    8
    0 Stimmen
    8 Beiträge
    340 Aufrufe
    FrankMF

    Gestern hatte ich nach langer Zeit mal wieder das Bedürfnis zu schauen, was Manjaro so macht 😉

    Dieses Image habe ich ausgewählt. Manjaro-ARM-kde-plasma-quartz64-a-20220418.img.xz

    Nach der Installation bemerkt, das jetzt beim Login steht, das man eine Wayland Session startet 😍

    20220421_205322.jpg

    Man merkt dem KDE Plasma direkt an, das er wesentlich weniger Latenzen hat, als das olle X11. Ich musste dann dem Dan wieder auf die Nerven gehen, weil ich doch von dem Thema Grafik, 3D-Beschleunigung usw. NULL Ahnung habe. Er meinte dann zu mir, das Panfrost mittlerweile aktiv ist. Panfrost?

    Schauen wir mal nach. https://docs.mesa3d.org/drivers/panfrost.html

    The Panfrost driver stack includes an OpenGL ES implementation for Arm Mali GPUs based on the Midgard and Bifrost microarchitectures.

    Im Quartz64 ist folgende GPU verbaut

    Mali-G52 2EE Bifrost GPU@800MHz

    Diese wird von Panfrost unterstützt.

    Jetzt stand da noch OpenGLS ES, was ist das?

    OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset[2] of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerated using a graphics processing unit (GPU).
    Quelle: https://en.wikipedia.org/wiki/OpenGL_ES

    Ich habe dann mal geschaut, wie man Panfrost testen kann. Hier bin ich gelandet.

    Ich habe zwei Test gemacht, einmal mit X11 und das andere Mal mit Wayland. Von dem X11 Test habe ich ein kleines Video angefertigt.

    Am Ende könnt ihr den glmark Score erkennen 112

    Und hier mal das Ergebnis mit Wayland 365 Ich würde jetzt als Noob sagen, Wayland ist 3,3 mal schneller. Da ich aber eingangs schon erwähnte, das ich von dem Thema keine Ahnung habe, überlasse ich den Menschen mit Fachkenntnissen die Einschätzung.

    2022-04-21_20-49.png

    Mein subjektiver Eindruck ist, Wayland läuft wesentlich besser. Das habe ich auch auf meinem Haupt-PC schon festgestellt. Vor allen Dingen die Latenz ist um ein vielfaches besser. Aber wir dürfen auch nicht verschweigen, bei Wayland geht vieles noch immer nicht. Zum Beispiel konnte ich das Video nur auf X11 mit SimpleScreenRecorder machen.

    Leider sind wir immer noch nicht an dem Punkt, wo z.B. Youtube Videos im FF einwandfrei laufen. Von der HArdware Unterstützung brauchen wir auch nicht zu sprechen, da geht immer noch nicht so richtig viel. Die PCIe Schnittstelle habe ich noch kurz mit einer NVMe getestet.

    [frank@frank-pc e5f97e94-0e45-4fa6-b8fb-373e35c708f8]$ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.489 $ Compiled for 64 bit mode. Build: linux Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer, Vangel Bojaxhi, Ben England, Vikentsi Lapa, Alexey Skidanov, Sudhir Kumar. Run began: Thu Apr 21 21:49:06 2022 Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 102400 kB Record Size 4 kB Record Size 16 kB Record Size 512 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 53221 74745 76900 77656 46983 73982 102400 16 135113 181063 182235 183108 131535 180494 102400 512 354092 361813 357888 362080 351316 361385 102400 1024 368909 373104 374076 378286 372179 372881 102400 16384 384251 378963 376150 377334 376874 377929 iozone test complete.
  • Quartz64 - Wireguard

    Verschoben Quartz64
    1
    0 Stimmen
    1 Beiträge
    240 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - Manjaro Test-Image

    Verschoben Archiv
    2
    0 Stimmen
    2 Beiträge
    274 Aufrufe
    FrankMF

    Das mit der fehlenden Funktionalität ist zum Testen etwas blöd, ich mache das halt gerne mittels SSH. Mal in meiner Wühlkiste einen USB-to-LAN Adapter gesucht und gefunden.

    Der einzige USB-Port der aktuell funktioniert ist der doppelte USB2-Port. Der kombinierte USB2/USB3 macht nix.

    6: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0a:cd:2a:ec:37 brd ff:ff:ff:ff:ff:ff inet 192.168.3.220/24 brd 192.168.3.255 scope global dynamic noprefixroute eth1 valid_lft 42957sec preferred_lft 37557sec inet6 fd8a:6ff:2880:0:e751:542:6dcd:e08b/64 scope global mngtmpaddr noprefixroute valid_lft forever preferred_lft forever inet6 2a02:xxxxxxxxxxxxxxxxx/64 scope global dynamic mngtmpaddr noprefixroute valid_lft 5259sec preferred_lft 1659sec inet6 fe80::aa11:dbfb:980:4dfa/64 scope link valid_lft forever preferred_lft forever

    Ok, jetzt kann man erst mal mit dem Quartz64 arbeiten 😉

  • Quartz64 - GPIO Modell A

    Angeheftet Verschoben Quartz64 - A
    1
    0 Stimmen
    1 Beiträge
    170 Aufrufe
    Niemand hat geantwortet
  • Pine64 Neuigkeiten Mai 2019

    ROCKPro64
    4
    0 Stimmen
    4 Beiträge
    386 Aufrufe
    FrankMF

    f28a1ff9-0ea8-4b25-8aea-6bec3cd495f9-grafik.png