Skip to content

Quartz64 - dts File bearbeiten

Angeheftet Verschoben Quartz64
3 1 368
  • ACHTUNG, nur was für erfahrene Nutzer. Beschädigungen der Hardware nicht ausgeschlossen!! Also, Hirn einschalten!!

    Was ist das dts File?

    Wenn ich das alles richtig verstanden habe, wird in diesem File das SBC hardwaremäßig definiert.

    Beispiel

            cpus {
                    #address-cells = <0x02>;
                    #size-cells = <0x00>;
    
                    cpu@0 {
                            device_type = "cpu";
                            compatible = "arm,cortex-a55";
                            reg = <0x00 0x00>;
                            clocks = <0x02 0x00>;
                            #cooling-cells = <0x02>;
                            enable-method = "psci";
                            operating-points-v2 = <0x03>;
                            cpu-supply = <0x04>;
                            phandle = <0x06>;
                    };
    
                    cpu@100 {
                            device_type = "cpu";
                            compatible = "arm,cortex-a55";
                            reg = <0x00 0x100>;
                            #cooling-cells = <0x02>;
                            enable-method = "psci";
                            operating-points-v2 = <0x03>;
                            cpu-supply = <0x04>;
                            phandle = <0x07>;
                    };
    
                    cpu@200 {
                            device_type = "cpu";
                            compatible = "arm,cortex-a55";
                            reg = <0x00 0x200>;
                            #cooling-cells = <0x02>;
                            enable-method = "psci";
                            operating-points-v2 = <0x03>;
                            cpu-supply = <0x04>;
                            phandle = <0x08>;
                    };
    
                    cpu@300 {
                            device_type = "cpu";
                            compatible = "arm,cortex-a55";
                            reg = <0x00 0x300>;
                            #cooling-cells = <0x02>;
                            enable-method = "psci";
                            operating-points-v2 = <0x03>;
                            cpu-supply = <0x04>;
                            phandle = <0x09>;
                    };
    

    Das File liegt bei der Benutzung des Manjaro Images unter /boot/dtbs/rockchip/ und hat folgenden Namen

    rk3566-quartz64-a.dtb
    

    oder

      rk3566-quartz64-b.dtb
    

    Ok, diese Files sind Binärfiles, das heißt wir können sie nicht einfach lesen, ändern und speichern. Dazu braucht man ein Tool mit dem Namen Device-Tree-Compiler - oder auch dtc

    Installiert man unter Manjaro mit

    pacman -S dtc
    

    Dann kopiert man sich das .dtb mal irgendwo hin, sicher ist sicher 😉

    cp /boot/dtbs/rockchip/rk3566-quartz64-b.dtb /root
    

    Nun wandeln wir das File in ein lesbares Format um.

    dtc -I dtb -O dts -o /root/testfile.dts /root/rk3566-quartz64-b.dtb
    
    • -I dtb - Input format
    • -O dts - Output format
    • -o - Output file
    • und am Ende das Sourcefile

    Für mich etwas seltsamer Aufbau, so das ich immer durcheinander komme. Für mich wäre Quelle -> Ziel logischer. Aber gut, so schreibe ich das mal wieder hier hin, damit ich es beim nächsten Mal nachlesen kann.

    Wir bekommen ein File mit dem Namen testfile.dts

    .dts steht für Source File
    .dtb steht für Binär File

    Dieses File ist ein ganz normales Textfile, was wir nun lesen, ändern und speichern können.

            pmu {
                    compatible = "arm,cortex-a55-pmu";
                    interrupts = <0x00 0xe4 0x04 0x00 0xe5 0x04 0x00 0xe6 0x04 0x00 0xe7 0x04>;
                    interrupt-affinity = <0x06 0x07 0x08 0x09>;
            };
    
            psci {
                    compatible = "arm,psci-1.0";
                    method = "smc";
            };
    
            timer {
                    compatible = "arm,armv8-timer";
                    interrupts = <0x01 0x0d 0x04 0x01 0x0e 0x04 0x01 0x0b 0x04 0x01 0x0a 0x04>;
                    arm,no-tick-in-suspend;
            };
    
            xin24m {
                    compatible = "fixed-clock";
                    clock-frequency = <0x16e3600>;
                    clock-output-names = "xin24m";
                    #clock-cells = <0x00>;
                    phandle = <0xa8>;
            };
    
            xin32k {
                    compatible = "fixed-clock";
                    clock-frequency = <0x8000>;
                    clock-output-names = "xin32k";
                    pinctrl-0 = <0x0a>;
                    pinctrl-names = "default";
                    #clock-cells = <0x00>;
                    phandle = <0xa9>;
            };
    
            sram@10f000 {
                    compatible = "mmio-sram";
                    reg = <0x00 0x10f000 0x00 0x100>;
                    #address-cells = <0x01>;
                    #size-cells = <0x01>;
                    ranges = <0x00 0x00 0x10f000 0x100>;
    
                    sram@0 {
                            compatible = "arm,scmi-shmem";
                            reg = <0x00 0x100>;
                            phandle = <0x05>;
                    };
            };
    
            sata@fc400000 {
                    compatible = "snps,dwc-ahci";
                    reg = <0x00 0xfc400000 0x00 0x1000>;
                    clocks = <0x0b 0x9b 0x0b 0x9c 0x0b 0x9d>;
                    clock-names = "sata\0pmalive\0rxoob";
                    interrupts = <0x00 0x5f 0x04>;
                    interrupt-names = "hostc";
                    phys = <0x0c 0x01>;
                    phy-names = "sata-phy";
                    ports-implemented = <0x01>;
                    power-domains = <0x0d 0x0f>;
                    status = "okay";
                    phandle = <0xaa>;
            };
    

    wird fortgesetzt....

  • Teil 2

    Wir wollen aus dem Souce-File wieder ein .dtb machen.

     dtc -I dts -O dtb -o /root/rk3566-quartz64-b.dtb /root/testfile.dts
    
    • -I dts - Input format
    • -O dtb - Output format
    • -o - Output file
    • und am Ende das Sourcefile

    Wir drehen die beiden Parameter -I und -O um und passen die Files an. Danach kommen ganz viele Warnungen, so was hier

    /root/testfile.dts:1119.3-56: Warning (clocks_property): /mmc@fe2b0000:clocks: cell 0 is not a phandle reference
    /root/testfile.dts:1119.3-56: Warning (clocks_property): /mmc@fe2b0000:clocks: cell 2 is not a phandle reference
    

    Aber, da fehlen mir die Kenntnisse um beurteilen zu können, ob das funktioniert.

    Zum Schluss kopiert man das fertig geändert .dtb wieder in den /boot Ordner.

    cp /root/rk3566-quartz64-b.dtb /boot/dtbs/rockchip/
    

    Das Bord neustarten und hoffen 🙂

  • Ich weiß nicht, wonach ich gesucht habe, vermutlich nach

    apt install device-tree-compiler
    

    das gibt es im Manjaro Image nicht, es heißt ganz einfach dtc 😎 Also, ganz einfach mit

    pacman -S dtc
    

    installieren. Dann kann man sich diesen Umweg mit snapd sparen.

  • FrankMF FrankM verschob dieses Thema von Quartz64 am
  • FrankMF FrankM verschob dieses Thema von Quartz64 - A am
  • FrankMF FrankM hat dieses Thema am angepinnt
  • Nextcloud 28.0.0 - OpenAI Integration

    Nextcloud nextcloud linux openai
    2
    6
    0 Stimmen
    2 Beiträge
    910 Aufrufe
    FrankMF
    Noch eine Ergänzung. Wenn ihr jetzt viele User habt und das nur auf eine Gruppe beschränken wollt, könnt ihr das so machen. Unter Apps, Nextcloud Assistant suchen und die gewünschten Gruppen eintragen. Fertig [image: 1702725312285-197deae4-d72a-4729-bba7-bfa9b4bef334-grafik.png]
  • Firefox - Dolphin Dateibrowser benutzen

    Linux firefox linux
    1
    1
    0 Stimmen
    1 Beiträge
    505 Aufrufe
    Niemand hat geantwortet
  • FrOSCon 18

    Linux froscon linux opensource
    1
    0 Stimmen
    1 Beiträge
    109 Aufrufe
    Niemand hat geantwortet
  • Debian Bookworm 12 - Btrfs Installation

    Linux debian bookworm linux
    3
    1
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    FrankMF
    Das mit den Namen der btrfs Subvolumes ist bekannt bei Timeshift. Im Readme steht dazu folgendes. BTRFS volumes BTRFS volumes must have an Ubuntu-type layout with @ and @home subvolumes. Other layouts are not supported. Systems having the @ subvolume and having /home on a non-BTRFS partition are also supported. Text file busy / btrfs returned an error: 256 / Failed to create snapshot can occur if you have a Linux swapfile mounted within the @ or @home subvolumes which prevents snapshot from succeeding. Relocate the swapfile out of @ or *@home, for example into it's own subvolume like @swap.
  • Quartz64 - Modell B - Manjaro Rootverzeichnis ändern

    Quartz64 quartz64
    3
    0 Stimmen
    3 Beiträge
    179 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 - Modell B - M.2 Anschluss

    Quartz64 - B quartz64
    3
    1
    0 Stimmen
    3 Beiträge
    319 Aufrufe
    FrankMF
    Ich hatte schon drauf getippt, das der Slot nur mit einer Lane angeschlossen ist. <pgwipeout> It is a single lane pcie2 port. Und damit ist das das erwartete Ergebnis 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.4993 s, 294 MB/s Das alles mit Debian 10, was man mit Peters Buildsystem installieren kann. Kann man aber auch bei Bedarf auf 11.3 hochziehen root@debian:/etc# uname -a Linux debian 5.17.0 #1 SMP PREEMPT Thu Apr 7 13:38:56 UTC 2022 aarch64 GNU/Linux root@debian:/etc# cat debian_version 11.3 root@debian:/etc#
  • ROCKPro64 - Kernel 5.6 und Wireguard 1.0

    ROCKPro64 linux rockpro64 wireguard
    1
    0 Stimmen
    1 Beiträge
    342 Aufrufe
    Niemand hat geantwortet
  • Restic - Beispielzeiten

    Restic linux restic
    1
    0 Stimmen
    1 Beiträge
    518 Aufrufe
    Niemand hat geantwortet