Skip to content

Quartz64 - dts File bearbeiten

Angeheftet Verschoben Quartz64
3 1 409
  • 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.

  • F FrankM verschob dieses Thema von Quartz64 am 2. Juni 2022, 03:36
  • F FrankM verschob dieses Thema von Quartz64 - A am 2. Juni 2022, 03:40
  • F FrankM hat dieses Thema am 6. Juni 2022, 14:12 angepinnt

3/3

3. Okt. 2021, 14:52


  • NodeBB - ActivityPub

    NodeBB nodebb linux fediverse 12. Jan. 2025, 19:10
    0 Stimmen
    1 Beiträge
    135 Aufrufe
    Niemand hat geantwortet
  • nano - Zeilennummern dauerhaft anzeigen

    Linux linux 16. Feb. 2022, 20:02
    2
    0 Stimmen
    3 Beiträge
    3k Aufrufe
    @masko Danke für die Ergänzung. Um den Code zu markieren, kannst Du im Texteditor auf </> klicken oder einfach 4 Leerzeichen vor den Code setzen. Dann sieht es besser aus Und Willkommen im Forum!
  • Ansible - ein kurzer Test

    Linux ansible linux 14. Nov. 2021, 08:28
    0 Stimmen
    1 Beiträge
    192 Aufrufe
    Niemand hat geantwortet
  • ZFS - Wichtige Befehle

    Linux zfs linux 18. Okt. 2021, 18:29
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    Heute mal drüber gestolpert, das es auch so was geben kann. root@pve2:~# zpool status pool: pool_NAS state: ONLINE status: Some supported and requested features are not enabled on the pool. The pool can still be used, but some features are unavailable. action: Enable all features using 'zpool upgrade'. Once this is done, the pool may no longer be accessible by software that does not support the features. See zpool-features(7) for details. scan: scrub repaired 0B in 00:20:50 with 0 errors on Sun Apr 13 00:44:51 2025 config: NAME STATE READ WRITE CKSUM pool_NAS ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ata-WDC_WDS100T1R0A-68A4W0_230520800733 ONLINE 0 0 0 ata-WDC_WDS100T1R0A-68A4W0_230520801376 ONLINE 0 0 0 errors: No known data errors Was machen? Als erstes mal ein Backup angestoßen. Danach root@pve2:~# zpool get all pool_NAS | grep feature pool_NAS feature@async_destroy enabled local pool_NAS feature@empty_bpobj active local pool_NAS feature@lz4_compress active local pool_NAS feature@multi_vdev_crash_dump enabled local pool_NAS feature@spacemap_histogram active local pool_NAS feature@enabled_txg active local pool_NAS feature@hole_birth active local pool_NAS feature@extensible_dataset active local pool_NAS feature@embedded_data active local pool_NAS feature@bookmarks enabled local pool_NAS feature@filesystem_limits enabled local pool_NAS feature@large_blocks enabled local pool_NAS feature@large_dnode enabled local pool_NAS feature@sha512 enabled local pool_NAS feature@skein enabled local pool_NAS feature@edonr enabled local pool_NAS feature@userobj_accounting active local pool_NAS feature@encryption enabled local pool_NAS feature@project_quota active local pool_NAS feature@device_removal enabled local pool_NAS feature@obsolete_counts enabled local pool_NAS feature@zpool_checkpoint enabled local pool_NAS feature@spacemap_v2 active local pool_NAS feature@allocation_classes enabled local pool_NAS feature@resilver_defer enabled local pool_NAS feature@bookmark_v2 enabled local pool_NAS feature@redaction_bookmarks enabled local pool_NAS feature@redacted_datasets enabled local pool_NAS feature@bookmark_written enabled local pool_NAS feature@log_spacemap active local pool_NAS feature@livelist enabled local pool_NAS feature@device_rebuild enabled local pool_NAS feature@zstd_compress enabled local pool_NAS feature@draid enabled local pool_NAS feature@zilsaxattr disabled local pool_NAS feature@head_errlog disabled local pool_NAS feature@blake3 disabled local pool_NAS feature@block_cloning disabled local pool_NAS feature@vdev_zaps_v2 disabled local Das kommt von neuen Funktionen, die zu ZFS hinzugefügt wurden und bei Erstellung des Pools nicht vorhanden waren. Dann upgraden wir mal root@pve2:~# zpool upgrade pool_NAS This system supports ZFS pool feature flags. Enabled the following features on 'pool_NAS': zilsaxattr head_errlog blake3 block_cloning vdev_zaps_v2 Kontrolle root@pve2:~# zpool status pool: pool_NAS state: ONLINE scan: scrub repaired 0B in 00:20:50 with 0 errors on Sun Apr 13 00:44:51 2025 config: NAME STATE READ WRITE CKSUM pool_NAS ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ata-WDC_WDS100T1R0A-68A4W0_230520800733 ONLINE 0 0 0 ata-WDC_WDS100T1R0A-68A4W0_230520801376 ONLINE 0 0 0 errors: No known data errors Features kontrollieren root@pve2:~# zpool get all pool_NAS | grep feature pool_NAS feature@async_destroy enabled local pool_NAS feature@empty_bpobj active local pool_NAS feature@lz4_compress active local pool_NAS feature@multi_vdev_crash_dump enabled local pool_NAS feature@spacemap_histogram active local pool_NAS feature@enabled_txg active local pool_NAS feature@hole_birth active local pool_NAS feature@extensible_dataset active local pool_NAS feature@embedded_data active local pool_NAS feature@bookmarks enabled local pool_NAS feature@filesystem_limits enabled local pool_NAS feature@large_blocks enabled local pool_NAS feature@large_dnode enabled local pool_NAS feature@sha512 enabled local pool_NAS feature@skein enabled local pool_NAS feature@edonr enabled local pool_NAS feature@userobj_accounting active local pool_NAS feature@encryption enabled local pool_NAS feature@project_quota active local pool_NAS feature@device_removal enabled local pool_NAS feature@obsolete_counts enabled local pool_NAS feature@zpool_checkpoint enabled local pool_NAS feature@spacemap_v2 active local pool_NAS feature@allocation_classes enabled local pool_NAS feature@resilver_defer enabled local pool_NAS feature@bookmark_v2 enabled local pool_NAS feature@redaction_bookmarks enabled local pool_NAS feature@redacted_datasets enabled local pool_NAS feature@bookmark_written enabled local pool_NAS feature@log_spacemap active local pool_NAS feature@livelist enabled local pool_NAS feature@device_rebuild enabled local pool_NAS feature@zstd_compress enabled local pool_NAS feature@draid enabled local pool_NAS feature@zilsaxattr enabled local pool_NAS feature@head_errlog active local pool_NAS feature@blake3 enabled local pool_NAS feature@block_cloning enabled local pool_NAS feature@vdev_zaps_v2 enabled local So, alle neuen Features aktiviert. Jetzt kann der Pool weiterhin seine Arbeit machen.
  • Mobian - vollverschlüsselt

    Software pinephone mobian linux 2. Dez. 2020, 20:43
    0 Stimmen
    1 Beiträge
    355 Aufrufe
    Niemand hat geantwortet
  • Kopia 0.7.x released

    Kopia kopia linux 14. Sept. 2020, 11:04
    0 Stimmen
    1 Beiträge
    254 Aufrufe
    Niemand hat geantwortet
  • Wireguard - Client installieren

    Wireguard linux wireguard 9. Apr. 2020, 06:44
    0 Stimmen
    3 Beiträge
    924 Aufrufe
    Ich kann dir nicht ganz folgen. Mein Wireguard Server ist eine VM im Netz. Mein Smartphone baut zu diesem eine Verbindung auf und ich habe mal eben nachgeschaut, was da so geht. Mein Smartphone ist aktuell im meinem WLan angemeldet. [image: 1586458461693-6e0016dc-7e11-41e1-bba2-e52a3f1348df-image-resized.png] iperf3 -s -B 10.10.1.1 ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from 10.10.1.10, port 44246 [ 5] local 10.10.1.1 port 5201 connected to 10.10.1.10 port 44248 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 4.98 MBytes 41.7 Mbits/sec [ 5] 1.00-2.00 sec 5.52 MBytes 46.3 Mbits/sec [ 5] 2.00-3.00 sec 4.80 MBytes 40.3 Mbits/sec [ 5] 3.00-4.00 sec 4.17 MBytes 35.0 Mbits/sec [ 5] 4.00-5.00 sec 5.04 MBytes 42.3 Mbits/sec [ 5] 5.00-6.00 sec 5.43 MBytes 45.6 Mbits/sec [ 5] 6.00-7.00 sec 5.75 MBytes 48.3 Mbits/sec [ 5] 7.00-8.00 sec 5.70 MBytes 47.8 Mbits/sec [ 5] 8.00-9.00 sec 5.73 MBytes 48.1 Mbits/sec [ 5] 9.00-10.00 sec 5.65 MBytes 47.4 Mbits/sec [ 5] 10.00-10.04 sec 206 KBytes 46.5 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.04 sec 53.0 MBytes 44.3 Mbits/sec receiver ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from 10.10.1.10, port 44250 [ 5] local 10.10.1.1 port 5201 connected to 10.10.1.10 port 44252 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 4.80 MBytes 40.2 Mbits/sec 0 253 KBytes [ 5] 1.00-2.00 sec 14.7 MBytes 123 Mbits/sec 181 379 KBytes [ 5] 2.00-3.00 sec 9.68 MBytes 81.2 Mbits/sec 58 294 KBytes [ 5] 3.00-4.00 sec 8.88 MBytes 74.5 Mbits/sec 1 227 KBytes [ 5] 4.00-5.00 sec 7.76 MBytes 65.1 Mbits/sec 0 245 KBytes [ 5] 5.00-6.00 sec 8.88 MBytes 74.5 Mbits/sec 0 266 KBytes [ 5] 6.00-7.00 sec 9.81 MBytes 82.3 Mbits/sec 0 289 KBytes [ 5] 7.00-8.00 sec 7.82 MBytes 65.6 Mbits/sec 35 235 KBytes [ 5] 8.00-9.00 sec 5.59 MBytes 46.9 Mbits/sec 4 186 KBytes [ 5] 9.00-10.00 sec 6.64 MBytes 55.7 Mbits/sec 0 207 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.04 sec 84.6 MBytes 70.6 Mbits/sec 279 sender ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- ^Ciperf3: interrupt - the server has terminated Im zweiten Teil ist der Wireguard Server der Sender. Bis jetzt hatte ich eigentlich nie Probleme, auch nicht unterwegs. Aber, ich gehe davon aus, das ich dich nicht 100% verstanden habe
  • SSHFS

    Linux linux 28. Aug. 2019, 09:23
    0 Stimmen
    1 Beiträge
    357 Aufrufe
    Niemand hat geantwortet