Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ass:labs-2025:01:tasks:02 [2025/08/04 19:51]
florin.stancu
ass:labs-2025:01:tasks:02 [2026/07/13 13:52] (current)
florin.stancu
Line 54: Line 54:
 == Step 2.2. Fetch the NXP IMX proprietary firmware == == Step 2.2. Fetch the NXP IMX proprietary firmware ==
  
-You must download both [[https://​www.nxp.com/​lgfiles/​NMG/​MAD/​YOCTO/​firmware-imx-8.22.bin|firmware-imx-8.22.bin]] and [[https://​www.nxp.com/​lgfiles/​NMG/​MAD/​YOCTO/​firmware-sentinel-0.11.bin|firmware-sentinel-0.11.bin]] (URLs are taken from Yocto recipes) and download the self-extracting archives.+NXP releases its proprietary IMX firmware on its [[https://​www.nxp.com/​design/​design-center/​software/​embedded-software/​i-mx-software/​embedded-linux-for-i-mx-applications-processors:​IMXLINUX|software design documentation website]] (download ​the latest release'​s ''​ i.MX Linux Release Notes''​ PDF document; the actual firmware download URLs are provided in there). 
 + 
 +Download ​both [[https://​www.nxp.com/​lgfiles/​NMG/​MAD/​YOCTO/​firmware-imx-8.32-1991416.bin|firmware-imx-8.32.bin]] and [[https://​www.nxp.com/​lgfiles/​NMG/​MAD/​YOCTO/​firmware-sentinel-0.11.bin|firmware-sentinel-0.11.bin]] (URLs are taken from Yocto recipes) and download the self-extracting archives.
  
 Run the binaries and accept the license agreement in order for it to extract its contents Run the binaries and accept the license agreement in order for it to extract its contents
Line 85: Line 87:
 The more astute will notice that, **once again**, we're not using the [[https://​github.com/​u-boot/​u-boot|official U-Boot]] project, but instead NXP (i.e. the board'​s manufacturer) fork. The more astute will notice that, **once again**, we're not using the [[https://​github.com/​u-boot/​u-boot|official U-Boot]] project, but instead NXP (i.e. the board'​s manufacturer) fork.
  
-The FRDM-IMX93 board has been published in mainline, though. And it works! But we want //"​advanced"//​ features ​(like USB mass storage ​support) ​which is yet to be supported. And we'll still need to patch the NXP fork...+Fhe FRDM-IMX93 board has been published in mainline ​and it works perfectly as of 2026 (including ​USB support!) 
 +Feel free to try it out, though your current defconfig and DTB path might be wrong (due to differing official naming schemes)!
 </​note>​ </​note>​
  
 == Step 2.3. Downloading & patching U-Boot source code == == Step 2.3. Downloading & patching U-Boot source code ==
  
-Clone this repo using git: [[https://​github.com/​nxp-imx/​uboot-imx|The NXP iMX U-Boot fork]] (**obligatory:​ clone the ''​lf_v2024.04''​ branch!** you can use [[https://​git-scm.com/​docs/​git-checkout|git checkout]] to change branch afterwards).+Clone this repo using git: [[https://​github.com/​nxp-imx/​uboot-imx|The NXP iMX U-Boot fork]] (**obligatory:​ clone the ''​lf_v2026.04''​ branch!** you can use [[https://​git-scm.com/​docs/​git-checkout|git checkout]] to change branch afterwards).
  
-Unfortunatelyespecially when using NXP's official U-Boot, ​our FRDM board is **not supported**! We'll need to download yet another thing (a patch) from NXP's Yocto source code: [[https://​github.com/​nxp-imx-support/meta-imx-frdm/blob/lf-6.6.36-2.1.0/​meta-imx-bsp/​recipes-bsp/​u-boot/​u-boot-imx/​0002-imx-imx93_frdm-Add-basic-board-support.patch]]+Fortunately, ''​v2026.04''​ has recently added support for our FRDM-IMX93 ​board ([[https://​github.com/​nxp-imx/​uboot-imx/commit/ab870ad9a92b4d367ae80489a4421b820ba9942b|check out the commit]]), so we won'​t ​need to patch anything ;
- +
-Save the file to ''​u-boot''​`s source directory and apply it using: +
- +
-<code bash> +
-# the -p1 argument is required to strip out the first path component  +
-# (which is a/b if you manually inspect the patch) +
-patch -p1 < 0002-imx-imx93_frdm-Add-basic-board-support.patch +
-</​code>​ +
- +
-If the patch fails some hunksit's your fault :P (you haven'​t ​checked out the correct git branch as mentioned above).+
  
 == Step 2.4. Configure U-Boot == == Step 2.4. Configure U-Boot ==
Line 245: Line 238:
 The last two sub-tasks demonstrate that the DTB format is very versatile. On one hand, it is used to describe the available hardware to the Linux kernel. On the other hand, image packaging tools rely on them to determine the layout of different binaries in memory. The last two sub-tasks demonstrate that the DTB format is very versatile. On one hand, it is used to describe the available hardware to the Linux kernel. On the other hand, image packaging tools rely on them to determine the layout of different binaries in memory.
 </​note>​ </​note>​
- 
  
ass/labs-2025/01/tasks/02.txt · Last modified: 2026/07/13 13:52 by florin.stancu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0