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
    45 Aufrufe
    Niemand hat geantwortet
  • 0 Stimmen
    1 Beiträge
    101 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - Wireguard

    Verschoben Quartz64
    1
    0 Stimmen
    1 Beiträge
    223 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - Image von Peter Geis

    Images
    4
    0 Stimmen
    4 Beiträge
    312 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.

  • Manjaro Image - LAN Schnittstelle

    Verschoben Quartz64
    3
    0 Stimmen
    3 Beiträge
    210 Aufrufe
    T

    @frankm

    and in 5.13.0-rc4-0.8 you have to do it again 😉

    nice tips 👍 i got the board working

  • Quartz64 - Jumper BAT ON/OFF

    Angeheftet Verschoben Quartz64 - A
    1
    0 Stimmen
    1 Beiträge
    188 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - GPIO Modell A

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

    Angeheftet Verschoben Archiv
    2
    0 Stimmen
    2 Beiträge
    201 Aufrufe
    FrankMF

    Manjaro Images -> https://github.com/manjaro-arm/quartz64-bsp-images/releases

    Ab Dev 20211117 mit HDMI-Ausgabe!