{"id":129744,"date":"2026-04-21T12:00:15","date_gmt":"2026-04-21T10:00:15","guid":{"rendered":"https:\/\/riverdi.com\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays"},"modified":"2026-04-21T12:00:15","modified_gmt":"2026-04-21T10:00:15","slug":"building-device-tree-overlays-on-toradex-for-riverdi-displays","status":"publish","type":"post","link":"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays","title":{"rendered":"Creazione di sovrapposizioni ad albero di dispositivi su Toradex per i display Riverdi"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #002175;color:#002175\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #002175;color:#002175\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Panoramica_dellarchitettura_del_sistema\" >Panoramica dell&#8217;architettura del sistema<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Software\" >Software<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Installare_le_dipendenze_della_compilazione\" >Installare le dipendenze della compilazione<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Creare_lo_spazio_di_swap_e_preparare_la_directory_di_lavoro\" >Creare lo spazio di swap e preparare la directory di lavoro<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Clonare_i_sorgenti_del_kernel_Linux_di_Toradex\" >Clonare i sorgenti del kernel Linux di Toradex<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Selezionare_il_ramo_del_kernel_corretto\" >Selezionare il ramo del kernel corretto<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Clonare_il_framework_di_overlay_Device_Tree\" >Clonare il framework di overlay Device Tree<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Selezione_del_ramo_di_struttura_di_overlay_corretto\" >Selezione del ramo di struttura di overlay corretto<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Configurare_il_percorso_dei_sorgenti_del_kernel_e_clonare_i_sorgenti_delloverlay_Riverdi\" >Configurare il percorso dei sorgenti del kernel e clonare i sorgenti dell&#8217;overlay Riverdi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Clonare_le_fonti_di_overlay_Riverdi\" >Clonare le fonti di overlay Riverdi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Verifica_dei_rami_del_repository_e_individuazione_delle_fonti_di_overlay\" >Verifica dei rami del repository e individuazione delle fonti di overlay<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Costruire_loverlay_e_preparare_lalbero_dei_sorgenti_del_kernel\" >Costruire l&#8217;overlay e preparare l&#8217;albero dei sorgenti del kernel<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Aggiungere_i_sorgenti_delloverlay_Riverdi_al_framework_di_build\" >Aggiungere i sorgenti dell&#8217;overlay Riverdi al framework di build<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Registrare_loverlay_nel_sistema_di_compilazione\" >Registrare l&#8217;overlay nel sistema di compilazione<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Creazione_della_struttura_ad_albero_dei_dispositivi\" >Creazione della struttura ad albero dei dispositivi<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Distribuzione\" >Distribuzione<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Collegamento_al_modulo_Verdin\" >Collegamento al modulo Verdin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Configurazione_dellinterfaccia_di_rete_del_modulo_Verdin\" >Configurazione dell&#8217;interfaccia di rete del modulo Verdin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Configurazione_di_un_indirizzo_IP_statico_sul_computer_host\" >Configurazione di un indirizzo IP statico sul computer host<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Trasferimento_delloverlay_al_modulo_Verdin\" >Trasferimento dell&#8217;overlay al modulo Verdin<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\/#Sintesi\" >Sintesi<\/a><\/li><\/ul><\/nav><\/div>\n<p>L&#8217;obiettivo di questa guida \u00e8 la creazione di un sistema funzionante partendo da un hardware pulito e fresco, utilizzando Torizon OS e i file sorgente dell&#8217;albero dei dispositivi di esempio da Riverdi GitHub.<\/p>\n<p>In questo modo otteniamo:<\/p>\n<ul>\n<li>Flashare il sistema operativo Torizon da zero<\/li>\n<li>Costruisci una struttura ad albero dei dispositivi personalizzata da Riverdi GitHub<\/li>\n<li>Abilita la sovrapposizione in Torizon<\/li>\n<li>Avvio in un display completamente grafico con touch<\/li>\n<\/ul>\n<p>Questa guida evita intenzionalmente:<\/p>\n<ul>\n<li>Costruire Yocto da zero<\/li>\n<li>Ricompilazione del kernel Linux<\/li>\n<li>Utilizzare una macchina virtuale Linux completa<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Panoramica_dellarchitettura_del_sistema\"><\/span>Panoramica dell&#8217;architettura del sistema<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img decoding=\"async\" class=\"alignnone wp-image-129317 size-full\" src=\"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/04\/BLOG_Grafika_POMIEDZY-TEKSTY_1-3-1.png\" alt=\"\" width=\"826\" height=\"504\" srcset=\"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/04\/BLOG_Grafika_POMIEDZY-TEKSTY_1-3-1.png 826w, https:\/\/riverdi.com\/wp-content\/uploads\/2026\/04\/BLOG_Grafika_POMIEDZY-TEKSTY_1-3-1-300x183.png 300w, https:\/\/riverdi.com\/wp-content\/uploads\/2026\/04\/BLOG_Grafika_POMIEDZY-TEKSTY_1-3-1-768x469.png 768w, https:\/\/riverdi.com\/wp-content\/uploads\/2026\/04\/BLOG_Grafika_POMIEDZY-TEKSTY_1-3-1-600x366.png 600w, https:\/\/riverdi.com\/wp-content\/uploads\/2026\/04\/BLOG_Grafika_POMIEDZY-TEKSTY_1-3-1-64x39.png 64w\" sizes=\"(max-width: 826px) 100vw, 826px\" \/><\/p>\n<p><strong>Hardware<\/strong><\/p>\n<ul>\n<li>Toradex Verdin iMX8MP o iMX8MM<\/li>\n<li>Portatore di Dalia Toradex<\/li>\n<li>Display Riverdi da 12,1&#8243; (o qualsiasi altro display Riverdi, ma in questo esempio usiamo il 12,1&#8243;)<\/li>\n<\/ul>\n<p>Prima di modificare il sistema, \u00e8 importante capire come \u00e8 costruita la pipeline di visualizzazione su Verdin iMX8MP + Dahlia.<\/p>\n<p><strong>Percorso dati del display<\/strong><\/p>\n<p>Per il display Riverdi da 12,1&#8243;, la catena del segnale \u00e8 la seguente:<\/p>\n<p>i.MX8MP LCDIF<\/p>\n<p>\u2193<\/p>\n<p>MIPI DSI<\/p>\n<p>\u2193<\/p>\n<p>SN65DSI83 (ponte DSI \u2192 LVDS)<\/p>\n<p>\u2193<\/p>\n<p>Pannello LVDS<\/p>\n<ul>\n<li>Il blocco LCDIF all&#8217;interno dell&#8217;i.MX8MP genera i dati dei pixel.<\/li>\n<li>I dati vengono trasmessi tramite MIPI DSI.<\/li>\n<li>Il TI SN65DSI83 converte il DSI in LVDS.<\/li>\n<li>Il pannello LVDS riceve i dati dei pixel e visualizza l&#8217;immagine.<\/li>\n<\/ul>\n<p><strong>Interfacce di controllo<\/strong><\/p>\n<p>Oltre al percorso video, devono essere configurati altri due sottosistemi:<\/p>\n<ul>\n<li>Controllo della retroilluminazione\n<ul>\n<li>Guidato dal PWM dell&#8217;i.MX8MP<\/li>\n<li>Collegato al driver della retroilluminazione del display<\/li>\n<li>Il ciclo di lavoro controlla la luminosit\u00e0 (0-100%)<\/li>\n<\/ul>\n<\/li>\n<li>Tocco capacitivo\n<ul>\n<li>Collegato via I2C<\/li>\n<li>Genera segnali di interruzione<\/li>\n<li>Espone un dispositivo di input in Linux (\/dev\/input\/eventX)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Software\"><\/span>Software<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Abbiamo utilizzato un ambiente Linux, in questo esempio una macchina virtuale Windows con Ubuntu installato. Questo \u00e8 il cuore della nostra guida. Qui troverai tutto il necessario: tutto il codice che utilizziamo, tutti i link e tutte le spiegazioni. Trovi il nostro github qui sotto:<br \/>\n<a href=\"https:\/\/github.com\/riverdi\/riverdi-toradex-DTS\">https:\/\/github.com\/riverdi\/riverdi-toradex-DTS<\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Installare_le_dipendenze_della_compilazione\"><\/span><strong>Installare le dipendenze della compilazione<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Prima di costruire gli overlay della Device Tree, l&#8217;ambiente di sviluppo deve contenere gli strumenti richiesti dal sistema di compilazione del kernel Linux.<br \/>\nApri un terminale e installa i pacchetti necessari utilizzando le seguenti istruzioni<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">sudo apt install -y \\\ngit make gcc g++ bc bison flex \\\nlibssl-dev libncurses-dev \\\npython3 python3-pip rsync wget xz-utils \\\ndispositivo-albero-compilatore\n<\/pre>\n<p>Questi pacchetti forniscono le utility di base necessarie per costruire i componenti relativi al kernel e gli artefatti della Device Tree.<\/p>\n<p>I seguenti strumenti sono particolarmente importanti per il processo di creazione dell&#8217;overlay:<\/p>\n<ul>\n<li>Git &#8211; Utilizzato per clonare i sorgenti del kernel Toradex e il framework di overlay device-tree.<\/li>\n<li>strumenti di compilazione (gcc, make, ecc.) &#8211; Richiesti dal sistema di compilazione del kernel Linux.<\/li>\n<li>device-tree-compiler (dtc) &#8211; Compila i file sorgente di Device Tree (.dts) in blob binari di Device Tree (.dtb o .dtbo).<\/li>\n<li>Librerie aggiuntive come libssl-dev e libncurses-dev sono richieste da varie parti dell&#8217;infrastruttura di compilazione del kernel.<\/li>\n<\/ul>\n<p>Una volta installate le dipendenze, il sistema \u00e8 pronto per clonare i sorgenti del kernel Toradex e preparare l&#8217;ambiente di compilazione per la compilazione dell&#8217;overlay Device Tree.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Creare_lo_spazio_di_swap_e_preparare_la_directory_di_lavoro\"><\/span><strong>Creare lo spazio di swap e preparare la directory di lavoro<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Quando si lavora in una macchina virtuale, la RAM disponibile pu\u00f2 essere limitata. I sistemi di compilazione legati al kernel possono richiedere memoria aggiuntiva durante la compilazione, soprattutto quando si elaborano alberi di sorgenti di grandi dimensioni. <\/p>\n<p>Per evitare errori di compilazione legati alla memoria, si consiglia di creare un file di swap che fornisca memoria virtuale aggiuntiva.<\/p>\n<p>Crea un file di swap da 4 GB utilizzando i seguenti comandi:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">sudo fallocate -l 4G \/swapfile\nsudo chmod 600 \/swapfile\nsudo mkswap \/swapfile\nsudo swapon \/swapfile\n<\/pre>\n<p>Il file di swap viene quindi aggiunto alla configurazione del sistema in modo da essere abilitato automaticamente dopo il riavvio:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">echo '\/swapfile none swap sw 0 0' | sudo tee -a \/etc\/fstab\n<\/pre>\n<p>Dopo aver preparato lo spazio di swap, crea una directory di lavoro che conservi tutti i repository e gli artefatti di compilazione utilizzati in questa guida:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">mkdir -p ~\/work\ncd ~\/lavoro\n<\/pre>\n<p>Questa directory sar\u00e0 utilizzata come spazio di lavoro principale per clonare i sorgenti del kernel Toradex, il framework di overlay e i file di overlay della visualizzazione Riverdi.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Clonare_i_sorgenti_del_kernel_Linux_di_Toradex\"><\/span>Clonare i sorgenti del kernel Linux di Toradex<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Il passo successivo \u00e8 scaricare i sorgenti del kernel Linux di Toradex. Questi sorgenti forniscono l&#8217;infrastruttura di compilazione e i file header necessari al processo di compilazione dell&#8217;overlay Device Tree. <\/p>\n<p>Naviga nella directory di lavoro creata in precedenza e clona il repository del kernel Toradex:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">git clone git:\/\/git.toradex.com\/linux-toradex.git  \n<\/pre>\n<p>Questo repository contiene il kernel Linux utilizzato nelle versioni BSP di Toradex e include i file di configurazione e gli script di compilazione necessari per compilare i componenti del kernel e gli overlay della Device Tree.<\/p>\n<p>Il repository del kernel \u00e8 relativamente grande, quindi la clonazione pu\u00f2 richiedere diversi minuti a seconda della connessione di rete. Nel video di accompagnamento questo passaggio viene accelerato per mantenere il tutorial conciso. <\/p>\n<p>Dopo aver scaricato il repository, il passo successivo sar\u00e0 la selezione del ramo del kernel che corrisponde alla versione del BSP utilizzata nel modulo Verdin di destinazione.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Selezionare_il_ramo_del_kernel_corretto\"><\/span>Selezionare il ramo del kernel corretto<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Dopo aver clonato il repository del kernel di Toradex, il passo successivo consiste nel selezionare il ramo che corrisponde alla versione del BSP in esecuzione sul dispositivo di destinazione.<\/p>\n<p>Le versioni BSP di Toradex sono costruite su specifiche versioni del kernel Linux e gli overlay di Device Tree devono essere compilati con lo stesso ramo del kernel per garantire la compatibilit\u00e0.<\/p>\n<p>Per elencare i rami del kernel disponibili relativi a Linux 5.15, esegui:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">git branch -a | grep -E \"5\\.15|toradex_5\\.15\" | head -n 50\n<\/pre>\n<p>Questo comando filtra i rami disponibili e mostra quelli relativi alla serie di kernel Linux 5.15 utilizzati da diverse release del BSP Toradex.<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">git checkout toradex_5.15-2.2.x-imx\n<\/pre>\n<p>Questo ramo contiene i sorgenti del kernel e la configurazione utilizzata dalle versioni BSP di Toradex basate su Linux 5.15 per i processori NXP i.MX.<\/p>\n<p>La selezione del ramo corretto garantisce che l&#8217;overlay della Struttura dei Dispositivi sia costruito sulla base di una struttura del kernel che corrisponde al software in esecuzione sull&#8217;hardware di destinazione.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Clonare_il_framework_di_overlay_Device_Tree\"><\/span>Clonare il framework di overlay Device Tree<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Il passo successivo \u00e8 scaricare il framework Toradex Device Tree overlay. Questo repository contiene l&#8217;infrastruttura di compilazione utilizzata per compilare gli overlay Device Tree utilizzando il sistema di compilazione del kernel Linux. <\/p>\n<p>Clona il repository nella directory di lavoro:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">git clone git:\/\/git.toradex.com\/device-tree-overlays.git\n<\/pre>\n<p>Questo repository fornisce la struttura del Makefile e l&#8217;integrazione necessaria per costruire i file .dtbo utilizzando i sorgenti del kernel clonati in precedenza.<\/p>\n<p>Una volta clonato il repository, nell&#8217;area di lavoro apparir\u00e0 una nuova directory denominata device-tree-overlays. Questa directory verr\u00e0 utilizzata in seguito per aggiungere i sorgenti dell&#8217;overlay Riverdi e compilare l&#8217;overlay finale. <\/p>\n<h3><span class=\"ez-toc-section\" id=\"Selezione_del_ramo_di_struttura_di_overlay_corretto\"><\/span>Selezione del ramo di struttura di overlay corretto<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Dopo aver clonato il repository device-tree-overlays, il passo successivo \u00e8 quello di selezionare il ramo che corrisponde alla stessa versione del kernel utilizzata in precedenza.<\/p>\n<p>Il framework dell&#8217;overlay Device Tree deve corrispondere al ramo del kernel utilizzato nel repository linux-toradex. Questo assicura che il processo di compilazione dell&#8217;overlay utilizzi le intestazioni del kernel e la configurazione di compilazione corrette. <\/p>\n<p>Per prima cosa, elenca i rami disponibili relativi alla serie di kernel Linux 5.15:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">git branch -a | grep -E \"5\\.15|toradex_5\\.15\" | head -n 50\n<\/pre>\n<p>Questo comando filtra i rami disponibili e visualizza quelli associati al kernel Linux 5.15 utilizzato da diverse release del BSP Toradex.<\/p>\n<p>Successivamente, controlla il ramo corrispondente alla versione del kernel selezionata in precedenza:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">git checkout toradex_5.15-2.2.x-imx\n<\/pre>\n<p>L&#8217;utilizzo dello stesso ramo sia per i sorgenti del kernel che per il framework di overlay assicura che il sistema di compilazione rimanga compatibile con il BSP in esecuzione sul modulo Verdin di destinazione.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Configurare_il_percorso_dei_sorgenti_del_kernel_e_clonare_i_sorgenti_delloverlay_Riverdi\"><\/span>Configurare il percorso dei sorgenti del kernel e clonare i sorgenti dell&#8217;overlay Riverdi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Prima di costruire gli overlay di Device Tree, il sistema di creazione degli overlay deve sapere dove si trovano i sorgenti del kernel Linux. Ci\u00f2 avviene definendo la variabile d&#8217;ambiente STAGING_KERNEL_DIR, che punta al repository linux-toradex precedentemente clonato. <\/p>\n<p>Imposta la variabile con il seguente comando:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">esporta STAGING_KERNEL_DIR=$HOME\/work\/linux-toradex\n<\/pre>\n<p>Per rendere la configurazione persistente tra le sessioni del terminale, aggiungila al file di configurazione della shell:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">echo 'export STAGING_KERNEL_DIR=$HOME\/work\/linux-toradex'  &gt;&gt;  ~\/.bashrc\nsorgente ~\/.bashrc\n<\/pre>\n<p>Questa variabile permette al framework di compilazione dell&#8217;overlay di accedere agli header del kernel e agli script di compilazione richiesti dal sistema di compilazione del kernel Linux.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Clonare_le_fonti_di_overlay_Riverdi\"><\/span>Clonare le fonti di overlay Riverdi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Una volta configurato il percorso del kernel, il passo successivo \u00e8 scaricare i sorgenti dell&#8217;overlay Riverdi utilizzati in questa guida.<\/p>\n<p>Clona il repository nella directory di lavoro:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">git clone https:\/\/github.com\/riverdi\/riverdi-toradex-DTS.git\n<\/pre>\n<p>Questo repository contiene i file sorgente di Device Tree overlay utilizzati per configurare i display Riverdi con i moduli Toradex Verdin.<\/p>\n<p>Queste fonti di overlay saranno integrate nel framework di costruzione di overlay di Toradex nella fase successiva della guida.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Verifica_dei_rami_del_repository_e_individuazione_delle_fonti_di_overlay\"><\/span>Verifica dei rami del repository e individuazione delle fonti di overlay<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Prima di procedere con il processo di creazione degli overlay, si consiglia di verificare che sia il repository linux-toradex che il framework device-tree-overlays utilizzino lo stesso ramo del kernel.<\/p>\n<p>Questo assicura che il processo di creazione dell&#8217;overlay rimanga compatibile con i sorgenti del kernel utilizzati in precedenza.<\/p>\n<p>Puoi verificare il ramo attivo in ogni repository utilizzando:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">git rev-parse --abbrev-ref HEAD\n<\/pre>\n<p>Entrambi i repository dovrebbero riportare lo stesso nome di ramo, ad esempio:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">toradex_5.15-2.2.x-imx\n<\/pre>\n<p>L&#8217;utilizzo dello stesso ramo in entrambi i repository assicura che il framework di overlay Device Tree utilizzi gli header del kernel e la configurazione di compilazione corretti.<\/p>\n<p>Successivamente, naviga nel repository Riverdi clonato per individuare le sorgenti di overlay della Struttura dei dispositivi:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">cd ~\/work\/riverdi-toradex-DTS\nls\n<\/pre>\n<p>Questo repository contiene i file sorgente (.dts) e i file di inclusione (.dtsi) della Device Tree utilizzati per configurare i display Riverdi sulle piattaforme Toradex Verdin.<\/p>\n<p>I file di overlay necessari saranno copiati nel framework di creazione di overlay di Toradex nel passaggio successivo.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Costruire_loverlay_e_preparare_lalbero_dei_sorgenti_del_kernel\"><\/span>Costruire l&#8217;overlay e preparare l&#8217;albero dei sorgenti del kernel<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>A questo punto, i sorgenti dell&#8217;overlay Riverdi sono presenti nella directory di compilazione dell&#8217;overlay e l&#8217;overlay \u00e8 stato aggiunto all&#8217;elenco dtb-y nel Makefile. Il passo successivo \u00e8 la compilazione dell&#8217;overlay. <\/p>\n<p>Dalla directory device-tree-overlays\/overlays, avvia la compilazione:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">pulire\nfare\n<\/pre>\n<p>Se l&#8217;albero dei sorgenti del kernel non \u00e8 ancora stato preparato, la compilazione pu\u00f2 fallire con un errore simile a:<\/p>\n<p>La configurazione del kernel non \u00e8 valida<br \/>\nmancano include\/generated\/autoconf.h o include\/config\/auto.conf<\/p>\n<p>Questo \u00e8 previsto perch\u00e9 il framework Toradex overlay utilizza il sistema di compilazione del kernel Linux (Kbuild). Kbuild richiede un albero del kernel configurato e preparato per generare i file header e gli artefatti di configurazione necessari. <\/p>\n<p>Per risolvere questo problema, prepara l&#8217;albero dei sorgenti del kernel:<\/p>\n<ol>\n<li>Vai al repository del kernel.<br \/>\ncd ~\/work\/linux-toradex<\/li>\n<li>Configura la build per la piattaforma Verdin iMX8M Plus. Il SoC \u00e8 ARM a 64 bit, quindi usa arm64 e un cross-compilatore AArch64.<br \/>\nexport ARCH=arm64<br \/>\nexport CROSS_COMPILE=aarch64-linux-gnu- <\/li>\n<li>Installa la toolchain del cross-compilatore sul sistema host:<br \/>\nsudo apt install -y gcc-aarch64-linux-gnu<\/li>\n<li>Genera una configurazione predefinita del kernel e prepara l&#8217;albero del kernel:<br \/>\nmake defconfig<br \/>\nmake oldconfig<br \/>\nmake prepare<br \/>\nmake scripts<\/li>\n<\/ol>\n<p>Questi comandi generano i file di configurazione e gli header mancanti richiesti da Kbuild, tra cui include\/config\/auto.conf e include\/generated\/autoconf.h.<\/p>\n<p>Dopo che l&#8217;albero del kernel \u00e8 stato preparato, torna alla directory dell&#8217;overlay ed esegui nuovamente la compilazione dell&#8217;overlay:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">cd ~\/work\/device-tree-overlays\/overlays\npulire\nfare\n<\/pre>\n<p>L&#8217;overlay dovrebbe ora essere compilato con successo e produrre un file di output .dtbo.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Aggiungere_i_sorgenti_delloverlay_Riverdi_al_framework_di_build\"><\/span>Aggiungere i sorgenti dell&#8217;overlay Riverdi al framework di build<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Il framework di creazione degli overlay Toradex compila gli overlay che si trovano nella directory overlays. Pertanto, i file sorgente della Riverdi Device Tree devono essere copiati in questa directory prima che il processo di compilazione possa iniziare. <\/p>\n<p>Naviga nella directory di creazione dell&#8217;overlay:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">cd ~\/work\/device-tree-overlays\/overlays\n<\/pre>\n<p>Copia il file sorgente dell&#8217;overlay Riverdi per il display DSI da 12 pollici:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">cp ~\/work\/riverdi-toradex-DTS\/verdin-imx8mp_panel-cap-touch-12inch-dsi_overlay.dts .\n<\/pre>\n<p>Successivamente, copia i file di inclusione di visualizzazione aggiuntivi utilizzati dall&#8217;overlay:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">cp ~\/work\/riverdi-toradex-DTS\/display-*.dtsi  \n<\/pre>\n<p>Questi file .dtsi contengono dati di configurazione specifici del pannello, come i parametri di temporizzazione e le definizioni dell&#8217;interfaccia del pannello utilizzate dal file di overlay principale.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Registrare_loverlay_nel_sistema_di_compilazione\"><\/span>Registrare l&#8217;overlay nel sistema di compilazione<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Affinch\u00e9 l&#8217;overlay venga compilato, deve essere aggiunto al Makefile utilizzato dal framework Toradex overlay.<\/p>\n<p>Apri il Makefile che si trova nella directory degli overlay:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">nano Makefile\n<\/pre>\n<p>Aggiungi una nuova voce all&#8217;elenco dtb-y:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">cd ~\/work\/riverdi-toradex-DTS\ndtb-y += verdin-imx8mp_panel-cap-touch-12inch-dsi_overlay.dtbo\n<\/pre>\n<p>Questa riga indica al sistema di compilazione del kernel di compilare il file .dts corrispondente in un binario .dtbo durante il processo di compilazione.<\/p>\n<p>Una volta aggiunta questa voce, l&#8217;overlay diventa parte dei target di compilazione e verr\u00e0 generato quando viene eseguito il comando di compilazione dell&#8217;overlay.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Creazione_della_struttura_ad_albero_dei_dispositivi\"><\/span>Creazione della struttura ad albero dei dispositivi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Dopo aver preparato l&#8217;albero dei sorgenti del kernel, l&#8217;overlay pu\u00f2 essere compilato con successo.<\/p>\n<p>Torna alla directory di creazione dell&#8217;overlay:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">cd ~\/work\/device-tree-overlays\/overlays\n<\/pre>\n<p>Pulisce tutti gli artefatti di compilazione precedenti:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">pulire<\/pre>\n<p>Poi avvia la creazione dell&#8217;overlay:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">fare<\/pre>\n<p>Durante il processo di creazione, il sistema di creazione del kernel Linux invoca il Device Tree Compiler (dtc) e compila il file sorgente dell&#8217;overlay registrato in un file binario .dtbo.<\/p>\n<p>Se la compilazione viene completata con successo, l&#8217;output della compilazione includer\u00e0:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">DTC verdin-imx8mp_panel-cap-touch-12inch-dsi_overlay.dtbo<\/pre>\n<p>Questo indica che il file sorgente della Struttura dei dispositivi \u00e8 stato compilato con successo.<\/p>\n<p>Il file .dtbo generato apparir\u00e0 nella stessa directory degli overlay ed \u00e8 ora pronto per essere trasferito al modulo Toradex Verdin di destinazione.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Distribuzione\"><\/span>Distribuzione<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Collegamento_al_modulo_Verdin\"><\/span>Collegamento al modulo Verdin<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Dopo aver creato con successo l&#8217;overlay dell&#8217;albero dei dispositivi sul sistema host, il passo successivo consiste nel distribuirlo sul modulo Toradex Verdin.<\/p>\n<p>Per accedere alla console Linux del modulo, collegati al dispositivo utilizzando un terminale seriale. In questo esempio, per stabilire la connessione viene utilizzato PuTTY. <\/p>\n<p>Configura la connessione seriale con i seguenti parametri:<\/p>\n<ul>\n<li><strong>Tipo di connessione:<\/strong> Seriale<\/li>\n<li><strong>Linea seriale:<\/strong> La porta COM assegnata alla UART di debug di Verdin &#8211; controllala in Gestione dispositivi.<\/li>\n<li><strong>Velocit\u00e0:<\/strong> 115200<\/li>\n<\/ul>\n<p>Dopo aver aperto la connessione, il terminale visualizzer\u00e0 il registro di avvio e infine fornir\u00e0 l&#8217;accesso alla shell Linux in esecuzione sul modulo Verdin.<\/p>\n<p>Questa console verr\u00e0 utilizzata per trasferire il file .dtbo compilato e abilitare l&#8217;overlay nella configurazione di avvio.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Configurazione_dellinterfaccia_di_rete_del_modulo_Verdin\"><\/span>Configurazione dell&#8217;interfaccia di rete del modulo Verdin<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Prima di trasferire il file di overlay compilato al dispositivo di destinazione, il modulo Verdin deve essere connesso alla rete con l&#8217;host di sviluppo.<\/p>\n<p>Per prima cosa, controlla le interfacce di rete disponibili e la loro configurazione attuale:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">ip a<\/pre>\n<p>Questo comando visualizza tutte le interfacce di rete presenti sul sistema e il loro stato attuale.<\/p>\n<p>Successivamente, assegna un indirizzo IP statico all&#8217;interfaccia Ethernet:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">ip addr add 192.168.10.2\/24 dev eth0<\/pre>\n<p>Quindi abilita l&#8217;interfaccia:<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">ip link set eth0 up<\/pre>\n<p>Con l&#8217;interfaccia configurata, il modulo Verdin pu\u00f2 comunicare con il computer host attraverso la rete locale. Questa connessione verr\u00e0 utilizzata nella fase successiva per trasferire il file .dtbo compilato.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Configurazione_di_un_indirizzo_IP_statico_sul_computer_host\"><\/span>Configurazione di un indirizzo IP statico sul computer host<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Per consentire la comunicazione tra l&#8217;host di sviluppo e il modulo Verdin, entrambi i dispositivi devono trovarsi nella stessa subnet di rete.<\/p>\n<p>Dopo aver assegnato l&#8217;indirizzo 192.168.10.2 al modulo Verdin, configura l&#8217;interfaccia Ethernet del computer host con un indirizzo IP statico.<\/p>\n<p>Su Windows, apri le Impostazioni di rete avanzate, quindi vai alle propriet\u00e0 dell&#8217;adattatore Ethernet e configura manualmente le impostazioni IPv4.<\/p>\n<p>Imposta i seguenti parametri: (puoi impostarne di diversi, ma ti consigliamo solo questi)<\/p>\n<ul>\n<li><strong>Indirizzo IP:<\/strong> 192.168.10.1<\/li>\n<li><strong>Maschera di sottorete:<\/strong> 255.255.255.0<\/li>\n<li><strong>Gateway predefinito:<\/strong> lasciare vuoto<\/li>\n<\/ul>\n<p>Questa configurazione colloca entrambi i dispositivi nella stessa rete locale:<\/p>\n<ul>\n<li><strong>Computer host \u2192 192.168.10.1<\/strong><\/li>\n<li><strong>Modulo Verdin \u2192 192.168.10.2<\/strong><\/li>\n<\/ul>\n<p>Con questa configurazione, i due sistemi possono comunicare direttamente via Ethernet e il file .dtbo compilato pu\u00f2 essere trasferito al modulo Verdin nella fase successiva.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Trasferimento_delloverlay_al_modulo_Verdin\"><\/span>Trasferimento dell&#8217;overlay al modulo Verdin<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Una volta che il computer host e il modulo Verdin sono collegati in rete, l&#8217;overlay della Struttura dei dispositivi compilato pu\u00f2 essere trasferito al dispositivo di destinazione.<\/p>\n<p>In questo esempio, il file viene copiato utilizzando il protocollo scp (Secure Copy Protocol):<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">scp ~\/work\/device-tree-overlays\/overlays\/verdin-imx8mp_panel-cap-touch-12inch-dsi_overlay.dtbo \\\nroot@192.168.10.2:\/boot\/overlays\/<\/pre>\n<p>Questo comando copia il file .dtbo compilato dall&#8217;host di sviluppo alla directory \/boot\/overlays del modulo Verdin.<\/p>\n<p>Durante la prima connessione SSH, il sistema host potrebbe visualizzare un messaggio di sicurezza che chiede di confermare l&#8217;autenticit\u00e0 del dispositivo di destinazione. Dopo aver accettato l&#8217;impronta digitale, il trasferimento dei file procede normalmente. <\/p>\n<p>La directory \/boot\/overlays \u00e8 utilizzata dalla configurazione di avvio di Toradex per memorizzare i file binari di overlay della Device Tree che possono essere caricati all&#8217;avvio del sistema.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Sintesi\"><\/span>Sintesi<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Assicurati che l&#8217;overlay corrisponda esattamente al BSP e al ramo del kernel utilizzati sul dispositivo di destinazione: \u00e8 da qui che deriva la maggior parte dei problemi di compilazione. Una volta impostato correttamente l&#8217;ambiente, il flusso di lavoro diventa ripetibile: compilare, distribuire, attivare e testare. Da qui, adattare gli overlay per altri display Riverdi \u00e8 per lo pi\u00f9 una questione di adattamento dei file specifici del pannello.  <\/p>\n<p><iframe style=\"aspect-ratio: 16\/9;\" title=\"\" src=\"https:\/\/www.youtube.com\/embed\/n40RdwaPgkY\" width=\"100%\" height=\"auto\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&#8217;obiettivo di questa guida \u00e8 la creazione di un sistema funzionante partendo da un hardware pulito e fresco, utilizzando Torizon OS e i file sorgente dell&#8217;albero dei dispositivi di esempio da Riverdi GitHub. In questo modo otteniamo: Flashare il sistema operativo Torizon da zero Costruisci una struttura ad albero dei dispositivi personalizzata da Riverdi GitHub [&hellip;]<\/p>\n","protected":false},"author":3328,"featured_media":129315,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"categories":[4710],"tags":[],"class_list":["post-129744","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visualizza-101"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Creazione di sovrapposizioni ad albero di dispositivi su Toradex per i display Riverdi - Riverdi<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Creazione di sovrapposizioni ad albero di dispositivi su Toradex per i display Riverdi - Riverdi\" \/>\n<meta property=\"og:description\" content=\"L&#8217;obiettivo di questa guida \u00e8 la creazione di un sistema funzionante partendo da un hardware pulito e fresco, utilizzando Torizon OS e i file sorgente dell&#8217;albero dei dispositivi di esempio da Riverdi GitHub. In questo modo otteniamo: Flashare il sistema operativo Torizon da zero Costruisci una struttura ad albero dei dispositivi personalizzata da Riverdi GitHub [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays\" \/>\n<meta property=\"og:site_name\" content=\"Riverdi\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/riverdi.displays\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-21T10:00:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/04\/BLOG_COVER_Device-tree-overlays-on-Toradex-guide.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Rafa\u0142 F\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@riverdidisplays\" \/>\n<meta name=\"twitter:site\" content=\"@riverdidisplays\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rafa\u0142 F\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/riverdi.com\\\/it\\\/blog\\\/building-device-tree-overlays-on-toradex-for-riverdi-displays#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/riverdi.com\\\/it\\\/blog\\\/building-device-tree-overlays-on-toradex-for-riverdi-displays\"},\"author\":{\"name\":\"Rafa\u0142 F\",\"@id\":\"https:\\\/\\\/riverdi.com\\\/it#\\\/schema\\\/person\\\/dac328f88dda36bae87261c19a2e30ef\"},\"headline\":\"Creazione di sovrapposizioni ad albero di dispositivi su Toradex per i display Riverdi\",\"datePublished\":\"2026-04-21T10:00:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/riverdi.com\\\/it\\\/blog\\\/building-device-tree-overlays-on-toradex-for-riverdi-displays\"},\"wordCount\":2706,\"image\":{\"@id\":\"https:\\\/\\\/riverdi.com\\\/it\\\/blog\\\/building-device-tree-overlays-on-toradex-for-riverdi-displays#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/riverdi.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/BLOG_COVER_Device-tree-overlays-on-Toradex-guide.jpg\",\"articleSection\":[\"Visualizza 101\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/riverdi.com\\\/it\\\/blog\\\/building-device-tree-overlays-on-toradex-for-riverdi-displays\",\"url\":\"https:\\\/\\\/riverdi.com\\\/it\\\/blog\\\/building-device-tree-overlays-on-toradex-for-riverdi-displays\",\"name\":\"Creazione di sovrapposizioni ad albero di dispositivi su Toradex per i display Riverdi - Riverdi\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/riverdi.com\\\/it#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/riverdi.com\\\/it\\\/blog\\\/building-device-tree-overlays-on-toradex-for-riverdi-displays#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/riverdi.com\\\/it\\\/blog\\\/building-device-tree-overlays-on-toradex-for-riverdi-displays#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/riverdi.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/BLOG_COVER_Device-tree-overlays-on-Toradex-guide.jpg\",\"datePublished\":\"2026-04-21T10:00:15+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/riverdi.com\\\/it#\\\/schema\\\/person\\\/dac328f88dda36bae87261c19a2e30ef\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/riverdi.com\\\/it\\\/blog\\\/building-device-tree-overlays-on-toradex-for-riverdi-displays#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/riverdi.com\\\/it\\\/blog\\\/building-device-tree-overlays-on-toradex-for-riverdi-displays\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/riverdi.com\\\/it\\\/blog\\\/building-device-tree-overlays-on-toradex-for-riverdi-displays#primaryimage\",\"url\":\"https:\\\/\\\/riverdi.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/BLOG_COVER_Device-tree-overlays-on-Toradex-guide.jpg\",\"contentUrl\":\"https:\\\/\\\/riverdi.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/BLOG_COVER_Device-tree-overlays-on-Toradex-guide.jpg\",\"width\":1280,\"height\":600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/riverdi.com\\\/it\\\/blog\\\/building-device-tree-overlays-on-toradex-for-riverdi-displays#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Front Page\",\"item\":\"https:\\\/\\\/riverdi.com\\\/it\\\/prima-pagina\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Creazione di sovrapposizioni ad albero di dispositivi su Toradex per i display Riverdi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/riverdi.com\\\/it#website\",\"url\":\"https:\\\/\\\/riverdi.com\\\/it\",\"name\":\"Riverdi\",\"description\":\"Global TFT LCD Manufacturer\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/riverdi.com\\\/it?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/riverdi.com\\\/it#\\\/schema\\\/person\\\/dac328f88dda36bae87261c19a2e30ef\",\"name\":\"Rafa\u0142 F\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b208bcbc75c8894f7448c2283e1f99dd68d97018826b56edce8aeb3c8c3985ee?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b208bcbc75c8894f7448c2283e1f99dd68d97018826b56edce8aeb3c8c3985ee?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b208bcbc75c8894f7448c2283e1f99dd68d97018826b56edce8aeb3c8c3985ee?s=96&d=mm&r=g\",\"caption\":\"Rafa\u0142 F\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Creazione di sovrapposizioni ad albero di dispositivi su Toradex per i display Riverdi - Riverdi","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays","og_locale":"it_IT","og_type":"article","og_title":"Creazione di sovrapposizioni ad albero di dispositivi su Toradex per i display Riverdi - Riverdi","og_description":"L&#8217;obiettivo di questa guida \u00e8 la creazione di un sistema funzionante partendo da un hardware pulito e fresco, utilizzando Torizon OS e i file sorgente dell&#8217;albero dei dispositivi di esempio da Riverdi GitHub. In questo modo otteniamo: Flashare il sistema operativo Torizon da zero Costruisci una struttura ad albero dei dispositivi personalizzata da Riverdi GitHub [&hellip;]","og_url":"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays","og_site_name":"Riverdi","article_publisher":"https:\/\/www.facebook.com\/riverdi.displays\/","article_published_time":"2026-04-21T10:00:15+00:00","og_image":[{"width":1280,"height":600,"url":"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/04\/BLOG_COVER_Device-tree-overlays-on-Toradex-guide.jpg","type":"image\/jpeg"}],"author":"Rafa\u0142 F","twitter_card":"summary_large_image","twitter_creator":"@riverdidisplays","twitter_site":"@riverdidisplays","twitter_misc":{"Scritto da":"Rafa\u0142 F","Tempo di lettura stimato":"14 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays#article","isPartOf":{"@id":"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays"},"author":{"name":"Rafa\u0142 F","@id":"https:\/\/riverdi.com\/it#\/schema\/person\/dac328f88dda36bae87261c19a2e30ef"},"headline":"Creazione di sovrapposizioni ad albero di dispositivi su Toradex per i display Riverdi","datePublished":"2026-04-21T10:00:15+00:00","mainEntityOfPage":{"@id":"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays"},"wordCount":2706,"image":{"@id":"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays#primaryimage"},"thumbnailUrl":"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/04\/BLOG_COVER_Device-tree-overlays-on-Toradex-guide.jpg","articleSection":["Visualizza 101"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays","url":"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays","name":"Creazione di sovrapposizioni ad albero di dispositivi su Toradex per i display Riverdi - Riverdi","isPartOf":{"@id":"https:\/\/riverdi.com\/it#website"},"primaryImageOfPage":{"@id":"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays#primaryimage"},"image":{"@id":"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays#primaryimage"},"thumbnailUrl":"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/04\/BLOG_COVER_Device-tree-overlays-on-Toradex-guide.jpg","datePublished":"2026-04-21T10:00:15+00:00","author":{"@id":"https:\/\/riverdi.com\/it#\/schema\/person\/dac328f88dda36bae87261c19a2e30ef"},"breadcrumb":{"@id":"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays#primaryimage","url":"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/04\/BLOG_COVER_Device-tree-overlays-on-Toradex-guide.jpg","contentUrl":"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/04\/BLOG_COVER_Device-tree-overlays-on-Toradex-guide.jpg","width":1280,"height":600},{"@type":"BreadcrumbList","@id":"https:\/\/riverdi.com\/it\/blog\/building-device-tree-overlays-on-toradex-for-riverdi-displays#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Front Page","item":"https:\/\/riverdi.com\/it\/prima-pagina"},{"@type":"ListItem","position":2,"name":"Creazione di sovrapposizioni ad albero di dispositivi su Toradex per i display Riverdi"}]},{"@type":"WebSite","@id":"https:\/\/riverdi.com\/it#website","url":"https:\/\/riverdi.com\/it","name":"Riverdi","description":"Global TFT LCD Manufacturer","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/riverdi.com\/it?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/riverdi.com\/it#\/schema\/person\/dac328f88dda36bae87261c19a2e30ef","name":"Rafa\u0142 F","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/b208bcbc75c8894f7448c2283e1f99dd68d97018826b56edce8aeb3c8c3985ee?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b208bcbc75c8894f7448c2283e1f99dd68d97018826b56edce8aeb3c8c3985ee?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b208bcbc75c8894f7448c2283e1f99dd68d97018826b56edce8aeb3c8c3985ee?s=96&d=mm&r=g","caption":"Rafa\u0142 F"}}]}},"_links":{"self":[{"href":"https:\/\/riverdi.com\/it\/wp-json\/wp\/v2\/posts\/129744","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/riverdi.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/riverdi.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/riverdi.com\/it\/wp-json\/wp\/v2\/users\/3328"}],"replies":[{"embeddable":true,"href":"https:\/\/riverdi.com\/it\/wp-json\/wp\/v2\/comments?post=129744"}],"version-history":[{"count":0,"href":"https:\/\/riverdi.com\/it\/wp-json\/wp\/v2\/posts\/129744\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/riverdi.com\/it\/wp-json\/wp\/v2\/media\/129315"}],"wp:attachment":[{"href":"https:\/\/riverdi.com\/it\/wp-json\/wp\/v2\/media?parent=129744"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/riverdi.com\/it\/wp-json\/wp\/v2\/categories?post=129744"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/riverdi.com\/it\/wp-json\/wp\/v2\/tags?post=129744"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}