{"id":8963,"date":"2025-03-09T19:45:12","date_gmt":"2025-03-10T02:45:12","guid":{"rendered":"https:\/\/visualgdb.com\/w\/?p=8963"},"modified":"2025-03-09T19:55:17","modified_gmt":"2025-03-10T02:55:17","slug":"building-the-openstlinux-sdk-for-the-stm32mp2-devices","status":"publish","type":"post","link":"https:\/\/visualgdb.com\/documentation\/arm\/stm32\/stm32mp2\/","title":{"rendered":"Setup differences between STM32MP2 and STM32MP1 devices"},"content":{"rendered":"<p>This page summarizes the key differences in the STM32MP2 setup compared to the STM32MP1 setup that is described <a href=\"https:\/\/visualgdb.com\/tutorials\/linux\/stm32mp1\/sdk\/\">here<\/a>.<\/p>\n<ol>\n<li>As of March 2025, the running <strong>envsetup.sh<\/strong> gives an optional choice to review the EULA. If you do not proceed to reviewing (and accepting) it, the build process will produce incomplete SD card images that would cause a kernel panic in the etnaviv module:\n<pre>[ 8.531340] etnaviv etnaviv: bound 48280000.gpu (ops gpu_ops [etnaviv])\r\nE\/TC:1 0 Panic at \/usr\/src\/debug\/optee-os-stm32mp\/4.0.0-stm32mp-r1\/core\/drivers\/clk\/clk-stm32mp25.c:1976 &lt;clk_stm32_pll_init&gt;\r\nE\/TC:1 0 TEE load address @ 0x82000000\r\nE\/TC:1 0 Call stack:\r\n<\/pre>\n<p>You can resolve the crash by manually deleting <strong>etnaviv.ko<\/strong>, however, it is easier to ensure that the EULA is accepted prior to running <strong>bitbake<\/strong>:<\/p>\n<p><a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/01-eula.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8964\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/01-eula.png\" alt=\"\" width=\"1047\" height=\"705\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/01-eula.png 1047w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/01-eula-300x202.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/01-eula-1024x690.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/01-eula-768x517.png 768w\" sizes=\"(max-width: 1047px) 100vw, 1047px\" \/><\/a><\/li>\n<li>Programming the SD card via the ST-Link programmer tool requires a USB-PD cable (USB-C to USB-C) attached to the power connector. A regular USB-A to USB-C cable can be used for the data connection: <a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/board.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8965\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/board.jpg\" alt=\"\" width=\"1280\" height=\"1558\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/board.jpg 1280w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/board-246x300.jpg 246w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/board-841x1024.jpg 841w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/board-768x935.jpg 768w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/board-1262x1536.jpg 1262w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/a><\/li>\n<li>The default target hostname for the <strong>openstlinux-6.6-yocto-scarthgap-mpu-v24.12.05<\/strong> release is <strong>stm32mp2-e3-ac-25<\/strong>. The default user name is <strong>root<\/strong> with an empty password:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/03-link.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8966\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/03-link.png\" alt=\"\" width=\"991\" height=\"649\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/03-link.png 991w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/03-link-300x196.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/03\/03-link-768x503.png 768w\" sizes=\"(max-width: 991px) 100vw, 991px\" \/><\/a><\/li>\n<\/ol>\n<p>You can download pre-built Windows and Linux toolchains for STM32MP2 devices from our <a href=\"https:\/\/github.com\/sysprogs\/oe-manifest\/releases\">Github repository<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This page summarizes the key differences in the STM32MP2 setup compared to the STM32MP1 setup that is described here. As<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[198],"tags":[],"_links":{"self":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/8963"}],"collection":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/comments?post=8963"}],"version-history":[{"count":6,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/8963\/revisions"}],"predecessor-version":[{"id":8972,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/8963\/revisions\/8972"}],"wp:attachment":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/media?parent=8963"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/categories?post=8963"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/tags?post=8963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}