<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.ronetix.at/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ilko</id>
	<title>Ronetix&#039;s Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ronetix.at/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ilko"/>
	<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=Special:Contributions/Ilko"/>
	<updated>2026-09-19T11:07:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=SAMA5D3X-CM&amp;diff=485</id>
		<title>SAMA5D3X-CM</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=SAMA5D3X-CM&amp;diff=485"/>
		<updated>2026-09-15T13:58:02Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Note that Buildroot now also builds the SAM-BA host tool automatically&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|SAMA5D3X-CM}}&lt;br /&gt;
{{#vardefine:CPU|ATSAMA5D3X}}&lt;br /&gt;
{{#vardefine:BRANCH|at91bootstrap-3.10.4_rnx}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_NAME|sama5d3x_cm_nf_uboot_defconfig}}&lt;br /&gt;
{{#vardefine:ARCH|arm}}&lt;br /&gt;
{{#vardefine:CROSS_COMPILE|/opt/cross/arm-ronetix-eabi-8.3.0/bin/arm-ronetix-eabi-}}&lt;br /&gt;
{{Summary SAM9 A5 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the Microchip (ATMEL) {{#var:CPU}} CPU with a CORTEX-A5 CPU running at 536MHz&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
|SAMA5D35-CM_top.png|&lt;br /&gt;
https://ronetix.at/product/sama5d3x-cm-cpu-module-with-atmel-sama5d3-series&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Information about at91bootstrap, U-BOOT, Linux can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/Sama5d3xekMainPage&lt;br /&gt;
&amp;lt;/p&amp;gt;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Building at91bootstrap - second level bootloader for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x&lt;br /&gt;
&lt;br /&gt;
==== Setup the cross-compiler and CPU architecture ====&lt;br /&gt;
 $ export ARCH={{#var:ARCH}}&lt;br /&gt;
 $ export CROSS_COMPILE={{#var:CROSS_COMPILE}}&lt;br /&gt;
&lt;br /&gt;
==== Clone the latest revision of the repo ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/at91bootstrap.git -b {{#var:BRANCH}}&lt;br /&gt;
 $ cd at91bootstrap&lt;br /&gt;
&lt;br /&gt;
==== Configure and build ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Alternative: Configure and build with GPIO test ====&lt;br /&gt;
This requires a special prepared Ronetix&#039;s carrier board with shorted pin pairs.&lt;br /&gt;
Used for production tests.&lt;br /&gt;
 $ make sama5d3x_cm_gpio_test_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| BIN image, should be programmed at address 0x0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.elf&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Building Buildroot - a simple Linux System for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
The home page of Buildroot is: https://buildroot.org&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot for SAMA5D3x is maintained by Microchip: https://www.linux4sam.org/bin/view/Linux4SAM/BuildRoot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buildroot can build:&lt;br /&gt;
* at91bootstrap&lt;br /&gt;
* U-BOOT&lt;br /&gt;
* Linux Kernel&lt;br /&gt;
* A cross-compiler&lt;br /&gt;
* Root filesystems of different types&lt;br /&gt;
&lt;br /&gt;
====  Prerequisites ====&lt;br /&gt;
Host build system should be a Linux system with necessary software installed: http://buildroot.uclibc.org/downloads/manual/manual.html#requirement&amp;lt;br&amp;gt;&lt;br /&gt;
In addition to these required packages, you should also install libssl-dev:&lt;br /&gt;
 $ sudo apt-get install libssl1.0-dev&lt;br /&gt;
or, depending on your host distribution:&lt;br /&gt;
 $ sudo apt-get install libssl-dev&lt;br /&gt;
&lt;br /&gt;
==== Get sources ====&lt;br /&gt;
 $ mkdir buildroot-ronetix&lt;br /&gt;
 $ cd buildroot-ronetix&lt;br /&gt;
 $ git clone https://github.com/linux4microchip/buildroot-mchp.git&lt;br /&gt;
 $ git clone https://github.com/ronetix/br2-external-ronetix.git&lt;br /&gt;
&lt;br /&gt;
 $ cd buildroot-mchp&lt;br /&gt;
 $ git switch -c linux4microchip-2026.04 linux4microchip-2026.04&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
 $ make BR2_EXTERNAL=../br2-external-ronetix sama5d3x_cm_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Once compilation is done, the images have been generated in: ./output/image:&amp;lt;br&amp;gt;&lt;br /&gt;
* at91bootstrap.bin&lt;br /&gt;
* rootfs.tar&lt;br /&gt;
* u-boot.bin&lt;br /&gt;
* u-boot-spl.bin&lt;br /&gt;
* zImage&lt;br /&gt;
* sama5d31ek.dtb&lt;br /&gt;
* sama5d33ek.dtb&lt;br /&gt;
* sama5d34ek.dtb&lt;br /&gt;
* sama5d35ek.dtb&lt;br /&gt;
* sama5d36ek.dtb&lt;br /&gt;
* rootfs.ubi&lt;br /&gt;
* rootfs.ubifs&lt;br /&gt;
&lt;br /&gt;
The SAM-BA programming tool (used in the &amp;quot;Programming with SAM-BA 3.x&amp;quot; section below) is also built automatically by this defconfig and installed at:&amp;lt;br&amp;gt;&lt;br /&gt;
* ./output/host/bin/sam-ba&lt;br /&gt;
&lt;br /&gt;
==== Customizing Buildroot ====&lt;br /&gt;
===== AT91Bootstrap =====&lt;br /&gt;
 $ make at91bootstrap3-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== U-BOOT =====&lt;br /&gt;
 $ make uboot-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== Linux Kernel =====&lt;br /&gt;
 $ make linux-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== RootFs =====&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
==== Programming images ====&lt;br /&gt;
SAM-BA tool or PEEDI JTAG Flash Programmer can be used for programming the images into the NAND Flash.&amp;lt;br&amp;gt;&lt;br /&gt;
All images should be programmed with 8-bit ECC.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Image&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00000000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91bootstrap, programmed with header 0xc0304405&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00040000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT, third level bootloader&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00180000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| sama5d35ek.dtb&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Device tree for Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00200000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| zImage&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00F80000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rootfs.ubi&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Root file system&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Programming with SAM-BA 3.x =====&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a lowlevel&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash -c erase&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash -c writeboot:boot.bin&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:u-boot.bin:0x40000&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:sama5d35ek.dtb:0x180000&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:zImage:0x200000&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:rootfs.ubi:0xF80000&lt;br /&gt;
&lt;br /&gt;
More information about SAM-BA 3.x can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/Samba3Subsections&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=SAMA5D3X-CM&amp;diff=484</id>
		<title>SAMA5D3X-CM</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=SAMA5D3X-CM&amp;diff=484"/>
		<updated>2026-09-15T13:44:23Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Update Buildroot build instructions: use upstream linux4microchip/buildroot-mchp (tag linux4microchip-2026.04) with the new br2-external-ronetix board-support tree, replacing the old ronetix/buildroot-mchp fork&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|SAMA5D3X-CM}}&lt;br /&gt;
{{#vardefine:CPU|ATSAMA5D3X}}&lt;br /&gt;
{{#vardefine:BRANCH|at91bootstrap-3.10.4_rnx}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_NAME|sama5d3x_cm_nf_uboot_defconfig}}&lt;br /&gt;
{{#vardefine:ARCH|arm}}&lt;br /&gt;
{{#vardefine:CROSS_COMPILE|/opt/cross/arm-ronetix-eabi-8.3.0/bin/arm-ronetix-eabi-}}&lt;br /&gt;
{{Summary SAM9 A5 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the Microchip (ATMEL) {{#var:CPU}} CPU with a CORTEX-A5 CPU running at 536MHz&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
|SAMA5D35-CM_top.png|&lt;br /&gt;
https://ronetix.at/product/sama5d3x-cm-cpu-module-with-atmel-sama5d3-series&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Information about at91bootstrap, U-BOOT, Linux can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/Sama5d3xekMainPage&lt;br /&gt;
&amp;lt;/p&amp;gt;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Building at91bootstrap - second level bootloader for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x&lt;br /&gt;
&lt;br /&gt;
==== Setup the cross-compiler and CPU architecture ====&lt;br /&gt;
 $ export ARCH={{#var:ARCH}}&lt;br /&gt;
 $ export CROSS_COMPILE={{#var:CROSS_COMPILE}}&lt;br /&gt;
&lt;br /&gt;
==== Clone the latest revision of the repo ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/at91bootstrap.git -b {{#var:BRANCH}}&lt;br /&gt;
 $ cd at91bootstrap&lt;br /&gt;
&lt;br /&gt;
==== Configure and build ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Alternative: Configure and build with GPIO test ====&lt;br /&gt;
This requires a special prepared Ronetix&#039;s carrier board with shorted pin pairs.&lt;br /&gt;
Used for production tests.&lt;br /&gt;
 $ make sama5d3x_cm_gpio_test_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| BIN image, should be programmed at address 0x0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.elf&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Building Buildroot - a simple Linux System for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
The home page of Buildroot is: https://buildroot.org&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot for SAMA5D3x is maintained by Microchip: https://www.linux4sam.org/bin/view/Linux4SAM/BuildRoot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buildroot can build:&lt;br /&gt;
* at91bootstrap&lt;br /&gt;
* U-BOOT&lt;br /&gt;
* Linux Kernel&lt;br /&gt;
* A cross-compiler&lt;br /&gt;
* Root filesystems of different types&lt;br /&gt;
&lt;br /&gt;
====  Prerequisites ====&lt;br /&gt;
Host build system should be a Linux system with necessary software installed: http://buildroot.uclibc.org/downloads/manual/manual.html#requirement&amp;lt;br&amp;gt;&lt;br /&gt;
In addition to these required packages, you should also install libssl-dev:&lt;br /&gt;
 $ sudo apt-get install libssl1.0-dev&lt;br /&gt;
or, depending on your host distribution:&lt;br /&gt;
 $ sudo apt-get install libssl-dev&lt;br /&gt;
&lt;br /&gt;
==== Get sources ====&lt;br /&gt;
 $ mkdir buildroot-ronetix&lt;br /&gt;
 $ cd buildroot-ronetix&lt;br /&gt;
 $ git clone https://github.com/linux4microchip/buildroot-mchp.git&lt;br /&gt;
 $ git clone https://github.com/ronetix/br2-external-ronetix.git&lt;br /&gt;
&lt;br /&gt;
 $ cd buildroot-mchp&lt;br /&gt;
 $ git switch -c linux4microchip-2026.04 linux4microchip-2026.04&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
 $ make BR2_EXTERNAL=../br2-external-ronetix sama5d3x_cm_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Once compilation is done, the images have been generated in: ./output/image:&amp;lt;br&amp;gt;&lt;br /&gt;
* at91bootstrap.bin&lt;br /&gt;
* rootfs.tar&lt;br /&gt;
* u-boot.bin&lt;br /&gt;
* u-boot-spl.bin&lt;br /&gt;
* zImage&lt;br /&gt;
* sama5d31ek.dtb&lt;br /&gt;
* sama5d33ek.dtb&lt;br /&gt;
* sama5d34ek.dtb&lt;br /&gt;
* sama5d35ek.dtb&lt;br /&gt;
* sama5d36ek.dtb&lt;br /&gt;
* rootfs.ubi&lt;br /&gt;
* rootfs.ubifs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Customizing Buildroot ====&lt;br /&gt;
===== AT91Bootstrap =====&lt;br /&gt;
 $ make at91bootstrap3-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== U-BOOT =====&lt;br /&gt;
 $ make uboot-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== Linux Kernel =====&lt;br /&gt;
 $ make linux-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== RootFs =====&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
==== Programming images ====&lt;br /&gt;
SAM-BA tool or PEEDI JTAG Flash Programmer can be used for programming the images into the NAND Flash.&amp;lt;br&amp;gt;&lt;br /&gt;
All images should be programmed with 8-bit ECC.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Image&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00000000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91bootstrap, programmed with header 0xc0304405&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00040000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT, third level bootloader&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00180000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| sama5d35ek.dtb&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Device tree for Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00200000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| zImage&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00F80000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rootfs.ubi&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Root file system&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Programming with SAM-BA 3.x =====&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a lowlevel&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash -c erase&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash -c writeboot:boot.bin&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:u-boot.bin:0x40000&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:sama5d35ek.dtb:0x180000&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:zImage:0x200000&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:rootfs.ubi:0xF80000&lt;br /&gt;
&lt;br /&gt;
More information about SAM-BA 3.x can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/Samba3Subsections&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=SAM9X5-CM&amp;diff=483</id>
		<title>SAM9X5-CM</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=SAM9X5-CM&amp;diff=483"/>
		<updated>2026-09-15T13:41:20Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Note that Buildroot now also builds the SAM-BA host tool automatically&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|SAM9X5-CM}}&lt;br /&gt;
{{#vardefine:CPU|AT91SAM9x5}}&lt;br /&gt;
{{#vardefine:BRANCH|at91bootstrap-3.10.4_rnx}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_NAME|sam9x5_cm_nf_uboot_defconfig}}&lt;br /&gt;
{{#vardefine:ARCH|arm}}&lt;br /&gt;
{{#vardefine:CROSS_COMPILE|/opt/cross/arm-ronetix-eabi-8.3.0/bin/arm-ronetix-eabi-}}&lt;br /&gt;
{{Summary SAM9 A5 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the Microchip (ATMEL) {{#var:CPU}} CPU with an ARM926EJ CPU running at 400MHz&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
|SAM9-CM_top.png|&lt;br /&gt;
https://ronetix.at/product/sam9x5-cm-cpu-module-with-atmel-at91sam9x5-series&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Information about at91bootstrap, U-BOOT, Linux can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/LegacySAM9x5Page&amp;lt;/p&amp;gt;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Building at91bootstrap - second level bootloader for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x&lt;br /&gt;
&lt;br /&gt;
==== Setup the cross-compiler and CPU architecture ====&lt;br /&gt;
 $ export ARCH={{#var:ARCH}}&lt;br /&gt;
 $ export CROSS_COMPILE={{#var:CROSS_COMPILE}}&lt;br /&gt;
&lt;br /&gt;
==== Clone the latest revision of the repo ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/at91bootstrap.git -b {{#var:BRANCH}}&lt;br /&gt;
 $ cd at91bootstrap&lt;br /&gt;
&lt;br /&gt;
==== Configure and build ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
= Build Results =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| BIN image, should be programmed at address 0x0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.elf&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Building Buildroot - a simple Linux System for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
The home page of Buildroot is: https://buildroot.org&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot for SAM9X5 is maintained by Microchip: https://github.com/linux4microchip/buildroot-mchp&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buildroot can build:&lt;br /&gt;
* at91bootstrap&lt;br /&gt;
* U-Boot&lt;br /&gt;
* Linux kernel&lt;br /&gt;
* A cross-compiler&lt;br /&gt;
* Root filesystems of different types&lt;br /&gt;
&lt;br /&gt;
====  Prerequisites ====&lt;br /&gt;
The Host build system should be a Linux system with necessary software installed:&lt;br /&gt;
http://www.buildroot.net/downloads/manual/manual.html#requirement&amp;lt;br&amp;gt;&lt;br /&gt;
In addition to these required packages, you should also install libssl-dev:&lt;br /&gt;
 $ sudo apt-get install libssl1.0-dev&lt;br /&gt;
or, depending on your host distribution:&lt;br /&gt;
 $ sudo apt-get install libssl-dev&lt;br /&gt;
&lt;br /&gt;
==== Get sources ====&lt;br /&gt;
 $ mkdir buildroot-ronetix&lt;br /&gt;
 $ cd buildroot-ronetix&lt;br /&gt;
 $ git clone https://github.com/linux4microchip/buildroot-mchp.git&lt;br /&gt;
 $ git clone https://github.com/ronetix/br2-external-ronetix.git&lt;br /&gt;
&lt;br /&gt;
 $ cd buildroot-mchp&lt;br /&gt;
 $ git switch -c linux4microchip-2026.04 linux4microchip-2026.04&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
 $ make BR2_EXTERNAL=../br2-external-ronetix sam9x5_cm_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
Once compilation is done, the images have been generated in: ./output/image:&amp;lt;br&amp;gt;&lt;br /&gt;
* at91bootstrap.bin&lt;br /&gt;
* rootfs.tar&lt;br /&gt;
* u-boot.bin&lt;br /&gt;
* zImage&lt;br /&gt;
* at91sam9g15ek.dtb&lt;br /&gt;
* at91sam9g25ek.dtb&lt;br /&gt;
* at91sam9g35ek.dtb&lt;br /&gt;
* at91sam9x25ek.dtb&lt;br /&gt;
* at91sam9x35ek.dtb&lt;br /&gt;
* rootfs.ubi&lt;br /&gt;
* rootfs.ubifs&lt;br /&gt;
&lt;br /&gt;
The SAM-BA programming tool (used in the &amp;quot;Programming with SAM-BA 3.x&amp;quot; section below) is also built automatically by this defconfig and installed at:&amp;lt;br&amp;gt;&lt;br /&gt;
* ./output/host/bin/sam-ba&lt;br /&gt;
&lt;br /&gt;
==== Customizing Buildroot ====&lt;br /&gt;
===== AT91Bootstrap =====&lt;br /&gt;
 $ make at91bootstrap3-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== U-BOOT =====&lt;br /&gt;
 $ make uboot-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== Linux Kernel =====&lt;br /&gt;
 $ make linux-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== RootFs =====&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
==== NAND Boot: Programming images ====&lt;br /&gt;
SAM-BA tool or PEEDI JTAG Flash Programmer can be used for programming the images into the NAND Flash.&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Image&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00000000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91bootstrap&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00020000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT, third level bootloader&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00180000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91sam9x35ek.dtb&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Device tree for Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00200000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| zImage&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00800000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rootfs.ubi&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Root file system&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Programming with SAM-BA 3.x =====&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a lowlevel&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a extram&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a serialflash -c erase:0:0x10000&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c erase&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c writeboot:boot.bin&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c write:u-boot.bin:0x40000&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c write:at91sam9x35ek.dtb:0x180000&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c write:zImage:0x200000&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c write:rootfs.ubi:0x800000&lt;br /&gt;
&lt;br /&gt;
More information about SAM-BA 3.x can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/Samba3Subsections&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=SAM9X5-CM&amp;diff=482</id>
		<title>SAM9X5-CM</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=SAM9X5-CM&amp;diff=482"/>
		<updated>2026-09-15T13:35:36Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Update Buildroot build instructions: use upstream linux4microchip/buildroot-mchp (tag linux4microchip-2026.04) with the new br2-external-ronetix board-support tree, replacing the old ronetix/buildroot-mchp fork&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|SAM9X5-CM}}&lt;br /&gt;
{{#vardefine:CPU|AT91SAM9x5}}&lt;br /&gt;
{{#vardefine:BRANCH|at91bootstrap-3.10.4_rnx}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_NAME|sam9x5_cm_nf_uboot_defconfig}}&lt;br /&gt;
{{#vardefine:ARCH|arm}}&lt;br /&gt;
{{#vardefine:CROSS_COMPILE|/opt/cross/arm-ronetix-eabi-8.3.0/bin/arm-ronetix-eabi-}}&lt;br /&gt;
{{Summary SAM9 A5 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the Microchip (ATMEL) {{#var:CPU}} CPU with an ARM926EJ CPU running at 400MHz&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
|SAM9-CM_top.png|&lt;br /&gt;
https://ronetix.at/product/sam9x5-cm-cpu-module-with-atmel-at91sam9x5-series&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Information about at91bootstrap, U-BOOT, Linux can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/LegacySAM9x5Page&amp;lt;/p&amp;gt;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Building at91bootstrap - second level bootloader for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x&lt;br /&gt;
&lt;br /&gt;
==== Setup the cross-compiler and CPU architecture ====&lt;br /&gt;
 $ export ARCH={{#var:ARCH}}&lt;br /&gt;
 $ export CROSS_COMPILE={{#var:CROSS_COMPILE}}&lt;br /&gt;
&lt;br /&gt;
==== Clone the latest revision of the repo ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/at91bootstrap.git -b {{#var:BRANCH}}&lt;br /&gt;
 $ cd at91bootstrap&lt;br /&gt;
&lt;br /&gt;
==== Configure and build ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
= Build Results =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| BIN image, should be programmed at address 0x0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.elf&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Building Buildroot - a simple Linux System for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
The home page of Buildroot is: https://buildroot.org&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot for SAM9X5 is maintained by Microchip: https://github.com/linux4microchip/buildroot-mchp&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buildroot can build:&lt;br /&gt;
* at91bootstrap&lt;br /&gt;
* U-Boot&lt;br /&gt;
* Linux kernel&lt;br /&gt;
* A cross-compiler&lt;br /&gt;
* Root filesystems of different types&lt;br /&gt;
&lt;br /&gt;
====  Prerequisites ====&lt;br /&gt;
The Host build system should be a Linux system with necessary software installed:&lt;br /&gt;
http://www.buildroot.net/downloads/manual/manual.html#requirement&amp;lt;br&amp;gt;&lt;br /&gt;
In addition to these required packages, you should also install libssl-dev:&lt;br /&gt;
 $ sudo apt-get install libssl1.0-dev&lt;br /&gt;
or, depending on your host distribution:&lt;br /&gt;
 $ sudo apt-get install libssl-dev&lt;br /&gt;
&lt;br /&gt;
==== Get sources ====&lt;br /&gt;
 $ mkdir buildroot-ronetix&lt;br /&gt;
 $ cd buildroot-ronetix&lt;br /&gt;
 $ git clone https://github.com/linux4microchip/buildroot-mchp.git&lt;br /&gt;
 $ git clone https://github.com/ronetix/br2-external-ronetix.git&lt;br /&gt;
&lt;br /&gt;
 $ cd buildroot-mchp&lt;br /&gt;
 $ git switch -c linux4microchip-2026.04 linux4microchip-2026.04&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
 $ make BR2_EXTERNAL=../br2-external-ronetix sam9x5_cm_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
Once compilation is done, the images have been generated in: ./output/image:&amp;lt;br&amp;gt;&lt;br /&gt;
* at91bootstrap.bin&lt;br /&gt;
* rootfs.tar&lt;br /&gt;
* u-boot.bin&lt;br /&gt;
* zImage&lt;br /&gt;
* at91sam9g15ek.dtb&lt;br /&gt;
* at91sam9g25ek.dtb&lt;br /&gt;
* at91sam9g35ek.dtb&lt;br /&gt;
* at91sam9x25ek.dtb&lt;br /&gt;
* at91sam9x35ek.dtb&lt;br /&gt;
* rootfs.ubi&lt;br /&gt;
* rootfs.ubifs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Customizing Buildroot ====&lt;br /&gt;
===== AT91Bootstrap =====&lt;br /&gt;
 $ make at91bootstrap3-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== U-BOOT =====&lt;br /&gt;
 $ make uboot-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== Linux Kernel =====&lt;br /&gt;
 $ make linux-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== RootFs =====&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
==== NAND Boot: Programming images ====&lt;br /&gt;
SAM-BA tool or PEEDI JTAG Flash Programmer can be used for programming the images into the NAND Flash.&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Image&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00000000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91bootstrap&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00020000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT, third level bootloader&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00180000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91sam9x35ek.dtb&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Device tree for Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00200000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| zImage&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00800000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rootfs.ubi&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Root file system&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Programming with SAM-BA 3.x =====&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a lowlevel&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a extram&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a serialflash -c erase:0:0x10000&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c erase&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c writeboot:boot.bin&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c write:u-boot.bin:0x40000&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c write:at91sam9x35ek.dtb:0x180000&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c write:zImage:0x200000&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c write:rootfs.ubi:0x800000&lt;br /&gt;
&lt;br /&gt;
More information about SAM-BA 3.x can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/Samba3Subsections&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=PM9G45&amp;diff=481</id>
		<title>PM9G45</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=PM9G45&amp;diff=481"/>
		<updated>2026-09-15T13:32:14Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Update Buildroot instructions for br2-external-ronetix / linux4microchip-2026.04&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|PM9G45}}&lt;br /&gt;
{{#vardefine:CPU|AT91SAM9G45}}&lt;br /&gt;
{{#vardefine:BRANCH|at91bootstrap-3.10.4_rnx}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_UBOOT_NAME|pm9g45_nf_uboot_defconfig}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_LINUX_NAME|pm9g45_nf_linux_defconfig}}&lt;br /&gt;
{{#vardefine:ARCH|arm}}&lt;br /&gt;
{{#vardefine:CROSS_COMPILE|~/bin/arm-ronetix-eabi-11.1.0/bin/arm-ronetix-eabi-}}&lt;br /&gt;
{{Summary SAM9 A5 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the Microchip (ATMEL) {{#var:CPU}} CPU with an ARM926EJ CPU running at 400MHz&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
|PM9G45-top.png|&lt;br /&gt;
https://ronetix.at/product/pm9g45-cpu-module-with-atmel-at91sam9g45&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Information about at91bootstrap, U-BOOT, Linux can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/GettingStarted#Getting_Started_SAM9&lt;br /&gt;
&amp;lt;/p&amp;gt;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Building at91bootstrap - second level bootloader for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x&lt;br /&gt;
&lt;br /&gt;
==== Install and setup the cross-compiler and CPU architecture ====&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ mkdir bin&lt;br /&gt;
 $ wget http://download.ronetix.at/toolchains/crosstool-ng/arm-ronetix-eabi-11.1.0.tar.gz&lt;br /&gt;
 $ tar xvfz arm-ronetix-eabi-11.1.0.tar.gz --directory bin&lt;br /&gt;
 $ export ARCH={{#var:ARCH}}&lt;br /&gt;
 $ export CROSS_COMPILE={{#var:CROSS_COMPILE}}&lt;br /&gt;
&lt;br /&gt;
==== Clone the latest revision of the repo ====&lt;br /&gt;
 $ git clone git@github.com:ronetix/at91bootstrap.git -b {{#var:BRANCH}}&lt;br /&gt;
 $ cd at91bootstrap&lt;br /&gt;
&lt;br /&gt;
==== Configure and build for booting of U-BOOT ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_UBOOT_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Configure and build for booting of Linux Kernel ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_LINUX_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| BIN image, should be programmed at address 0x0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.elf&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Building Buildroot - a simple Linux System for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
The home page of Buildroot is: https://buildroot.org&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot for AT91SAM9G45 is maintained by Microchip: https://github.com/linux4microchip/buildroot-mchp&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buildroot can build:&lt;br /&gt;
* at91bootstrap&lt;br /&gt;
* U-Boot&lt;br /&gt;
* Linux kernel&lt;br /&gt;
* A cross-compiler&lt;br /&gt;
* Root filesystems of different types&lt;br /&gt;
&lt;br /&gt;
====  Prerequisites ====&lt;br /&gt;
The host build system should be a Linux system with necessary software installed:&lt;br /&gt;
http://www.buildroot.net/downloads/manual/manual.html#requirement&amp;lt;br&amp;gt;&lt;br /&gt;
In addition to these required packages, you should also install libssl-dev:&lt;br /&gt;
 $ sudo apt-get install libssl1.0-dev&lt;br /&gt;
or, depending on your host distribution:&lt;br /&gt;
 $ sudo apt-get install libssl-dev&lt;br /&gt;
&lt;br /&gt;
==== Get sources ====&lt;br /&gt;
 $ mkdir buildroot-ronetix&lt;br /&gt;
 $ cd buildroot-ronetix&lt;br /&gt;
 $ git clone https://github.com/linux4microchip/buildroot-mchp.git&lt;br /&gt;
 $ git clone https://github.com/ronetix/br2-external-ronetix.git&lt;br /&gt;
&lt;br /&gt;
 $ cd buildroot-mchp&lt;br /&gt;
 $ git switch -c linux4microchip-2026.04 linux4microchip-2026.04&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
 $ make BR2_EXTERNAL=../br2-external-ronetix pm9g45_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
Once compilation is done, the images have been generated in: ./output/image:&amp;lt;br&amp;gt;&lt;br /&gt;
* at91bootstrap.bin&lt;br /&gt;
* rootfs.tar&lt;br /&gt;
* u-boot.bin&lt;br /&gt;
* zImage&lt;br /&gt;
* pm9g45.dtb&lt;br /&gt;
* rootfs.ubi&lt;br /&gt;
* rootfs.ubifs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Customizing Buildroot ====&lt;br /&gt;
===== AT91Bootstrap =====&lt;br /&gt;
 $ make at91bootstrap3-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== U-BOOT =====&lt;br /&gt;
 $ make uboot-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== Linux Kernel =====&lt;br /&gt;
 $ make linux-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== RootFs =====&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
==== NAND Boot: Programming images ====&lt;br /&gt;
SAM-BA tool or PEEDI JTAG Flash Programmer can be used for programming the images into the NAND Flash.&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Image&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00000000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91bootstrap&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00020000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT, third level bootloader&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00180000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| pm9g45.dtb&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Device tree for Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00200000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| zImage&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00800000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rootfs.ubi&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Root file system&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-RZG2UL-OSM_Yocto_Linux&amp;diff=480</id>
		<title>RNX-RZG2UL-OSM Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-RZG2UL-OSM_Yocto_Linux&amp;diff=480"/>
		<updated>2026-09-14T06:52:29Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Change the templates path in TEMPLATECONF&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-RZG2UL-OSM}}&lt;br /&gt;
{{#vardefine:URL_PEEDI|[https://ronetix.at/product/peedi-jtag-swd-bdm-emulator-and-flash-programmer/ PEEDI]}}&lt;br /&gt;
[[File:RNX-RZG2UL-OSM_top.png|thumb]]&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Yocto&lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Poky&lt;br /&gt;
| 5.10.184&lt;br /&gt;
| 2021.10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
== Installing required packages ==&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 20.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \&lt;br /&gt;
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \&lt;br /&gt;
xz-utils debianutils iputils-ping libsdl1.2-dev xterm python-is-python3&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git-doc \&lt;br /&gt;
sed cvs subversion coreutils texi2html docbook-utils \&lt;br /&gt;
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \&lt;br /&gt;
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \&lt;br /&gt;
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bmap-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
== Download Yocto based on Renesas Verified Linux Package v3.0.5 ==&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-renesas&lt;br /&gt;
 $ cd ~/yocto-renesas&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Renesas Verified Linux Package&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ git clone https://github.com/ronetix/rzg_vlp.git&lt;br /&gt;
 $ cd rzg_vlp&lt;br /&gt;
&lt;br /&gt;
== Setup and build Yocto ==&lt;br /&gt;
 $ TEMPLATECONF=$PWD/meta-ronetix/conf/templates/default source poky/oe-init-build-env build&lt;br /&gt;
 $ MACHINE=rnx-rzg2ul-osm bitbake core-image-bsp&lt;br /&gt;
&lt;br /&gt;
== Build Results ==&lt;br /&gt;
The resulted images are located in ./tmp/deploy/images/rnx-rzg2ul-osm&lt;br /&gt;
&lt;br /&gt;
== Programming Images ==&lt;br /&gt;
* [[RNX-RZG2UL-OSM_Programming_Images|Programming Images]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- use template --&amp;gt;&lt;br /&gt;
{{SeeAlso}}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=Ronetix%27s_Wiki:Privacy_policy&amp;diff=479</id>
		<title>Ronetix&#039;s Wiki:Privacy policy</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=Ronetix%27s_Wiki:Privacy_policy&amp;diff=479"/>
		<updated>2026-09-13T11:01:31Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Initial creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Privacy Policy ==&lt;br /&gt;
&lt;br /&gt;
Last updated: September 2026&lt;br /&gt;
&lt;br /&gt;
Ronetix Development Tools GmbH (&amp;quot;we,&amp;quot; &amp;quot;our,&amp;quot; or &amp;quot;us&amp;quot;) operates the Ronetix Wiki (the &amp;quot;Service&amp;quot;). This page informs you of our policies regarding the collection, use, and disclosure of personal data when you use our wiki and the choices you have associated with that data.&lt;br /&gt;
&lt;br /&gt;
We are committed to protecting your privacy and complying with applicable data protection laws, including the General Data Protection Regulation (GDPR).&lt;br /&gt;
&lt;br /&gt;
== 1. Information We Collect ==&lt;br /&gt;
&lt;br /&gt;
While using our Service, we may ask you to provide us with certain personally identifiable information that can be used to contact or identify you (&amp;quot;Personal Data&amp;quot;). This may include, but is not limited to:&lt;br /&gt;
* **Account Information:** If you register an account to edit or contribute to the wiki, we collect your username, password (stored in a securely hashed format), and email address.&lt;br /&gt;
* **Usage Data:** We may also collect information on how the Service is accessed and used (&amp;quot;Usage Data&amp;quot;). This may include your computer&#039;s Internet Protocol address (IP address), browser type, browser version, the pages of our Service that you visit, the time and date of your visit, time spent on those pages, and other diagnostic data.&lt;br /&gt;
* **Edit History:** As a standard feature of wiki platforms, any contributions, revisions, or edits you make to wiki pages are publicly linked to your username and stored in the page history logs.&lt;br /&gt;
&lt;br /&gt;
== 2. Use of Cookies ==&lt;br /&gt;
We use cookies and similar tracking technologies to track the activity on our Service and hold certain information. &lt;br /&gt;
* **Session Cookies:** Used to keep you logged in during your browsing and editing session.&lt;br /&gt;
* **Persistent Cookies:** Used to remember your preferences and settings when you return to the wiki.&lt;br /&gt;
You can instruct your browser to refuse all cookies or to indicate when a cookie is being sent. However, if you do not accept cookies, you may not be able to login or use certain portions of our Service.&lt;br /&gt;
&lt;br /&gt;
== 3. Use of Data ==&lt;br /&gt;
Ronetix GmbH uses the collected data for various purposes:&lt;br /&gt;
* To provide and maintain the Service (including managing user accounts).&lt;br /&gt;
* To notify you about changes to our Service.&lt;br /&gt;
* To allow you to participate in interactive features of our Service when you choose to do so.&lt;br /&gt;
* To monitor the usage of the Service and prevent vandalism, spam, or security threats.&lt;br /&gt;
&lt;br /&gt;
== 4. Security of Data ==&lt;br /&gt;
The security of your data is important to us, but remember that no method of transmission over the Internet or method of electronic storage is 100% secure. While we strive to use commercially acceptable means to protect your Personal Data, we cannot guarantee its absolute security.&lt;br /&gt;
&lt;br /&gt;
== 5. Links to Other Sites ==&lt;br /&gt;
Our Service may contain links to other sites that are not operated by us. If you click on a third-party link, you will be directed to that third party&#039;s site. We strongly advise you to review the Privacy Policy of every site you visit. We have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.&lt;br /&gt;
&lt;br /&gt;
== 6. Changes to This Privacy Policy ==&lt;br /&gt;
We may update our Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this page and updating the &amp;quot;Last updated&amp;quot; date.&lt;br /&gt;
&lt;br /&gt;
== 7. Contact Us ==&lt;br /&gt;
If you have any questions about this Privacy Policy, please contact us:&lt;br /&gt;
* By visiting our official website: [https://www.ronetix.at ronetix.at]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=Ronetix%27s_Wiki:General_disclaimer&amp;diff=478</id>
		<title>Ronetix&#039;s Wiki:General disclaimer</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=Ronetix%27s_Wiki:General_disclaimer&amp;diff=478"/>
		<updated>2026-09-13T11:00:25Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Initial creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
The information provided on the Ronetix Wiki (&amp;quot;we,&amp;quot; &amp;quot;our,&amp;quot; or &amp;quot;us&amp;quot;) is for general informational and technical documentation purposes only. All information on the wiki is provided in good faith; however, we make no representation or warranty of any kind, express or implied, regarding the accuracy, adequacy, validity, reliability, availability, or completeness of any information on this site.&lt;br /&gt;
&lt;br /&gt;
== 1. No Professional or Hardware Warranties ==&lt;br /&gt;
The documentation, schematics, application notes, software drivers, and guides provided on this wiki are intended for use by qualified engineers and developers. &lt;br /&gt;
* Ronetix Development Tools GmbH does not warrant that hardware designs, code snippets, or configuration examples will be error-free or suitable for any specific commercial or safety-critical application.&lt;br /&gt;
* Working with embedded systems, high-voltage circuits, JTAG debuggers, and flashing tools carries inherent risks of hardware damage, data loss, or system instability. You assume full responsibility and risk for all actions taken based on the information found on this wiki.&lt;br /&gt;
&lt;br /&gt;
== 2. Limitation of Liability ==&lt;br /&gt;
Under no circumstance shall Ronetix GmbH, its directors, employees, partners, or contributors be held liable for any direct, indirect, incidental, consequential, or punitive damages—including but not limited to loss of profits, data, use, goodwill, or other intangible losses—resulting from:&lt;br /&gt;
* Your access to or use of (or inability to access or use) the wiki.&lt;br /&gt;
* Any conduct or content of any third party on the wiki.&lt;br /&gt;
* Any content obtained from the wiki.&lt;br /&gt;
* Unauthorized access, use, or alteration of your transmissions or content, whether based on warranty, contract, tort (including negligence), or any other legal theory.&lt;br /&gt;
&lt;br /&gt;
== 3. External Links Disclaimer ==&lt;br /&gt;
The wiki may contain links to external websites or resources that are not provided or maintained by or in any way affiliated with Ronetix. Please note that Ronetix does not guarantee the accuracy, relevance, timeliness, or completeness of any information on these external websites.&lt;br /&gt;
&lt;br /&gt;
== 4. &amp;quot;Use at Your Own Risk&amp;quot; ==&lt;br /&gt;
All content, software code, bootloaders, and configuration files are provided **&amp;quot;as is,&amp;quot;** without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement. &lt;br /&gt;
&lt;br /&gt;
== 5. Contact Us ==&lt;br /&gt;
If you have any questions about this Disclaimer, you can contact us via our official website at [https://www.ronetix.at ronetix.at].&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=Ronetix%27s_Wiki:About&amp;diff=477</id>
		<title>Ronetix&#039;s Wiki:About</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=Ronetix%27s_Wiki:About&amp;diff=477"/>
		<updated>2026-09-13T10:59:22Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Initial creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Ronetix ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ronetix GmbH&#039;&#039;&#039; is a Vienna, Austria-based company specializing in embedded hardware, founded in 2005. We design and manufacture [[System on Module|System-on-Modules (SOMs)]] and JTAG debugging/flash-programming tools for a wide range of CPU platforms, aiming to give embedded developers a faster and more cost-effective path from prototype to production.&lt;br /&gt;
&lt;br /&gt;
== Products ==&lt;br /&gt;
&lt;br /&gt;
=== System on Modules (SOMs) ===&lt;br /&gt;
Compact, production-ready computing modules built around processors from:&lt;br /&gt;
* NXP — i.MX95, i.MX93, i.MX8M, and i.MX7 series&lt;br /&gt;
* Renesas — RZ/V2N and RZ/G2UL series&lt;br /&gt;
&lt;br /&gt;
Modules are available in several form factors, with matching carrier boards and starter kits for evaluation and development.&lt;br /&gt;
&lt;br /&gt;
=== PEEDI JTAG Emulator ===&lt;br /&gt;
A high-speed JTAG debugger and flash programmer supporting ARM Cortex, PowerPC, Power QUICC, and ColdFire architectures, used for on-target debugging and production flash programming.&lt;br /&gt;
&lt;br /&gt;
== Company ==&lt;br /&gt;
Ronetix is based in Vienna, Austria, and ships to a worldwide distribution network. The company works closely with semiconductor partners including NXP and Renesas, and is known for direct, responsive customer support and ongoing firmware/BSP updates for its modules.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Website: [https://www.ronetix.at ronetix.at]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=Template:iMX8M-YOCTO&amp;diff=476</id>
		<title>Template:iMX8M-YOCTO</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=Template:iMX8M-YOCTO&amp;diff=476"/>
		<updated>2026-09-13T10:53:57Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Add a new line&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Yocto {{#var:YOCTO_NAME}}&lt;br /&gt;
| {{#var:KERNEL_VER}}&lt;br /&gt;
| {{#var:UBOOT_VER}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
= Installing required packages =&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 18.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \&lt;br /&gt;
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \&lt;br /&gt;
xz-utils debianutils iputils-ping libsdl1.2-dev xterm&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git \&lt;br /&gt;
sed cvs subversion coreutils texi2html docbook-utils python-pysqlite2 \&lt;br /&gt;
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \&lt;br /&gt;
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \&lt;br /&gt;
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bmap-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
= Download Yocto based on Freescale Community BSP =&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/bin &lt;br /&gt;
 $ curl &amp;lt;nowiki&amp;gt;http://commondatastorage.googleapis.com/git-repo-downloads/repo &amp;gt; ~/bin/repo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ chmod a+x ~/bin/repo&lt;br /&gt;
 $ export PATH=~/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-ronetix&lt;br /&gt;
 $ cd ~/yocto-ronetix&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Yocto repository&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ repo init -u https://github.com/ronetix/bsp-repo -b {{#var:YOCTO_NAME}}&lt;br /&gt;
&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&lt;br /&gt;
= Setup and build Yocto =&lt;br /&gt;
{{#var:SETUP_BUILD_COMMENT}}&lt;br /&gt;
&lt;br /&gt;
 $ MACHINE={{#var:MACHINE_NAME}} DISTRO=fslc-xwayland . setup-environment build_xwayland_{{#var:MACHINE_NAME}}&lt;br /&gt;
 $ bitbake fsl-image-gui&lt;br /&gt;
&lt;br /&gt;
== Building with Local Sources (externalsrc) ==&lt;br /&gt;
&lt;br /&gt;
To build using local copies of the Linux kernel and U-Boot rather than fetching from remote repositories, append the following lines to&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;./build_xwayland_{{#var:MACHINE_NAME}}/conf/local.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INHERIT += &amp;quot;externalsrc&amp;quot;&lt;br /&gt;
EXTERNALSRC_pn-linux-ronetix = &amp;quot;${HOME}/work/linux-ronetix&amp;quot;&lt;br /&gt;
EXTERNALSRC_pn-u-boot-ronetix = &amp;quot;${HOME}/work/u-boot&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Build Results ==&lt;br /&gt;
The resulted images are located in tmp/deploy/images/{{#var:MACHINE_NAME}}.&lt;br /&gt;
&lt;br /&gt;
== Create a bootable SD card ==&lt;br /&gt;
Replace sdX with the right device name.&lt;br /&gt;
 $ umount /dev/sdX1&lt;br /&gt;
 $ umount /dev/sdX2&lt;br /&gt;
 $ sudo bmaptool copy tmp/deploy/images/{{#var:MACHINE_NAME}}/fsl-image-gui-{{#var:MACHINE_NAME}}.wic.gz /dev/sdX&lt;br /&gt;
&lt;br /&gt;
= WiFi Setup =&lt;br /&gt;
Scan for wireless networks: &lt;br /&gt;
  $ ifconfig wlan0 up&lt;br /&gt;
  $ iw dev wlan0 scan | grep SSID&lt;br /&gt;
&lt;br /&gt;
Connecting to an Access Point:&lt;br /&gt;
  $ wpa_passphrase &amp;lt;YourAP&amp;gt; &amp;lt;YourPassword&amp;gt; &amp;gt; /etc/wpa_supplicant.conf&lt;br /&gt;
  $ wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
wait for:&lt;br /&gt;
  $ wlcore: Association completed.&lt;br /&gt;
&lt;br /&gt;
Get an IP via DHCP:&lt;br /&gt;
  $ udhcpc -i wlan0&lt;br /&gt;
  $ ifconfig&lt;br /&gt;
&lt;br /&gt;
= Audio Test =&lt;br /&gt;
List all sound cards:&lt;br /&gt;
  $ aplay -L &lt;br /&gt;
&lt;br /&gt;
Play a file:&lt;br /&gt;
  $ aplay Test.wav&lt;br /&gt;
&lt;br /&gt;
List all sound controls:&lt;br /&gt;
  $ amixer controls&lt;br /&gt;
&lt;br /&gt;
Set Speaker Playback volume to max:&lt;br /&gt;
  $ amixer cset numid=13 127&lt;br /&gt;
&lt;br /&gt;
= QSPI NOR Flash test =&lt;br /&gt;
  $ mtd_debug info /dev/mtd0&lt;br /&gt;
  $ mtd_debug erase /dev/mtd0 0 0x10000&lt;br /&gt;
  $ dd if=/dev/urandom of=tmp_write.txt bs=1024 count=64&lt;br /&gt;
  $ dd if=tmp_write.txt of=/dev/mtd0 bs=1024 count=64&lt;br /&gt;
  $ dd if=/dev/mtd0 of=tmp_read.txt bs=1024 count=64&lt;br /&gt;
  $ diff tmp_write.txt tmp_read.txt&lt;br /&gt;
  $ hexdump -C tmp_read.txt | more&lt;br /&gt;
&lt;br /&gt;
= I2C EEPROM Test =&lt;br /&gt;
  $ echo &amp;quot;Ronetix GmbH&amp;quot; &amp;gt; /sys/bus/i2c/devices/0-0050/eeprom	&lt;br /&gt;
  $ cat /sys/bus/i2c/devices/0-0050/eeprom &amp;gt; eeprom.bin&lt;br /&gt;
  $ hexdump -C eeprom.bin&lt;br /&gt;
&lt;br /&gt;
= Camera Test =&lt;br /&gt;
  $ v4l2-ctl --list-devices&lt;br /&gt;
  $ gst-launch-1.0 v4l2src num-buffers=1 ! jpegenc ! filesink location=test.jpg&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Yocto Linux | Yocto Linux]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Linux|Building Linux Kernel]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} U-Boot|Building U-Boot]]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=Template:iMX8M-YOCTO&amp;diff=475</id>
		<title>Template:iMX8M-YOCTO</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=Template:iMX8M-YOCTO&amp;diff=475"/>
		<updated>2026-09-13T08:52:15Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Add comment for building with local sources for Linux Kernel and U-BOOT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Yocto {{#var:YOCTO_NAME}}&lt;br /&gt;
| {{#var:KERNEL_VER}}&lt;br /&gt;
| {{#var:UBOOT_VER}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
= Installing required packages =&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 18.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \&lt;br /&gt;
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \&lt;br /&gt;
xz-utils debianutils iputils-ping libsdl1.2-dev xterm&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git \&lt;br /&gt;
sed cvs subversion coreutils texi2html docbook-utils python-pysqlite2 \&lt;br /&gt;
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \&lt;br /&gt;
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \&lt;br /&gt;
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bmap-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
= Download Yocto based on Freescale Community BSP =&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/bin &lt;br /&gt;
 $ curl &amp;lt;nowiki&amp;gt;http://commondatastorage.googleapis.com/git-repo-downloads/repo &amp;gt; ~/bin/repo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ chmod a+x ~/bin/repo&lt;br /&gt;
 $ export PATH=~/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-ronetix&lt;br /&gt;
 $ cd ~/yocto-ronetix&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Yocto repository&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ repo init -u https://github.com/ronetix/bsp-repo -b {{#var:YOCTO_NAME}}&lt;br /&gt;
&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&lt;br /&gt;
= Setup and build Yocto =&lt;br /&gt;
{{#var:SETUP_BUILD_COMMENT}}&lt;br /&gt;
&lt;br /&gt;
 $ MACHINE={{#var:MACHINE_NAME}} DISTRO=fslc-xwayland . setup-environment build_xwayland_{{#var:MACHINE_NAME}}&lt;br /&gt;
 $ bitbake fsl-image-gui&lt;br /&gt;
&lt;br /&gt;
== Building with Local Sources (externalsrc) ==&lt;br /&gt;
&lt;br /&gt;
To build using local copies of the Linux kernel and U-Boot rather than fetching from remote repositories, append the following lines to &amp;lt;code&amp;gt;./build_xwayland_{{#var:MACHINE_NAME}}/conf/local.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INHERIT += &amp;quot;externalsrc&amp;quot;&lt;br /&gt;
EXTERNALSRC_pn-linux-ronetix = &amp;quot;${HOME}/work/linux-ronetix&amp;quot;&lt;br /&gt;
EXTERNALSRC_pn-u-boot-ronetix = &amp;quot;${HOME}/work/u-boot&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Build Results ==&lt;br /&gt;
The resulted images are located in tmp/deploy/images/{{#var:MACHINE_NAME}}.&lt;br /&gt;
&lt;br /&gt;
== Create a bootable SD card ==&lt;br /&gt;
Replace sdX with the right device name.&lt;br /&gt;
 $ umount /dev/sdX1&lt;br /&gt;
 $ umount /dev/sdX2&lt;br /&gt;
 $ sudo bmaptool copy tmp/deploy/images/{{#var:MACHINE_NAME}}/fsl-image-gui-{{#var:MACHINE_NAME}}.wic.gz /dev/sdX&lt;br /&gt;
&lt;br /&gt;
= WiFi Setup =&lt;br /&gt;
Scan for wireless networks: &lt;br /&gt;
  $ ifconfig wlan0 up&lt;br /&gt;
  $ iw dev wlan0 scan | grep SSID&lt;br /&gt;
&lt;br /&gt;
Connecting to an Access Point:&lt;br /&gt;
  $ wpa_passphrase &amp;lt;YourAP&amp;gt; &amp;lt;YourPassword&amp;gt; &amp;gt; /etc/wpa_supplicant.conf&lt;br /&gt;
  $ wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
wait for:&lt;br /&gt;
  $ wlcore: Association completed.&lt;br /&gt;
&lt;br /&gt;
Get an IP via DHCP:&lt;br /&gt;
  $ udhcpc -i wlan0&lt;br /&gt;
  $ ifconfig&lt;br /&gt;
&lt;br /&gt;
= Audio Test =&lt;br /&gt;
List all sound cards:&lt;br /&gt;
  $ aplay -L &lt;br /&gt;
&lt;br /&gt;
Play a file:&lt;br /&gt;
  $ aplay Test.wav&lt;br /&gt;
&lt;br /&gt;
List all sound controls:&lt;br /&gt;
  $ amixer controls&lt;br /&gt;
&lt;br /&gt;
Set Speaker Playback volume to max:&lt;br /&gt;
  $ amixer cset numid=13 127&lt;br /&gt;
&lt;br /&gt;
= QSPI NOR Flash test =&lt;br /&gt;
  $ mtd_debug info /dev/mtd0&lt;br /&gt;
  $ mtd_debug erase /dev/mtd0 0 0x10000&lt;br /&gt;
  $ dd if=/dev/urandom of=tmp_write.txt bs=1024 count=64&lt;br /&gt;
  $ dd if=tmp_write.txt of=/dev/mtd0 bs=1024 count=64&lt;br /&gt;
  $ dd if=/dev/mtd0 of=tmp_read.txt bs=1024 count=64&lt;br /&gt;
  $ diff tmp_write.txt tmp_read.txt&lt;br /&gt;
  $ hexdump -C tmp_read.txt | more&lt;br /&gt;
&lt;br /&gt;
= I2C EEPROM Test =&lt;br /&gt;
  $ echo &amp;quot;Ronetix GmbH&amp;quot; &amp;gt; /sys/bus/i2c/devices/0-0050/eeprom	&lt;br /&gt;
  $ cat /sys/bus/i2c/devices/0-0050/eeprom &amp;gt; eeprom.bin&lt;br /&gt;
  $ hexdump -C eeprom.bin&lt;br /&gt;
&lt;br /&gt;
= Camera Test =&lt;br /&gt;
  $ v4l2-ctl --list-devices&lt;br /&gt;
  $ gst-launch-1.0 v4l2src num-buffers=1 ! jpegenc ! filesink location=test.jpg&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Yocto Linux | Yocto Linux]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Linux|Building Linux Kernel]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} U-Boot|Building U-Boot]]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=iMX8MM-COMPACT-CM_Yocto_Linux&amp;diff=474</id>
		<title>iMX8MM-COMPACT-CM Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=iMX8MM-COMPACT-CM_Yocto_Linux&amp;diff=474"/>
		<updated>2026-09-12T14:21:13Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Add comment for building of iMX8MM-COMPACT-2GB-CM, PCB v1.1, LPDDR4 2GB, ETH PHY KSZ9131&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|iMX8MM-COMPACT-CM}}&lt;br /&gt;
{{#vardefine:MACHINE_NAME|imx8mm-compact-cm}}&lt;br /&gt;
{{#vardefine:YOCTO_NAME|dunfell}}&lt;br /&gt;
{{#vardefine:KERNEL_VER|5.4.105}}&lt;br /&gt;
{{#vardefine:UBOOT_VER|v2020.04}}&lt;br /&gt;
{{#vardefine:SETUP_BUILD_COMMENT|For iMX8MM-COMPACT-2GB-CM, replace &#039;&#039;&#039;{{#var:MACHINE_NAME}}&#039;&#039;&#039; with &#039;&#039;&#039;imx8mm-compact-2gb-cm&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
[[File:iMX8M-COMPACT-CM-top.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- use template --&amp;gt;&lt;br /&gt;
{{iMX8M-YOCTO}}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=Template:iMX8M-YOCTO&amp;diff=473</id>
		<title>Template:iMX8M-YOCTO</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=Template:iMX8M-YOCTO&amp;diff=473"/>
		<updated>2026-09-12T14:13:46Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Add possibility to have a comment in &amp;quot;Setup and build Yocto&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Yocto {{#var:YOCTO_NAME}}&lt;br /&gt;
| {{#var:KERNEL_VER}}&lt;br /&gt;
| {{#var:UBOOT_VER}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
= Installing required packages =&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 18.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \&lt;br /&gt;
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \&lt;br /&gt;
xz-utils debianutils iputils-ping libsdl1.2-dev xterm&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git \&lt;br /&gt;
sed cvs subversion coreutils texi2html docbook-utils python-pysqlite2 \&lt;br /&gt;
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \&lt;br /&gt;
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \&lt;br /&gt;
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bmap-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
= Download Yocto based on Freescale Community BSP =&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/bin &lt;br /&gt;
 $ curl &amp;lt;nowiki&amp;gt;http://commondatastorage.googleapis.com/git-repo-downloads/repo &amp;gt; ~/bin/repo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ chmod a+x ~/bin/repo&lt;br /&gt;
 $ export PATH=~/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-ronetix&lt;br /&gt;
 $ cd ~/yocto-ronetix&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Yocto repository&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ repo init -u https://github.com/ronetix/bsp-repo -b {{#var:YOCTO_NAME}}&lt;br /&gt;
&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&lt;br /&gt;
= Setup and build Yocto =&lt;br /&gt;
{{#var:SETUP_BUILD_COMMENT}}&lt;br /&gt;
&lt;br /&gt;
 $ MACHINE={{#var:MACHINE_NAME}} DISTRO=fslc-xwayland . setup-environment build_xwayland_{{#var:MACHINE_NAME}}&lt;br /&gt;
 $ bitbake fsl-image-gui&lt;br /&gt;
&lt;br /&gt;
== Build Results ==&lt;br /&gt;
The resulted images are located in tmp/deploy/images/{{#var:MACHINE_NAME}}.&lt;br /&gt;
&lt;br /&gt;
== Create a bootable SD card ==&lt;br /&gt;
Replace sdX with the right device name.&lt;br /&gt;
 $ umount /dev/sdX1&lt;br /&gt;
 $ umount /dev/sdX2&lt;br /&gt;
 $ sudo bmaptool copy tmp/deploy/images/{{#var:MACHINE_NAME}}/fsl-image-gui-{{#var:MACHINE_NAME}}.wic.gz /dev/sdX&lt;br /&gt;
&lt;br /&gt;
= WiFi Setup =&lt;br /&gt;
Scan for wireless networks: &lt;br /&gt;
  $ ifconfig wlan0 up&lt;br /&gt;
  $ iw dev wlan0 scan | grep SSID&lt;br /&gt;
&lt;br /&gt;
Connecting to an Access Point:&lt;br /&gt;
  $ wpa_passphrase &amp;lt;YourAP&amp;gt; &amp;lt;YourPassword&amp;gt; &amp;gt; /etc/wpa_supplicant.conf&lt;br /&gt;
  $ wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
wait for:&lt;br /&gt;
  $ wlcore: Association completed.&lt;br /&gt;
&lt;br /&gt;
Get an IP via DHCP:&lt;br /&gt;
  $ udhcpc -i wlan0&lt;br /&gt;
  $ ifconfig&lt;br /&gt;
&lt;br /&gt;
= Audio Test =&lt;br /&gt;
List all sound cards:&lt;br /&gt;
  $ aplay -L &lt;br /&gt;
&lt;br /&gt;
Play a file:&lt;br /&gt;
  $ aplay Test.wav&lt;br /&gt;
&lt;br /&gt;
List all sound controls:&lt;br /&gt;
  $ amixer controls&lt;br /&gt;
&lt;br /&gt;
Set Speaker Playback volume to max:&lt;br /&gt;
  $ amixer cset numid=13 127&lt;br /&gt;
&lt;br /&gt;
= QSPI NOR Flash test =&lt;br /&gt;
  $ mtd_debug info /dev/mtd0&lt;br /&gt;
  $ mtd_debug erase /dev/mtd0 0 0x10000&lt;br /&gt;
  $ dd if=/dev/urandom of=tmp_write.txt bs=1024 count=64&lt;br /&gt;
  $ dd if=tmp_write.txt of=/dev/mtd0 bs=1024 count=64&lt;br /&gt;
  $ dd if=/dev/mtd0 of=tmp_read.txt bs=1024 count=64&lt;br /&gt;
  $ diff tmp_write.txt tmp_read.txt&lt;br /&gt;
  $ hexdump -C tmp_read.txt | more&lt;br /&gt;
&lt;br /&gt;
= I2C EEPROM Test =&lt;br /&gt;
  $ echo &amp;quot;Ronetix GmbH&amp;quot; &amp;gt; /sys/bus/i2c/devices/0-0050/eeprom	&lt;br /&gt;
  $ cat /sys/bus/i2c/devices/0-0050/eeprom &amp;gt; eeprom.bin&lt;br /&gt;
  $ hexdump -C eeprom.bin&lt;br /&gt;
&lt;br /&gt;
= Camera Test =&lt;br /&gt;
  $ v4l2-ctl --list-devices&lt;br /&gt;
  $ gst-launch-1.0 v4l2src num-buffers=1 ! jpegenc ! filesink location=test.jpg&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Yocto Linux | Yocto Linux]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Linux|Building Linux Kernel]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} U-Boot|Building U-Boot]]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-iMX93-OSM_Yocto_Linux&amp;diff=472</id>
		<title>RNX-iMX93-OSM Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-iMX93-OSM_Yocto_Linux&amp;diff=472"/>
		<updated>2026-07-02T09:56:48Z</updated>

		<summary type="html">&lt;p&gt;Ilko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-iMX93-OSM}}&lt;br /&gt;
{{#vardefine:MACHINE_NAME|rnx-imx93-osm}}&lt;br /&gt;
{{#vardefine:YOCTO_NAME|micledore}}&lt;br /&gt;
{{#vardefine:KERNEL_VER|6.1.55}}&lt;br /&gt;
{{#vardefine:UBOOT_VER|v2023.04}}&lt;br /&gt;
[[File:RNX-iMX93-OSM_top.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Yocto {{#var:YOCTO_NAME}}&lt;br /&gt;
| {{#var:KERNEL_VER}}&lt;br /&gt;
| {{#var:UBOOT_VER}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
== Setting Boot mode ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Boot mode setting on carrier board&lt;br /&gt;
|-&lt;br /&gt;
! BOOT !! J31:1-2 !! J31:3-4 !! J31:5-6 !! J31:7-8&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55 Serial Downloader || close || open || open || open&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55, eMMC || open || close || open || open&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Terminal Setup ==&lt;br /&gt;
The carrier board connects the host PC using the micro-B USB connector (J3).&amp;lt;br&amp;gt;&lt;br /&gt;
Common serial communication programs such as Minicom, HyperTerminal, Tera Term, or PuTTY can be used.&amp;lt;br&amp;gt; &lt;br /&gt;
The {{#var:HARDWARE_NAME}} board uses the second port for the Arm Cortex-A cores console.&lt;br /&gt;
&lt;br /&gt;
== Installing required packages ==&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 20.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \&lt;br /&gt;
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \&lt;br /&gt;
xz-utils debianutils iputils-ping libsdl1.2-dev xterm python-is-python3 lz4&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git-doc \&lt;br /&gt;
sed cvs subversion coreutils texi2html docbook-utils \&lt;br /&gt;
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \&lt;br /&gt;
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \&lt;br /&gt;
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bmap-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
== Download Yocto based on Freescale Community BSP ==&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/bin &lt;br /&gt;
 $ curl &amp;lt;nowiki&amp;gt;http://commondatastorage.googleapis.com/git-repo-downloads/repo &amp;gt; ~/bin/repo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ chmod a+x ~/bin/repo&lt;br /&gt;
 $ export PATH=~/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-ronetix&lt;br /&gt;
 $ cd ~/yocto-ronetix&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Yocto repository&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ repo init -u https://github.com/ronetix/imx-manifest -b imx-linux-mickledore -m imx-6.1.55-2.2.0.xml&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&lt;br /&gt;
== Setup and build Yocto ==&lt;br /&gt;
* Setup first time:&lt;br /&gt;
 $ MACHINE={{#var:MACHINE_NAME}} DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* or setup if already configured:&lt;br /&gt;
 $ source setup-environment build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
 $ bitbake imx-image-core&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
If the Ubuntu Terminal is crashed without any notification, see here: [[FAQ - Frequently Asked Questions]]}}&lt;br /&gt;
&lt;br /&gt;
=== Build Results ===&lt;br /&gt;
The resulted images are located in tmp/deploy/images/{{#var:MACHINE_NAME}}.&lt;br /&gt;
&lt;br /&gt;
=== Booting Linux ===&lt;br /&gt;
This section describes how to copy the images (U-Boot, Linux kernel, device tree, and&lt;br /&gt;
rootfs) to the eMMC device on the module.&lt;br /&gt;
&lt;br /&gt;
==== Universal update utility ====&lt;br /&gt;
The Universal Update Utility (UUU) runs on a Windows or Linux OS host and is used to download images to devices on an i.MX board.&lt;br /&gt;
&lt;br /&gt;
===== Downloading UUU =====&lt;br /&gt;
Download UUU version 1.5.21 or later from https://github.com/nxp-imx/mfgtools/releases&lt;br /&gt;
&lt;br /&gt;
===== Write the WIC image into eMMC =====&lt;br /&gt;
Follow the instructions below:&lt;br /&gt;
* Connect a USB cable from a computer to the J9, port USB-A (Micro-AB) port on the carrier board for download link.&lt;br /&gt;
* Connect a USB cable from J3, port UART-DBG (Micro-AB) port to the computer for console output.&lt;br /&gt;
* Open a Terminal emulator program&lt;br /&gt;
* Set the boot mode to &amp;quot;Cortex-A55 Serial Downloader&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
&lt;br /&gt;
  $ cd tmp/deploy/images/{{#var:MACHINE_NAME}}&lt;br /&gt;
  $ uuu -b emmc_all imx-boot-{{#var:MACHINE_NAME}}-sd.bin-flash_singleboot imx-image-core-{{#var:MACHINE_NAME}}.wic.zst&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
If the programming freezes with last message &amp;quot;Failed to configure default pinctrl&amp;quot;, then try with another USB cable or USP port on your PC.}}&lt;br /&gt;
&lt;br /&gt;
==== Boot Linux ====&lt;br /&gt;
* set the boot mode to &amp;quot;Cortex-A55, eMMC&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
* reset the board&lt;br /&gt;
&lt;br /&gt;
== WiFi Setup ==&lt;br /&gt;
Scan for wireless networks: &lt;br /&gt;
  $ ifconfig wlan0 up&lt;br /&gt;
  $ iw dev wlan0 scan | grep SSID&lt;br /&gt;
&lt;br /&gt;
Connecting to an Access Point:&lt;br /&gt;
  $ wpa_passphrase &amp;lt;YourAP&amp;gt; &amp;lt;YourPassword&amp;gt; &amp;gt; /etc/wpa_supplicant.conf&lt;br /&gt;
  $ wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
wait for:&lt;br /&gt;
  $ wlcore: Association completed.&lt;br /&gt;
&lt;br /&gt;
Get an IP via DHCP:&lt;br /&gt;
  $ udhcpc -i wlan0&lt;br /&gt;
  $ ifconfig&lt;br /&gt;
&lt;br /&gt;
== Audio Test ==&lt;br /&gt;
List all sound cards:&lt;br /&gt;
  $ aplay -L &lt;br /&gt;
&lt;br /&gt;
Play a file:&lt;br /&gt;
  $ aplay -D &amp;quot;sysdefault:CARD=wm8962audio&amp;quot; test.wav&lt;br /&gt;
&lt;br /&gt;
List all sound controls:&lt;br /&gt;
  $ amixer controls&lt;br /&gt;
&lt;br /&gt;
Set Speaker Playback volume to max:&lt;br /&gt;
  $ amixer cset numid=13 127&lt;br /&gt;
&lt;br /&gt;
== Camera Test ==&lt;br /&gt;
Connect an OV5640 camera (PCAM 5C) to J21 on the carrier board.&amp;lt;br&amp;gt;&lt;br /&gt;
List capture media devices:&lt;br /&gt;
 $ v4l2-ctl --list-devices&lt;br /&gt;
 FSL Capture Media Device (platform:42800000.bus:camera):                                                         &lt;br /&gt;
        /dev/media0                                                                                              &lt;br /&gt;
                                                                                                                 &lt;br /&gt;
 mxc-isi-cap (platform:4ae40000.isi:cap_devic):                                                                   &lt;br /&gt;
        /dev/video0 &lt;br /&gt;
&lt;br /&gt;
Take a single photo:&lt;br /&gt;
 $ gst-launch-1.0 v4l2src num-buffers=1 ! &amp;quot;video/x-raw,width=640,height=480&amp;quot; ! jpegenc ! filesink location=test.jpg&lt;br /&gt;
 Setting pipeline to PAUSED ...                                                                                   &lt;br /&gt;
 Pipeline is live and does not need PREROLL ...                                                                   &lt;br /&gt;
 Pipeline is PREROLLED ...                                                                                        &lt;br /&gt;
 Setting pipeline to PLAYING ...                                                                                  &lt;br /&gt;
 New clock: GstSystemClock                                                                                        &lt;br /&gt;
 [  877.427496] mxc-mipi-csi2.0: format: 0x2008                                                                   &lt;br /&gt;
 [  877.436706] bypass csc                                                                                        &lt;br /&gt;
 [  877.439078] input fmt YUV4                                                                                    &lt;br /&gt;
 [  877.441775] output fmt YUYV                                                                                   &lt;br /&gt;
 [  877.553965] dwc-mipi-csi2-host 4ae00000.csi: enter enable=1                                                   &lt;br /&gt;
 Redistribute latency...                                                                                          &lt;br /&gt;
 Got EOS from element &amp;quot;pipeline0&amp;quot;.                                                                                &lt;br /&gt;
 Execution ended after 0:00:02.375455667                                                                          &lt;br /&gt;
 Setting pipeline to NULL ...                                                                                     &lt;br /&gt;
 [  879.341902] dwc-mipi-csi2-host 4ae00000.csi: enter enable=0                                                   &lt;br /&gt;
 Freeing pipeline ...      &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Yocto Linux | Yocto Linux]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Linux|Building Linux Kernel]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} U-Boot|Building U-Boot]]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-iMX93-SMARC_Yocto_Linux&amp;diff=471</id>
		<title>RNX-iMX93-SMARC Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-iMX93-SMARC_Yocto_Linux&amp;diff=471"/>
		<updated>2026-07-02T09:56:04Z</updated>

		<summary type="html">&lt;p&gt;Ilko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-iMX93-SMARC}}&lt;br /&gt;
{{#vardefine:MACHINE_NAME|rnx-imx93-smarc}}&lt;br /&gt;
{{#vardefine:YOCTO_NAME|micledore}}&lt;br /&gt;
{{#vardefine:KERNEL_VER|6.1.55}}&lt;br /&gt;
{{#vardefine:UBOOT_VER|v2023.04}}&lt;br /&gt;
[[File:RNX-iMX93-SMARC_top.webp|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Yocto {{#var:YOCTO_NAME}}&lt;br /&gt;
| {{#var:KERNEL_VER}}&lt;br /&gt;
| {{#var:UBOOT_VER}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
== Setting Boot mode ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Boot mode setting on carrier board&lt;br /&gt;
|-&lt;br /&gt;
! BOOT !! J4:1-2 !! J4:3-4 !! J4:5-6 !! J4:7-8&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55 Serial Downloader || &#039;&#039;&#039;close&#039;&#039;&#039; || open || open || open&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55, eMMC || open || &#039;&#039;&#039;close&#039;&#039;&#039; || open || open&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Terminal Setup ==&lt;br /&gt;
The carrier board connects the host PC using the micro-B USB connector (J3).&amp;lt;br&amp;gt;&lt;br /&gt;
Common serial communication programs such as Minicom, HyperTerminal, Tera Term, or PuTTY can be used.&amp;lt;br&amp;gt; &lt;br /&gt;
The {{#var:HARDWARE_NAME}} board uses the first port for the Arm Cortex-A cores console.&lt;br /&gt;
&lt;br /&gt;
== Installing required packages ==&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 20.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;console&amp;quot; copyable&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \&lt;br /&gt;
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \&lt;br /&gt;
xz-utils debianutils iputils-ping libsdl1.2-dev xterm python-is-python3 lz4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;console&amp;quot; copyable&amp;gt;&lt;br /&gt;
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git-doc \&lt;br /&gt;
sed cvs subversion coreutils texi2html docbook-utils \&lt;br /&gt;
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \&lt;br /&gt;
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \&lt;br /&gt;
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bmap-tools&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
== Download Yocto based on Freescale Community BSP ==&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/bin &lt;br /&gt;
 $ curl &amp;lt;nowiki&amp;gt;http://commondatastorage.googleapis.com/git-repo-downloads/repo &amp;gt; ~/bin/repo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ chmod a+x ~/bin/repo&lt;br /&gt;
 $ export PATH=~/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-ronetix&lt;br /&gt;
 $ cd ~/yocto-ronetix&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Yocto repository&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ repo init -u https://github.com/ronetix/imx-manifest -b imx-linux-mickledore -m imx-6.1.55-2.2.0.xml&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&lt;br /&gt;
== Setup and build Yocto ==&lt;br /&gt;
* Setup first time:&lt;br /&gt;
 $ MACHINE={{#var:MACHINE_NAME}} DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* or setup if already configured:&lt;br /&gt;
 $ source setup-environment build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
 $ bitbake imx-image-core&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
If the Ubuntu Terminal is crashed without any notification, see here: [[FAQ - Frequently Asked Questions]]}}&lt;br /&gt;
&lt;br /&gt;
=== Build Results ===&lt;br /&gt;
The resulted images are located in tmp/deploy/images/{{#var:MACHINE_NAME}}.&lt;br /&gt;
&lt;br /&gt;
=== Booting Linux ===&lt;br /&gt;
This section describes how to copy the images (U-Boot, Linux kernel, device tree, and&lt;br /&gt;
rootfs) to the eMMC device on the module.&lt;br /&gt;
&lt;br /&gt;
==== Universal update utility ====&lt;br /&gt;
The Universal Update Utility (UUU) runs on a Windows or Linux OS host and is used to download images to devices on an i.MX board.&lt;br /&gt;
&lt;br /&gt;
===== Downloading UUU =====&lt;br /&gt;
Download UUU version 1.5.21 or later from https://github.com/nxp-imx/mfgtools/releases&lt;br /&gt;
&lt;br /&gt;
===== Write the WIC image into eMMC =====&lt;br /&gt;
Follow the instructions below:&lt;br /&gt;
* Connect a USB cable from a computer to the J9, port USB-0 (Micro-AB) port on the carrier board for download link.&lt;br /&gt;
* Connect a USB cable from J3, port UART-DBG (Micro-AB) port to the computer for console output.&lt;br /&gt;
* Open a Terminal emulator program&lt;br /&gt;
* Set the boot mode to &amp;quot;Cortex-A55 Serial Downloader&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
&lt;br /&gt;
  $ cd tmp/deploy/images/{{#var:MACHINE_NAME}}&lt;br /&gt;
  $ uuu -b emmc_all imx-boot-{{#var:MACHINE_NAME}}-sd.bin-flash_singleboot imx-image-core-{{#var:MACHINE_NAME}}.wic.zst&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
If the programming freezes with last message &amp;quot;Failed to configure default pinctrl&amp;quot;, then try with another USB cable or USP port on your PC.}}&lt;br /&gt;
&lt;br /&gt;
==== Boot Linux ====&lt;br /&gt;
* set the boot mode to &amp;quot;Cortex-A55, eMMC&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
* reset the board&lt;br /&gt;
&lt;br /&gt;
== WiFi Setup ==&lt;br /&gt;
Scan for wireless networks: &lt;br /&gt;
  $ ifconfig wlan0 up&lt;br /&gt;
  $ iw dev wlan0 scan | grep SSID&lt;br /&gt;
&lt;br /&gt;
Connecting to an Access Point:&lt;br /&gt;
  $ wpa_passphrase &amp;lt;YourAP&amp;gt; &amp;lt;YourPassword&amp;gt; &amp;gt; /etc/wpa_supplicant.conf&lt;br /&gt;
  $ wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
wait for:&lt;br /&gt;
  $ wlcore: Association completed.&lt;br /&gt;
&lt;br /&gt;
Get an IP via DHCP:&lt;br /&gt;
  $ udhcpc -i wlan0&lt;br /&gt;
  $ ifconfig&lt;br /&gt;
&lt;br /&gt;
== Audio Test ==&lt;br /&gt;
List all sound cards:&lt;br /&gt;
  $ aplay -L &lt;br /&gt;
&lt;br /&gt;
Play a file:&lt;br /&gt;
  $ aplay -D &amp;quot;sysdefault:CARD=wm8962audio&amp;quot; test.wav&lt;br /&gt;
&lt;br /&gt;
List all sound controls:&lt;br /&gt;
  $ amixer controls&lt;br /&gt;
&lt;br /&gt;
Set Speaker Playback volume to max:&lt;br /&gt;
  $ amixer cset numid=13 127&lt;br /&gt;
&lt;br /&gt;
== Camera Test ==&lt;br /&gt;
Connect an OV5640 camera (PCAM 5C) to J21 on the carrier board.&amp;lt;br&amp;gt;&lt;br /&gt;
List capture media devices:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;console&amp;quot; copyable&amp;gt;&lt;br /&gt;
 $ v4l2-ctl --list-devices&lt;br /&gt;
 FSL Capture Media Device (platform:42800000.bus:camera):                                                         &lt;br /&gt;
        /dev/media0                                                                                              &lt;br /&gt;
                                                                                                                 &lt;br /&gt;
 mxc-isi-cap (platform:4ae40000.isi:cap_devic):                                                                   &lt;br /&gt;
        /dev/video0 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Take a single photo:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;console&amp;quot; copyable&amp;gt;&lt;br /&gt;
 $ gst-launch-1.0 v4l2src num-buffers=1 ! jpegenc ! filesink location=test.jpg&lt;br /&gt;
 Setting pipeline to PAUSED ...                                                                                   &lt;br /&gt;
 Pipeline is live and does not need PREROLL ...                                                                   &lt;br /&gt;
 Pipeline is PREROLLED ...                                                                                        &lt;br /&gt;
 Setting pipeline to PLAYING ...                                                                                  &lt;br /&gt;
 New clock: GstSystemClock                                                                                        &lt;br /&gt;
 [  877.427496] mxc-mipi-csi2.0: format: 0x2008                                                                   &lt;br /&gt;
 [  877.436706] bypass csc                                                                                        &lt;br /&gt;
 [  877.439078] input fmt YUV4                                                                                    &lt;br /&gt;
 [  877.441775] output fmt YUYV                                                                                   &lt;br /&gt;
 [  877.553965] dwc-mipi-csi2-host 4ae00000.csi: enter enable=1                                                   &lt;br /&gt;
 Redistribute latency...                                                                                          &lt;br /&gt;
 Got EOS from element &amp;quot;pipeline0&amp;quot;.                                                                                &lt;br /&gt;
 Execution ended after 0:00:02.375455667                                                                          &lt;br /&gt;
 Setting pipeline to NULL ...                                                                                     &lt;br /&gt;
 [  879.341902] dwc-mipi-csi2-host 4ae00000.csi: enter enable=0                                                   &lt;br /&gt;
 Freeing pipeline ...      &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Yocto Linux | Yocto Linux]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Linux|Building Linux Kernel]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} U-Boot|Building U-Boot]]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-iMX93-OSM_Yocto_Linux&amp;diff=470</id>
		<title>RNX-iMX93-OSM Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-iMX93-OSM_Yocto_Linux&amp;diff=470"/>
		<updated>2026-07-02T08:40:19Z</updated>

		<summary type="html">&lt;p&gt;Ilko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-iMX93-OSM}}&lt;br /&gt;
{{#vardefine:MACHINE_NAME|rnx-imx93-osm}}&lt;br /&gt;
{{#vardefine:YOCTO_NAME|micledore}}&lt;br /&gt;
{{#vardefine:KERNEL_VER|6.1.55}}&lt;br /&gt;
{{#vardefine:UBOOT_VER|v2023.04}}&lt;br /&gt;
[[File:RNX-iMX93-OSM_top.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Yocto {{#var:YOCTO_NAME}}&lt;br /&gt;
| {{#var:KERNEL_VER}}&lt;br /&gt;
| {{#var:UBOOT_VER}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
== Setting Boot mode ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Boot mode setting on carrier board&lt;br /&gt;
|-&lt;br /&gt;
! BOOT !! J31:1-2 !! J31:3-4 !! J31:5-6 !! J31:7-8&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55 Serial Downloader || close || open || open || open&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55, eMMC || open || close || open || open&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Terminal Setup ==&lt;br /&gt;
The carrier board connects the host PC using the micro-B USB connector (J3).&amp;lt;br&amp;gt;&lt;br /&gt;
Common serial communication programs such as Minicom, HyperTerminal, Tera Term, or PuTTY can be used.&amp;lt;br&amp;gt; &lt;br /&gt;
The {{#var:HARDWARE_NAME}} board uses the second port for the Arm Cortex-A cores console.&lt;br /&gt;
&lt;br /&gt;
== Installing required packages ==&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 20.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \&lt;br /&gt;
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \&lt;br /&gt;
xz-utils debianutils iputils-ping libsdl1.2-dev xterm python-is-python3 lz4&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git-doc \&lt;br /&gt;
sed cvs subversion coreutils texi2html docbook-utils \&lt;br /&gt;
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \&lt;br /&gt;
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \&lt;br /&gt;
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bmap-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
== Download Yocto based on Freescale Community BSP ==&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/bin &lt;br /&gt;
 $ curl &amp;lt;nowiki&amp;gt;http://commondatastorage.googleapis.com/git-repo-downloads/repo &amp;gt; ~/bin/repo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ chmod a+x ~/bin/repo&lt;br /&gt;
 $ export PATH=~/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-ronetix&lt;br /&gt;
 $ cd ~/yocto-ronetix&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Yocto repository&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ repo init -u https://github.com/ronetix/imx-manifest -b imx-linux-mickledore -m imx-6.1.55-2.2.0.xml&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&lt;br /&gt;
== Setup and build Yocto ==&lt;br /&gt;
* Setup first time:&lt;br /&gt;
 $ MACHINE={{#var:MACHINE_NAME}} DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* or setup if already configured:&lt;br /&gt;
 $ source setup-environment build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
 $ bitbake imx-image-core&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If the Ubuntu Terminal is crashed without any notification, see here: [[FAQ - Frequently Asked Questions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Build Results ===&lt;br /&gt;
The resulted images are located in tmp/deploy/images/{{#var:MACHINE_NAME}}.&lt;br /&gt;
&lt;br /&gt;
=== Booting Linux ===&lt;br /&gt;
This section describes how to copy the images (U-Boot, Linux kernel, device tree, and&lt;br /&gt;
rootfs) to the eMMC device on the module.&lt;br /&gt;
&lt;br /&gt;
==== Universal update utility ====&lt;br /&gt;
The Universal Update Utility (UUU) runs on a Windows or Linux OS host and is used to download images to devices on an i.MX board.&lt;br /&gt;
&lt;br /&gt;
===== Downloading UUU =====&lt;br /&gt;
Download UUU version 1.5.21 or later from https://github.com/nxp-imx/mfgtools/releases&lt;br /&gt;
&lt;br /&gt;
===== Write the WIC image into eMMC =====&lt;br /&gt;
Follow the instructions below:&lt;br /&gt;
* Connect a USB cable from a computer to the J9, port USB-A (Micro-AB) port on the carrier board for download link.&lt;br /&gt;
* Connect a USB cable from J3, port UART-DBG (Micro-AB) port to the computer for console output.&lt;br /&gt;
* Open a Terminal emulator program&lt;br /&gt;
* Set the boot mode to &amp;quot;Cortex-A55 Serial Downloader&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
&lt;br /&gt;
  $ cd tmp/deploy/images/{{#var:MACHINE_NAME}}&lt;br /&gt;
  $ uuu -b emmc_all imx-boot-{{#var:MACHINE_NAME}}-sd.bin-flash_singleboot imx-image-core-{{#var:MACHINE_NAME}}.wic.zst&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
If the programming freezes with last message &amp;quot;Failed to configure default pinctrl&amp;quot;, then try with another USB cable or USP port on your PC.}}&lt;br /&gt;
&lt;br /&gt;
==== Boot Linux ====&lt;br /&gt;
* set the boot mode to &amp;quot;Cortex-A55, eMMC&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
* reset the board&lt;br /&gt;
&lt;br /&gt;
== WiFi Setup ==&lt;br /&gt;
Scan for wireless networks: &lt;br /&gt;
  $ ifconfig wlan0 up&lt;br /&gt;
  $ iw dev wlan0 scan | grep SSID&lt;br /&gt;
&lt;br /&gt;
Connecting to an Access Point:&lt;br /&gt;
  $ wpa_passphrase &amp;lt;YourAP&amp;gt; &amp;lt;YourPassword&amp;gt; &amp;gt; /etc/wpa_supplicant.conf&lt;br /&gt;
  $ wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
wait for:&lt;br /&gt;
  $ wlcore: Association completed.&lt;br /&gt;
&lt;br /&gt;
Get an IP via DHCP:&lt;br /&gt;
  $ udhcpc -i wlan0&lt;br /&gt;
  $ ifconfig&lt;br /&gt;
&lt;br /&gt;
== Audio Test ==&lt;br /&gt;
List all sound cards:&lt;br /&gt;
  $ aplay -L &lt;br /&gt;
&lt;br /&gt;
Play a file:&lt;br /&gt;
  $ aplay -D &amp;quot;sysdefault:CARD=wm8962audio&amp;quot; test.wav&lt;br /&gt;
&lt;br /&gt;
List all sound controls:&lt;br /&gt;
  $ amixer controls&lt;br /&gt;
&lt;br /&gt;
Set Speaker Playback volume to max:&lt;br /&gt;
  $ amixer cset numid=13 127&lt;br /&gt;
&lt;br /&gt;
== Camera Test ==&lt;br /&gt;
Connect an OV5640 camera (PCAM 5C) to J21 on the carrier board.&amp;lt;br&amp;gt;&lt;br /&gt;
List capture media devices:&lt;br /&gt;
 $ v4l2-ctl --list-devices&lt;br /&gt;
 FSL Capture Media Device (platform:42800000.bus:camera):                                                         &lt;br /&gt;
        /dev/media0                                                                                              &lt;br /&gt;
                                                                                                                 &lt;br /&gt;
 mxc-isi-cap (platform:4ae40000.isi:cap_devic):                                                                   &lt;br /&gt;
        /dev/video0 &lt;br /&gt;
&lt;br /&gt;
Take a single photo:&lt;br /&gt;
 $ gst-launch-1.0 v4l2src num-buffers=1 ! &amp;quot;video/x-raw,width=640,height=480&amp;quot; ! jpegenc ! filesink location=test.jpg&lt;br /&gt;
 Setting pipeline to PAUSED ...                                                                                   &lt;br /&gt;
 Pipeline is live and does not need PREROLL ...                                                                   &lt;br /&gt;
 Pipeline is PREROLLED ...                                                                                        &lt;br /&gt;
 Setting pipeline to PLAYING ...                                                                                  &lt;br /&gt;
 New clock: GstSystemClock                                                                                        &lt;br /&gt;
 [  877.427496] mxc-mipi-csi2.0: format: 0x2008                                                                   &lt;br /&gt;
 [  877.436706] bypass csc                                                                                        &lt;br /&gt;
 [  877.439078] input fmt YUV4                                                                                    &lt;br /&gt;
 [  877.441775] output fmt YUYV                                                                                   &lt;br /&gt;
 [  877.553965] dwc-mipi-csi2-host 4ae00000.csi: enter enable=1                                                   &lt;br /&gt;
 Redistribute latency...                                                                                          &lt;br /&gt;
 Got EOS from element &amp;quot;pipeline0&amp;quot;.                                                                                &lt;br /&gt;
 Execution ended after 0:00:02.375455667                                                                          &lt;br /&gt;
 Setting pipeline to NULL ...                                                                                     &lt;br /&gt;
 [  879.341902] dwc-mipi-csi2-host 4ae00000.csi: enter enable=0                                                   &lt;br /&gt;
 Freeing pipeline ...      &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Yocto Linux | Yocto Linux]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Linux|Building Linux Kernel]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} U-Boot|Building U-Boot]]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=Template:Warning&amp;diff=469</id>
		<title>Template:Warning</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=Template:Warning&amp;diff=469"/>
		<updated>2026-07-02T08:38:21Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Initial creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background-color:#f8d7da; border-left:4px solid #dc3545; padding:10px 15px; margin:10px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;⚠ Warning:&#039;&#039;&#039; {{{1}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=Template:Note&amp;diff=468</id>
		<title>Template:Note</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=Template:Note&amp;diff=468"/>
		<updated>2026-07-02T08:37:49Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Initial creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background-color:#fff3cd; border-left:4px solid #ffcc00; padding:10px 15px; margin:10px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; {{{1}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=Template:Info&amp;diff=467</id>
		<title>Template:Info</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=Template:Info&amp;diff=467"/>
		<updated>2026-07-02T08:32:50Z</updated>

		<summary type="html">&lt;p&gt;Ilko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background-color:#d1ecf1; border-left:4px solid #17a2b8; padding:10px 15px; margin:10px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Info:&#039;&#039;&#039; {{{1}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=Template:Info&amp;diff=466</id>
		<title>Template:Info</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=Template:Info&amp;diff=466"/>
		<updated>2026-07-02T08:31:24Z</updated>

		<summary type="html">&lt;p&gt;Ilko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background-color:#d1ecf1; border-left:4px solid #17a2b8; padding:10px 15px; margin:10px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;ℹ Info:&#039;&#039;&#039; {{{1}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=Template:Info&amp;diff=465</id>
		<title>Template:Info</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=Template:Info&amp;diff=465"/>
		<updated>2026-07-02T08:31:00Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Initial creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background-color:#fff3cd; border-left:4px solid #ffcc00; padding:10px 15px; margin:10px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; {{{1}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-RZV2N-SMARC_Programming_Images&amp;diff=464</id>
		<title>RNX-RZV2N-SMARC Programming Images</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-RZV2N-SMARC_Programming_Images&amp;diff=464"/>
		<updated>2026-05-29T14:01:38Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Fix wrong image name in &amp;quot;bmaptool copy&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-RZV2N-SMARC}}&lt;br /&gt;
{{#vardefine:URL_PEEDI|https://ronetix.at/product/peedi-jtag-swd-bdm-emulator-and-flash-programmer}}&lt;br /&gt;
[[File:rzv2n-smarc_top.webp|thumb]]&lt;br /&gt;
== Overview ==&lt;br /&gt;
For a complete Linux System, the CPU Module {{#var:HARDWARE_NAME}} requires the following images:&lt;br /&gt;
* Boot Loader stage 2 (BL2) Trusted Boot Firmware with boot parameters block&lt;br /&gt;
* Boot Loader stage 3-1 (BL3-1) EL3 Runtime Firmware&lt;br /&gt;
* U-BOOT&lt;br /&gt;
* Linux Kernel with Device Tree Blob&lt;br /&gt;
* RootFS - root file system&lt;br /&gt;
&lt;br /&gt;
The bootloaders (BL2, BL3 and U-BOOT) and the Linux Kernel can be programmed on the QSPI Flash or on the eMMC.&amp;lt;br&amp;gt;&lt;br /&gt;
The RoorFS can be programmed on the eMMC or on a SD card (J14 on the carrier board).&lt;br /&gt;
&lt;br /&gt;
After successful YOCTO building, all these images are available in tmp/deploy/images/rnx-rzv2n-smarc:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Image&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| bl2_bp_spi-rnx-rzv2n-smarc.bin&amp;lt;br&amp;gt;bl2_bp_spi-rnx-rzv2n-smarc.srec&lt;br /&gt;
| Boot Loader stage 2 (BL2) + boot parameters block&lt;br /&gt;
|-&lt;br /&gt;
| fip-rnx-rzv2n-smarc.bin&amp;lt;br&amp;gt;fip-rnx-rzv2n-smarc.srec&lt;br /&gt;
| Boot Loader stage 3-1 + U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Image-rnx-rzv2n-smarc.bin&lt;br /&gt;
| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| rnx-rzv2n-smarc.dtb&lt;br /&gt;
| Linux Device Tree Blob&lt;br /&gt;
|-&lt;br /&gt;
| core-image-weston-rnx-rzv2n-smarc.rootfs.ext4&lt;br /&gt;
| Root File System&lt;br /&gt;
|-&lt;br /&gt;
| core-image-weston-rnx-rzv2n-smarc.rootfs.wic.gz&lt;br /&gt;
| Partitioned Image containing everything&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Alternatively, for development purpose, the images can be built standalone:&amp;lt;br&amp;gt;&lt;br /&gt;
* [[RNX-RZV2N-SMARC_ARM_Trusted_Firmware]]&lt;br /&gt;
* [[RNX-RZV2N-SMARC_U-Boot]]&lt;br /&gt;
* [[RNX-RZV2N-SMARC_Linux]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The images can be programmed using the [{{#var:URL_PEEDI}} PEEDI JTAG Flash Programmer].&lt;br /&gt;
&lt;br /&gt;
== Setting Boot mode ==&lt;br /&gt;
On the carrier board, set the boot mode to &amp;quot;SCIF Download mode&amp;quot;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! J4, pin 1-2&lt;br /&gt;
! J4, pin 3-4&lt;br /&gt;
|-&lt;br /&gt;
| SCIF Download mode&lt;br /&gt;
| open&lt;br /&gt;
| open&lt;br /&gt;
|-&lt;br /&gt;
| QSPI Boot mode&lt;br /&gt;
| close&lt;br /&gt;
| open&lt;br /&gt;
|-&lt;br /&gt;
| eMMC Boot mode&lt;br /&gt;
| open&lt;br /&gt;
| close&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programming BL2, BL31 and U-BOOT ==&lt;br /&gt;
&lt;br /&gt;
=== Programming QSPI Flash using PEEDI JTAG Flash Programmer ===&lt;br /&gt;
PEEDI should be configured to use the &#039;&#039;&#039;rzv2n.cfg&#039;&#039;&#039; configuration file.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PEEDI - Powerful Embedded Ethernet Debug Interface&lt;br /&gt;
Copyright (c) 2005-2025 www.ronetix.at - All rights reserved&lt;br /&gt;
Hw:1.2, Fw:25.12.1071, SN: PD-0000-0B6B-301F&lt;br /&gt;
------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
peedi&amp;gt; &lt;br /&gt;
++ info: opening file &#039;tftp://192.168.3.5/rzv2n.cfg&#039;&lt;br /&gt;
++ info: loading file &#039;tftp://192.168.3.5/rzv2n.cfg&#039;...&lt;br /&gt;
++ info: done, loaded 2111 meaningful bytes.&lt;br /&gt;
++ info: opening file &#039;eep:license.txt&#039;&lt;br /&gt;
++ info: loading file &#039;eep:license.txt&#039;...&lt;br /&gt;
++ info: done, loaded 534 meaningful bytes.&lt;br /&gt;
&lt;br /&gt;
++ info: Wakeup 20 ms&lt;br /&gt;
++ info: Target Vref = 1.72V&lt;br /&gt;
++ info: RESET and TRST asserted&lt;br /&gt;
++ info: TRST released&lt;br /&gt;
++ info: RESET released&lt;br /&gt;
++ info: wait 200 ms&lt;br /&gt;
++ info: BYPASS check passed, 1 TAP controller(s) detected&lt;br /&gt;
++ info: TAP: IDCODE = 0x6BA00477, Cortex-ARMv8&lt;br /&gt;
&lt;br /&gt;
++ info: TAP 0: requesting Debug and System power-up (CDBGPWRUPREQ, CSYSPWRUPREQ)&lt;br /&gt;
++ info: core 0: using APB port 0                                                                 &lt;br /&gt;
++ info: core 0: Found VFP and NEON features                                                      &lt;br /&gt;
++ info: core 0: stopped by user request, PC=0x0000000000005578, CPSR=0x400003CD                  &lt;br /&gt;
++ info: core 0: Cortex-A55, CPUID = 0x412FD050                                                   &lt;br /&gt;
++ info: core 0: connected                                                                        &lt;br /&gt;
++ info: core 0: initialized                       &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Check the QSPI Flash:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 rzg2&amp;gt; flash info&lt;br /&gt;
 &lt;br /&gt;
++ info: Testing workspace at 0x08000000, size 33024 ... done.                                    &lt;br /&gt;
                                                                                                  &lt;br /&gt;
FLASH configuration for core #0:                                                                  &lt;br /&gt;
  CPU: RENESAS_RZV                                                                                &lt;br /&gt;
  Device: AT25QL128    ID: 1F 42 18 1F                                                            &lt;br /&gt;
  3-BYTE command set, Normal Read                                                                 &lt;br /&gt;
  Chip size: 16 MB                                                                                &lt;br /&gt;
  Write chunk size: 256 bytes                                                                     &lt;br /&gt;
  Erase chunk size: 64 KB                                                                         &lt;br /&gt;
                                                                                                  &lt;br /&gt;
FLASH commands default parameters:                                                                &lt;br /&gt;
  flash read   0x00000000 0x01000000                                                              &lt;br /&gt;
  flash blank  0x00000000 0x01000000                                                              &lt;br /&gt;
  flash erase  0x00000000 0x01000000                                                              &lt;br /&gt;
  flash lock   0x00000000 0x01000000                                                              &lt;br /&gt;
  flash unlock 0x00000000 0x01000000                                                              &lt;br /&gt;
  flash query  0x00000000 0x01000000                                                              &lt;br /&gt;
  flash program bl2_bp-rnx-rzv2n-smarc.bin bin 0x00000000                                         &lt;br /&gt;
  flash verify  bl2_bp-rnx-rzv2n-smarc.bin bin 0x00000000 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Erase first two MBs of the QSPI Flash&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 rzg2&amp;gt; flash erase 0 1024*1024*2&lt;br /&gt;
erasing     at 0x00000000 (block #0)                                                              &lt;br /&gt;
erasing     at 0x00010000 (block #1)                                                              &lt;br /&gt;
erasing     at 0x00020000 (block #2)                                                              &lt;br /&gt;
erasing     at 0x00030000 (block #3)                                                              &lt;br /&gt;
erasing     at 0x00040000 (block #4)                                                              &lt;br /&gt;
erasing     at 0x00050000 (block #5)                                                              &lt;br /&gt;
erasing     at 0x00060000 (block #6)                                                              &lt;br /&gt;
erasing     at 0x00070000 (block #7)                                                              &lt;br /&gt;
erasing     at 0x00080000 (block #8)                                                              &lt;br /&gt;
erasing     at 0x00090000 (block #9)                                                              &lt;br /&gt;
erasing     at 0x000A0000 (block #10)                                                             &lt;br /&gt;
erasing     at 0x000B0000 (block #11)                                                             &lt;br /&gt;
erasing     at 0x000C0000 (block #12)                                                             &lt;br /&gt;
erasing     at 0x000D0000 (block #13)                                                             &lt;br /&gt;
erasing     at 0x000E0000 (block #14)                                                             &lt;br /&gt;
erasing     at 0x000F0000 (block #15)                                                             &lt;br /&gt;
erasing     at 0x00100000 (block #16)                                                             &lt;br /&gt;
erasing     at 0x00110000 (block #17)                                                             &lt;br /&gt;
erasing     at 0x00120000 (block #18)                                                             &lt;br /&gt;
erasing     at 0x00130000 (block #19)                                                             &lt;br /&gt;
erasing     at 0x00140000 (block #20)                                                             &lt;br /&gt;
erasing     at 0x00150000 (block #21)                                                             &lt;br /&gt;
erasing     at 0x00160000 (block #22)                                                             &lt;br /&gt;
erasing     at 0x00170000 (block #23)                                                             &lt;br /&gt;
erasing     at 0x00180000 (block #24)                                                             &lt;br /&gt;
erasing     at 0x00190000 (block #25)                                                             &lt;br /&gt;
erasing     at 0x001A0000 (block #26)                                                             &lt;br /&gt;
erasing     at 0x001B0000 (block #27)                                                             &lt;br /&gt;
erasing     at 0x001C0000 (block #28)                                                             &lt;br /&gt;
erasing     at 0x001D0000 (block #29)                                                             &lt;br /&gt;
erasing     at 0x001E0000 (block #30)                                                             &lt;br /&gt;
erasing     at 0x001F0000 (block #31)                                                             &lt;br /&gt;
++ info: successfully erased 2 MB in 11.05 sec &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Program BL2&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 rzg2&amp;gt; flash program bl2_bp-rnx-rzv2n-smarc.bin 0&lt;br /&gt;
++ info: Testing workspace at 0x08000000, size 33024 ... done.                                    &lt;br /&gt;
++ info: Programming image file: tftp://192.168.3.5/bl2_bp-rnx-rzv2n-smarc.bin                    &lt;br /&gt;
++ info: Programming using agent, buffer = 29952 bytes                                            &lt;br /&gt;
++ info: At absolute address:    0x00000000                                                       &lt;br /&gt;
programming at 0x00000000                                                                         &lt;br /&gt;
programming at 0x00007500                                                                         &lt;br /&gt;
programming at 0x0000EA00                                                                         &lt;br /&gt;
programming at 0x00015F00                                                                         &lt;br /&gt;
programming at 0x0001D400                                                                         &lt;br /&gt;
                                                                                                  &lt;br /&gt;
++ info: successfully programmed 122.03 KB in 1.81 sec  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Program BL31+U-BOOT&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 rzg2&amp;gt; flash program fip-rnx-rzv2n-smarc.bin 0x60000&lt;br /&gt;
++ info: Testing workspace at 0x08000000, size 33024 ... done.                                    &lt;br /&gt;
++ info: Programming image file: tftp://192.168.3.5/fip-rnx-rzv2n-smarc.bin                       &lt;br /&gt;
++ info: Programming using agent, buffer = 29952 bytes                                            &lt;br /&gt;
++ info: At absolute address:    0x00060000                                                       &lt;br /&gt;
programming at 0x00066600                                                                         &lt;br /&gt;
programming at 0x0006DB00                                                                         &lt;br /&gt;
programming at 0x00075000                                                                         &lt;br /&gt;
programming at 0x0007C500                                                                         &lt;br /&gt;
programming at 0x00083A00                                                                         &lt;br /&gt;
programming at 0x0008AF00                                                                         &lt;br /&gt;
programming at 0x00092400                                                                         &lt;br /&gt;
programming at 0x00099900                                                                         &lt;br /&gt;
programming at 0x000A0E00                                                                         &lt;br /&gt;
programming at 0x000A8300                                                                         &lt;br /&gt;
programming at 0x000AF800                                                                         &lt;br /&gt;
programming at 0x000B6D00                                                                         &lt;br /&gt;
programming at 0x000BE200                                                                         &lt;br /&gt;
programming at 0x000C5700                                                                         &lt;br /&gt;
programming at 0x000CCC00                                                                         &lt;br /&gt;
programming at 0x000D4100                                                                         &lt;br /&gt;
programming at 0x000DB600                                                                         &lt;br /&gt;
programming at 0x000E2B00                                                                         &lt;br /&gt;
programming at 0x000EA000                                                                         &lt;br /&gt;
programming at 0x000F1500                                                                         &lt;br /&gt;
programming at 0x000F8A00                                                                         &lt;br /&gt;
programming at 0x000FFF00                                                                         &lt;br /&gt;
programming at 0x00107400                                                                         &lt;br /&gt;
programming at 0x0010E900                                                                         &lt;br /&gt;
programming at 0x00115E00                                                                         &lt;br /&gt;
programming at 0x00060000                                                                         &lt;br /&gt;
programming at 0x0011D300                                                                         &lt;br /&gt;
                                                                                                  &lt;br /&gt;
++ info: successfully programmed 770.93 KB in 10.72 sec &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Write Linux Kernel and RootFS to a uSD card ==&lt;br /&gt;
The simplest way to write Linux Kernel and RootFS to a SD card is using the bmaptool:&amp;lt;br&amp;gt;&lt;br /&gt;
 $ sudo bmaptool copy tmp/deploy/images/rnx-rzv2n-smarc/copy core-image-weston-rnx-rzv2n-smarc.rootfs.wic.gz /dev/sdX&lt;br /&gt;
&lt;br /&gt;
== Boot log ==&lt;br /&gt;
* Select QSPI Boot mode and reset the board:&lt;br /&gt;
&lt;br /&gt;
http://download.ronetix.at/boards/doc/RNX-RZV2N-SMARC/rnx-rzv2n-smarc_bootlog.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- use template --&amp;gt;&lt;br /&gt;
{{SeeAlso}}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-iMX93-SMARC_Yocto_Linux&amp;diff=463</id>
		<title>RNX-iMX93-SMARC Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-iMX93-SMARC_Yocto_Linux&amp;diff=463"/>
		<updated>2026-03-23T08:19:58Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Use tag &amp;lt;syntaxhighlight&amp;gt; in some commands&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-iMX93-SMARC}}&lt;br /&gt;
{{#vardefine:MACHINE_NAME|rnx-imx93-smarc}}&lt;br /&gt;
{{#vardefine:YOCTO_NAME|micledore}}&lt;br /&gt;
{{#vardefine:KERNEL_VER|6.1.55}}&lt;br /&gt;
{{#vardefine:UBOOT_VER|v2023.04}}&lt;br /&gt;
[[File:RNX-iMX93-SMARC_top.webp|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Yocto {{#var:YOCTO_NAME}}&lt;br /&gt;
| {{#var:KERNEL_VER}}&lt;br /&gt;
| {{#var:UBOOT_VER}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
== Setting Boot mode ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Boot mode setting on carrier board&lt;br /&gt;
|-&lt;br /&gt;
! BOOT !! J4:1-2 !! J4:3-4 !! J4:5-6 !! J4:7-8&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55 Serial Downloader || &#039;&#039;&#039;close&#039;&#039;&#039; || open || open || open&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55, eMMC || open || &#039;&#039;&#039;close&#039;&#039;&#039; || open || open&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Terminal Setup ==&lt;br /&gt;
The carrier board connects the host PC using the micro-B USB connector (J3).&amp;lt;br&amp;gt;&lt;br /&gt;
Common serial communication programs such as Minicom, HyperTerminal, Tera Term, or PuTTY can be used.&amp;lt;br&amp;gt; &lt;br /&gt;
The {{#var:HARDWARE_NAME}} board uses the first port for the Arm Cortex-A cores console.&lt;br /&gt;
&lt;br /&gt;
== Installing required packages ==&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 20.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;console&amp;quot; copyable&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \&lt;br /&gt;
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \&lt;br /&gt;
xz-utils debianutils iputils-ping libsdl1.2-dev xterm python-is-python3 lz4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;console&amp;quot; copyable&amp;gt;&lt;br /&gt;
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git-doc \&lt;br /&gt;
sed cvs subversion coreutils texi2html docbook-utils \&lt;br /&gt;
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \&lt;br /&gt;
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \&lt;br /&gt;
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bmap-tools&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
== Download Yocto based on Freescale Community BSP ==&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/bin &lt;br /&gt;
 $ curl &amp;lt;nowiki&amp;gt;http://commondatastorage.googleapis.com/git-repo-downloads/repo &amp;gt; ~/bin/repo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ chmod a+x ~/bin/repo&lt;br /&gt;
 $ export PATH=~/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-ronetix&lt;br /&gt;
 $ cd ~/yocto-ronetix&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Yocto repository&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ repo init -u https://github.com/ronetix/imx-manifest -b imx-linux-mickledore -m imx-6.1.55-2.2.0.xml&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&lt;br /&gt;
== Setup and build Yocto ==&lt;br /&gt;
* Setup first time:&lt;br /&gt;
 $ MACHINE={{#var:MACHINE_NAME}} DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* or setup if already configured:&lt;br /&gt;
 $ source setup-environment build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
 $ bitbake imx-image-core&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If the Ubuntu Terminal is crashed without any notification, see here: [[FAQ - Frequently Asked Questions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Build Results ===&lt;br /&gt;
The resulted images are located in tmp/deploy/images/{{#var:MACHINE_NAME}}.&lt;br /&gt;
&lt;br /&gt;
=== Booting Linux ===&lt;br /&gt;
This section describes how to copy the images (U-Boot, Linux kernel, device tree, and&lt;br /&gt;
rootfs) to the eMMC device on the module.&lt;br /&gt;
&lt;br /&gt;
==== Universal update utility ====&lt;br /&gt;
The Universal Update Utility (UUU) runs on a Windows or Linux OS host and is used to download images to devices on an i.MX board.&lt;br /&gt;
&lt;br /&gt;
===== Downloading UUU =====&lt;br /&gt;
Download UUU version 1.5.21 or later from https://github.com/nxp-imx/mfgtools/releases&lt;br /&gt;
&lt;br /&gt;
===== Write the WIC image into eMMC =====&lt;br /&gt;
Follow the instructions below:&lt;br /&gt;
* Connect a USB cable from a computer to the J9, port USB-0 (Micro-AB) port on the carrier board for download link.&lt;br /&gt;
* Connect a USB cable from J3, port UART-DBG (Micro-AB) port to the computer for console output.&lt;br /&gt;
* Open a Terminal emulator program&lt;br /&gt;
* Set the boot mode to &amp;quot;Cortex-A55 Serial Downloader&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
&lt;br /&gt;
  $ cd tmp/deploy/images/{{#var:MACHINE_NAME}}&lt;br /&gt;
  $ uuu -b emmc_all imx-boot-{{#var:MACHINE_NAME}}-sd.bin-flash_singleboot imx-image-core-{{#var:MACHINE_NAME}}.wic.zst&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
* If the programming freezes with last message &amp;quot;Failed to configure default pinctrl&amp;quot;, then try with another USB cable or USP port on your PC.&lt;br /&gt;
&lt;br /&gt;
==== Boot Linux ====&lt;br /&gt;
* set the boot mode to &amp;quot;Cortex-A55, eMMC&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
* reset the board&lt;br /&gt;
&lt;br /&gt;
== WiFi Setup ==&lt;br /&gt;
Scan for wireless networks: &lt;br /&gt;
  $ ifconfig wlan0 up&lt;br /&gt;
  $ iw dev wlan0 scan | grep SSID&lt;br /&gt;
&lt;br /&gt;
Connecting to an Access Point:&lt;br /&gt;
  $ wpa_passphrase &amp;lt;YourAP&amp;gt; &amp;lt;YourPassword&amp;gt; &amp;gt; /etc/wpa_supplicant.conf&lt;br /&gt;
  $ wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
wait for:&lt;br /&gt;
  $ wlcore: Association completed.&lt;br /&gt;
&lt;br /&gt;
Get an IP via DHCP:&lt;br /&gt;
  $ udhcpc -i wlan0&lt;br /&gt;
  $ ifconfig&lt;br /&gt;
&lt;br /&gt;
== Audio Test ==&lt;br /&gt;
List all sound cards:&lt;br /&gt;
  $ aplay -L &lt;br /&gt;
&lt;br /&gt;
Play a file:&lt;br /&gt;
  $ aplay -D &amp;quot;sysdefault:CARD=wm8962audio&amp;quot; test.wav&lt;br /&gt;
&lt;br /&gt;
List all sound controls:&lt;br /&gt;
  $ amixer controls&lt;br /&gt;
&lt;br /&gt;
Set Speaker Playback volume to max:&lt;br /&gt;
  $ amixer cset numid=13 127&lt;br /&gt;
&lt;br /&gt;
== Camera Test ==&lt;br /&gt;
Connect an OV5640 camera (PCAM 5C) to J21 on the carrier board.&amp;lt;br&amp;gt;&lt;br /&gt;
List capture media devices:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;console&amp;quot; copyable&amp;gt;&lt;br /&gt;
 $ v4l2-ctl --list-devices&lt;br /&gt;
 FSL Capture Media Device (platform:42800000.bus:camera):                                                         &lt;br /&gt;
        /dev/media0                                                                                              &lt;br /&gt;
                                                                                                                 &lt;br /&gt;
 mxc-isi-cap (platform:4ae40000.isi:cap_devic):                                                                   &lt;br /&gt;
        /dev/video0 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Take a single photo:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;console&amp;quot; copyable&amp;gt;&lt;br /&gt;
 $ gst-launch-1.0 v4l2src num-buffers=1 ! jpegenc ! filesink location=test.jpg&lt;br /&gt;
 Setting pipeline to PAUSED ...                                                                                   &lt;br /&gt;
 Pipeline is live and does not need PREROLL ...                                                                   &lt;br /&gt;
 Pipeline is PREROLLED ...                                                                                        &lt;br /&gt;
 Setting pipeline to PLAYING ...                                                                                  &lt;br /&gt;
 New clock: GstSystemClock                                                                                        &lt;br /&gt;
 [  877.427496] mxc-mipi-csi2.0: format: 0x2008                                                                   &lt;br /&gt;
 [  877.436706] bypass csc                                                                                        &lt;br /&gt;
 [  877.439078] input fmt YUV4                                                                                    &lt;br /&gt;
 [  877.441775] output fmt YUYV                                                                                   &lt;br /&gt;
 [  877.553965] dwc-mipi-csi2-host 4ae00000.csi: enter enable=1                                                   &lt;br /&gt;
 Redistribute latency...                                                                                          &lt;br /&gt;
 Got EOS from element &amp;quot;pipeline0&amp;quot;.                                                                                &lt;br /&gt;
 Execution ended after 0:00:02.375455667                                                                          &lt;br /&gt;
 Setting pipeline to NULL ...                                                                                     &lt;br /&gt;
 [  879.341902] dwc-mipi-csi2-host 4ae00000.csi: enter enable=0                                                   &lt;br /&gt;
 Freeing pipeline ...      &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Yocto Linux | Yocto Linux]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Linux|Building Linux Kernel]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} U-Boot|Building U-Boot]]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-RZV2N-SMARC_Programming_Images&amp;diff=462</id>
		<title>RNX-RZV2N-SMARC Programming Images</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-RZV2N-SMARC_Programming_Images&amp;diff=462"/>
		<updated>2026-01-15T13:13:58Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Initial creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-RZV2N-SMARC}}&lt;br /&gt;
{{#vardefine:URL_PEEDI|https://ronetix.at/product/peedi-jtag-swd-bdm-emulator-and-flash-programmer}}&lt;br /&gt;
[[File:rzv2n-smarc_top.webp|thumb]]&lt;br /&gt;
== Overview ==&lt;br /&gt;
For a complete Linux System, the CPU Module {{#var:HARDWARE_NAME}} requires the following images:&lt;br /&gt;
* Boot Loader stage 2 (BL2) Trusted Boot Firmware with boot parameters block&lt;br /&gt;
* Boot Loader stage 3-1 (BL3-1) EL3 Runtime Firmware&lt;br /&gt;
* U-BOOT&lt;br /&gt;
* Linux Kernel with Device Tree Blob&lt;br /&gt;
* RootFS - root file system&lt;br /&gt;
&lt;br /&gt;
The bootloaders (BL2, BL3 and U-BOOT) and the Linux Kernel can be programmed on the QSPI Flash or on the eMMC.&amp;lt;br&amp;gt;&lt;br /&gt;
The RoorFS can be programmed on the eMMC or on a SD card (J14 on the carrier board).&lt;br /&gt;
&lt;br /&gt;
After successful YOCTO building, all these images are available in tmp/deploy/images/rnx-rzv2n-smarc:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Image&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| bl2_bp_spi-rnx-rzv2n-smarc.bin&amp;lt;br&amp;gt;bl2_bp_spi-rnx-rzv2n-smarc.srec&lt;br /&gt;
| Boot Loader stage 2 (BL2) + boot parameters block&lt;br /&gt;
|-&lt;br /&gt;
| fip-rnx-rzv2n-smarc.bin&amp;lt;br&amp;gt;fip-rnx-rzv2n-smarc.srec&lt;br /&gt;
| Boot Loader stage 3-1 + U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Image-rnx-rzv2n-smarc.bin&lt;br /&gt;
| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| rnx-rzv2n-smarc.dtb&lt;br /&gt;
| Linux Device Tree Blob&lt;br /&gt;
|-&lt;br /&gt;
| core-image-weston-rnx-rzv2n-smarc.rootfs.ext4&lt;br /&gt;
| Root File System&lt;br /&gt;
|-&lt;br /&gt;
| core-image-weston-rnx-rzv2n-smarc.rootfs.wic.gz&lt;br /&gt;
| Partitioned Image containing everything&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Alternatively, for development purpose, the images can be built standalone:&amp;lt;br&amp;gt;&lt;br /&gt;
* [[RNX-RZV2N-SMARC_ARM_Trusted_Firmware]]&lt;br /&gt;
* [[RNX-RZV2N-SMARC_U-Boot]]&lt;br /&gt;
* [[RNX-RZV2N-SMARC_Linux]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The images can be programmed using the [{{#var:URL_PEEDI}} PEEDI JTAG Flash Programmer].&lt;br /&gt;
&lt;br /&gt;
== Setting Boot mode ==&lt;br /&gt;
On the carrier board, set the boot mode to &amp;quot;SCIF Download mode&amp;quot;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! J4, pin 1-2&lt;br /&gt;
! J4, pin 3-4&lt;br /&gt;
|-&lt;br /&gt;
| SCIF Download mode&lt;br /&gt;
| open&lt;br /&gt;
| open&lt;br /&gt;
|-&lt;br /&gt;
| QSPI Boot mode&lt;br /&gt;
| close&lt;br /&gt;
| open&lt;br /&gt;
|-&lt;br /&gt;
| eMMC Boot mode&lt;br /&gt;
| open&lt;br /&gt;
| close&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programming BL2, BL31 and U-BOOT ==&lt;br /&gt;
&lt;br /&gt;
=== Programming QSPI Flash using PEEDI JTAG Flash Programmer ===&lt;br /&gt;
PEEDI should be configured to use the &#039;&#039;&#039;rzv2n.cfg&#039;&#039;&#039; configuration file.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PEEDI - Powerful Embedded Ethernet Debug Interface&lt;br /&gt;
Copyright (c) 2005-2025 www.ronetix.at - All rights reserved&lt;br /&gt;
Hw:1.2, Fw:25.12.1071, SN: PD-0000-0B6B-301F&lt;br /&gt;
------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
peedi&amp;gt; &lt;br /&gt;
++ info: opening file &#039;tftp://192.168.3.5/rzv2n.cfg&#039;&lt;br /&gt;
++ info: loading file &#039;tftp://192.168.3.5/rzv2n.cfg&#039;...&lt;br /&gt;
++ info: done, loaded 2111 meaningful bytes.&lt;br /&gt;
++ info: opening file &#039;eep:license.txt&#039;&lt;br /&gt;
++ info: loading file &#039;eep:license.txt&#039;...&lt;br /&gt;
++ info: done, loaded 534 meaningful bytes.&lt;br /&gt;
&lt;br /&gt;
++ info: Wakeup 20 ms&lt;br /&gt;
++ info: Target Vref = 1.72V&lt;br /&gt;
++ info: RESET and TRST asserted&lt;br /&gt;
++ info: TRST released&lt;br /&gt;
++ info: RESET released&lt;br /&gt;
++ info: wait 200 ms&lt;br /&gt;
++ info: BYPASS check passed, 1 TAP controller(s) detected&lt;br /&gt;
++ info: TAP: IDCODE = 0x6BA00477, Cortex-ARMv8&lt;br /&gt;
&lt;br /&gt;
++ info: TAP 0: requesting Debug and System power-up (CDBGPWRUPREQ, CSYSPWRUPREQ)&lt;br /&gt;
++ info: core 0: using APB port 0                                                                 &lt;br /&gt;
++ info: core 0: Found VFP and NEON features                                                      &lt;br /&gt;
++ info: core 0: stopped by user request, PC=0x0000000000005578, CPSR=0x400003CD                  &lt;br /&gt;
++ info: core 0: Cortex-A55, CPUID = 0x412FD050                                                   &lt;br /&gt;
++ info: core 0: connected                                                                        &lt;br /&gt;
++ info: core 0: initialized                       &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Check the QSPI Flash:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 rzg2&amp;gt; flash info&lt;br /&gt;
 &lt;br /&gt;
++ info: Testing workspace at 0x08000000, size 33024 ... done.                                    &lt;br /&gt;
                                                                                                  &lt;br /&gt;
FLASH configuration for core #0:                                                                  &lt;br /&gt;
  CPU: RENESAS_RZV                                                                                &lt;br /&gt;
  Device: AT25QL128    ID: 1F 42 18 1F                                                            &lt;br /&gt;
  3-BYTE command set, Normal Read                                                                 &lt;br /&gt;
  Chip size: 16 MB                                                                                &lt;br /&gt;
  Write chunk size: 256 bytes                                                                     &lt;br /&gt;
  Erase chunk size: 64 KB                                                                         &lt;br /&gt;
                                                                                                  &lt;br /&gt;
FLASH commands default parameters:                                                                &lt;br /&gt;
  flash read   0x00000000 0x01000000                                                              &lt;br /&gt;
  flash blank  0x00000000 0x01000000                                                              &lt;br /&gt;
  flash erase  0x00000000 0x01000000                                                              &lt;br /&gt;
  flash lock   0x00000000 0x01000000                                                              &lt;br /&gt;
  flash unlock 0x00000000 0x01000000                                                              &lt;br /&gt;
  flash query  0x00000000 0x01000000                                                              &lt;br /&gt;
  flash program bl2_bp-rnx-rzv2n-smarc.bin bin 0x00000000                                         &lt;br /&gt;
  flash verify  bl2_bp-rnx-rzv2n-smarc.bin bin 0x00000000 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Erase first two MBs of the QSPI Flash&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 rzg2&amp;gt; flash erase 0 1024*1024*2&lt;br /&gt;
erasing     at 0x00000000 (block #0)                                                              &lt;br /&gt;
erasing     at 0x00010000 (block #1)                                                              &lt;br /&gt;
erasing     at 0x00020000 (block #2)                                                              &lt;br /&gt;
erasing     at 0x00030000 (block #3)                                                              &lt;br /&gt;
erasing     at 0x00040000 (block #4)                                                              &lt;br /&gt;
erasing     at 0x00050000 (block #5)                                                              &lt;br /&gt;
erasing     at 0x00060000 (block #6)                                                              &lt;br /&gt;
erasing     at 0x00070000 (block #7)                                                              &lt;br /&gt;
erasing     at 0x00080000 (block #8)                                                              &lt;br /&gt;
erasing     at 0x00090000 (block #9)                                                              &lt;br /&gt;
erasing     at 0x000A0000 (block #10)                                                             &lt;br /&gt;
erasing     at 0x000B0000 (block #11)                                                             &lt;br /&gt;
erasing     at 0x000C0000 (block #12)                                                             &lt;br /&gt;
erasing     at 0x000D0000 (block #13)                                                             &lt;br /&gt;
erasing     at 0x000E0000 (block #14)                                                             &lt;br /&gt;
erasing     at 0x000F0000 (block #15)                                                             &lt;br /&gt;
erasing     at 0x00100000 (block #16)                                                             &lt;br /&gt;
erasing     at 0x00110000 (block #17)                                                             &lt;br /&gt;
erasing     at 0x00120000 (block #18)                                                             &lt;br /&gt;
erasing     at 0x00130000 (block #19)                                                             &lt;br /&gt;
erasing     at 0x00140000 (block #20)                                                             &lt;br /&gt;
erasing     at 0x00150000 (block #21)                                                             &lt;br /&gt;
erasing     at 0x00160000 (block #22)                                                             &lt;br /&gt;
erasing     at 0x00170000 (block #23)                                                             &lt;br /&gt;
erasing     at 0x00180000 (block #24)                                                             &lt;br /&gt;
erasing     at 0x00190000 (block #25)                                                             &lt;br /&gt;
erasing     at 0x001A0000 (block #26)                                                             &lt;br /&gt;
erasing     at 0x001B0000 (block #27)                                                             &lt;br /&gt;
erasing     at 0x001C0000 (block #28)                                                             &lt;br /&gt;
erasing     at 0x001D0000 (block #29)                                                             &lt;br /&gt;
erasing     at 0x001E0000 (block #30)                                                             &lt;br /&gt;
erasing     at 0x001F0000 (block #31)                                                             &lt;br /&gt;
++ info: successfully erased 2 MB in 11.05 sec &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Program BL2&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 rzg2&amp;gt; flash program bl2_bp-rnx-rzv2n-smarc.bin 0&lt;br /&gt;
++ info: Testing workspace at 0x08000000, size 33024 ... done.                                    &lt;br /&gt;
++ info: Programming image file: tftp://192.168.3.5/bl2_bp-rnx-rzv2n-smarc.bin                    &lt;br /&gt;
++ info: Programming using agent, buffer = 29952 bytes                                            &lt;br /&gt;
++ info: At absolute address:    0x00000000                                                       &lt;br /&gt;
programming at 0x00000000                                                                         &lt;br /&gt;
programming at 0x00007500                                                                         &lt;br /&gt;
programming at 0x0000EA00                                                                         &lt;br /&gt;
programming at 0x00015F00                                                                         &lt;br /&gt;
programming at 0x0001D400                                                                         &lt;br /&gt;
                                                                                                  &lt;br /&gt;
++ info: successfully programmed 122.03 KB in 1.81 sec  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Program BL31+U-BOOT&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 rzg2&amp;gt; flash program fip-rnx-rzv2n-smarc.bin 0x60000&lt;br /&gt;
++ info: Testing workspace at 0x08000000, size 33024 ... done.                                    &lt;br /&gt;
++ info: Programming image file: tftp://192.168.3.5/fip-rnx-rzv2n-smarc.bin                       &lt;br /&gt;
++ info: Programming using agent, buffer = 29952 bytes                                            &lt;br /&gt;
++ info: At absolute address:    0x00060000                                                       &lt;br /&gt;
programming at 0x00066600                                                                         &lt;br /&gt;
programming at 0x0006DB00                                                                         &lt;br /&gt;
programming at 0x00075000                                                                         &lt;br /&gt;
programming at 0x0007C500                                                                         &lt;br /&gt;
programming at 0x00083A00                                                                         &lt;br /&gt;
programming at 0x0008AF00                                                                         &lt;br /&gt;
programming at 0x00092400                                                                         &lt;br /&gt;
programming at 0x00099900                                                                         &lt;br /&gt;
programming at 0x000A0E00                                                                         &lt;br /&gt;
programming at 0x000A8300                                                                         &lt;br /&gt;
programming at 0x000AF800                                                                         &lt;br /&gt;
programming at 0x000B6D00                                                                         &lt;br /&gt;
programming at 0x000BE200                                                                         &lt;br /&gt;
programming at 0x000C5700                                                                         &lt;br /&gt;
programming at 0x000CCC00                                                                         &lt;br /&gt;
programming at 0x000D4100                                                                         &lt;br /&gt;
programming at 0x000DB600                                                                         &lt;br /&gt;
programming at 0x000E2B00                                                                         &lt;br /&gt;
programming at 0x000EA000                                                                         &lt;br /&gt;
programming at 0x000F1500                                                                         &lt;br /&gt;
programming at 0x000F8A00                                                                         &lt;br /&gt;
programming at 0x000FFF00                                                                         &lt;br /&gt;
programming at 0x00107400                                                                         &lt;br /&gt;
programming at 0x0010E900                                                                         &lt;br /&gt;
programming at 0x00115E00                                                                         &lt;br /&gt;
programming at 0x00060000                                                                         &lt;br /&gt;
programming at 0x0011D300                                                                         &lt;br /&gt;
                                                                                                  &lt;br /&gt;
++ info: successfully programmed 770.93 KB in 10.72 sec &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Write Linux Kernel and RootFS to a uSD card ==&lt;br /&gt;
The simplest way to write Linux Kernel and RootFS to a SD card is using the bmaptool:&amp;lt;br&amp;gt;&lt;br /&gt;
 $ sudo bmaptool copy tmp/deploy/images/rnx-rzg2ul-osm/core-image-bsp-rnx-rzg2ul-osm.wic.gz /dev/sdX&lt;br /&gt;
&lt;br /&gt;
== Boot log ==&lt;br /&gt;
* Select QSPI Boot mode and reset the board:&lt;br /&gt;
&lt;br /&gt;
http://download.ronetix.at/boards/doc/RNX-RZV2N-SMARC/rnx-rzv2n-smarc_bootlog.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- use template --&amp;gt;&lt;br /&gt;
{{SeeAlso}}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-RZV2N-SMARC&amp;diff=461</id>
		<title>RNX-RZV2N-SMARC</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-RZV2N-SMARC&amp;diff=461"/>
		<updated>2026-01-15T12:45:36Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Use template Summary_RZG2 instead of Summary&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-RZV2N-SMARC}}&lt;br /&gt;
{{#vardefine:CPU|Renesas RZ/V2N}}&lt;br /&gt;
&lt;br /&gt;
{{Summary_RZG2 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in form factor SMARC 314-pin, 82x50mm format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the {{#var:CPU}} CPU with an advanced ARM Cortex-A55 CPU coupled with a dedicated real-time ARM Cortex-M33 MCU. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is provided with Linux Yocto distribution.&amp;lt;br&amp;gt;&lt;br /&gt;
|rzv2n-smarc_top.webp|&lt;br /&gt;
https://ronetix.at/product/smarc-som-with-renesas-rz-v2n-high-performance-vision-ai-edge-computing/|&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-RZV2N-SMARC_Yocto_Linux&amp;diff=460</id>
		<title>RNX-RZV2N-SMARC Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-RZV2N-SMARC_Yocto_Linux&amp;diff=460"/>
		<updated>2026-01-15T11:17:58Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Initial creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-RZV2N-SMARC}}&lt;br /&gt;
{{#vardefine:URL_PEEDI|[https://ronetix.at/product/peedi-jtag-swd-bdm-emulator-and-flash-programmer/ PEEDI]}}&lt;br /&gt;
[[File:rzv2n-smarc_top.webp|thumb]]&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Yocto&lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Scarthgap&lt;br /&gt;
| 6.1.107&lt;br /&gt;
| 2024.07&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
== Installing required packages ==&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 22.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc build-essential \&lt;br /&gt;
chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils \&lt;br /&gt;
iputils-ping python3-git python3-jinja2 python3-subunit zstd liblz4-tool file \&lt;br /&gt;
locales libacl1 bmap-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
== Download Yocto based on Renesas AI SDK v6.20 ==&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-renesas&lt;br /&gt;
 $ cd ~/yocto-renesas&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Renesas Verified Linux Package&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ git clone https://github.com/ronetix/rzv_ai_sdk.git&lt;br /&gt;
 $ cd rzv_ai_sdk&lt;br /&gt;
&lt;br /&gt;
== Setup and build Yocto ==&lt;br /&gt;
 $ TEMPLATECONF=$PWD/meta-renesas/meta-rz-boards/conf/templates/rz-conf/ source poky/oe-init-build-env build&lt;br /&gt;
 $ MACHINE=rnx-rzv2n-smarc bitbake core-image-weston&lt;br /&gt;
&lt;br /&gt;
== Build Results ==&lt;br /&gt;
The resulted images are located in tmp/deploy/images/rnx-rzv2n-smarc&lt;br /&gt;
&lt;br /&gt;
== Programming Images ==&lt;br /&gt;
* [[RNX-RZV2N-SMARC_Programming_Images|Programming Images]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- use template --&amp;gt;&lt;br /&gt;
{{SeeAlso}}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-RZV2N-SMARC&amp;diff=459</id>
		<title>RNX-RZV2N-SMARC</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-RZV2N-SMARC&amp;diff=459"/>
		<updated>2026-01-15T11:06:55Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Initial creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-RZV2N-SMARC}}&lt;br /&gt;
{{#vardefine:CPU|Renesas RZ/V2N}}&lt;br /&gt;
&lt;br /&gt;
{{Summary | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in form factor SMARC 314-pin, 82x50mm format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the {{#var:CPU}} CPU with an advanced ARM Cortex-A55 CPU coupled with a dedicated real-time ARM Cortex-M33 MCU. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is provided with Linux Yocto distribution.&amp;lt;br&amp;gt;&lt;br /&gt;
|rzv2n-smarc_top.webp|&lt;br /&gt;
https://ronetix.at/product/smarc-som-with-renesas-rz-v2n-high-performance-vision-ai-edge-computing/|&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=Main_Page&amp;diff=458</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=Main_Page&amp;diff=458"/>
		<updated>2026-01-15T11:03:56Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Add SoM RNX-RZV2N-SMARC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Ronetix CPU Modules (System-on-Module) ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;65%&amp;quot;  align=&amp;quot;left&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[RNX-RZV2N-SMARC|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;RNX-RZV2N-SMARC&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 60%;&amp;quot; |&lt;br /&gt;
* SMARC 314-pin, 82x50mm&lt;br /&gt;
* Renesas RZ/V2N&lt;br /&gt;
* Quad-core ARM Cortex-A55 CPU, 1.8GHz&lt;br /&gt;
* AI accelerator DRP-AI (AI-MAC+DRP)&lt;br /&gt;
* ARM Cortex-M33 200MHz&lt;br /&gt;
* Linux (Yocto Scarthgap)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:rzv2n-smarc_top.webp|200px|link=RNX-RZV2N-SMARC]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;65%&amp;quot;  align=&amp;quot;left&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[RNX-iMX93-SMARC|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;RNX-iMX93-SMARC&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 60%;&amp;quot; |&lt;br /&gt;
* SMARC 314-pin, 82x50mm&lt;br /&gt;
* NXP i.MX93&lt;br /&gt;
* Dual-core ARM Cortex-A55 CPU, 1.7GHz&lt;br /&gt;
* Arm® Ethos™ U-65 microNPU, 0.5 TOP/s&lt;br /&gt;
* ARM Cortex-M33 250MHz&lt;br /&gt;
* Linux (Yocto Micledore)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:RNX-iMX93-SMARC_top.webp|200px|link=RNX-iMX93-SMARC]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;65%&amp;quot;  align=&amp;quot;left&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[RNX-iMX93-OSM|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;RNX-iMX93-OSM&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 60%;&amp;quot; |&lt;br /&gt;
* OSM Size-L, LGA 45x45mm&lt;br /&gt;
* NXP i.MX93&lt;br /&gt;
* Dual-core ARM Cortex-A55 CPU, 1.7GHz&lt;br /&gt;
* Arm® Ethos™ U-65 microNPU, 0.5 TOP/s&lt;br /&gt;
* ARM Cortex-M33 250MHz&lt;br /&gt;
* Linux (Yocto Micledore)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:RNX-iMX93-OSM_top.png|150px|link=RNX-iMX93-OSM]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;65%&amp;quot;  align=&amp;quot;left&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[RNX-RZG2UL-OSM|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;RNX-RZG2UL-OSM&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 60%;&amp;quot; |&lt;br /&gt;
* Renesas RZ/G2UL or RZ/A3UL or RZ/FIVE&lt;br /&gt;
* Single-core ARM Cortex-A55, 1GHz &lt;br /&gt;
* ARM Cortex-M33, 200MHz&lt;br /&gt;
* Linux (Yocto)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:RNX-RZG2UL-OSM_top.png|150px|link=RNX-RZG2UL-OSM]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;65%&amp;quot;  align=&amp;quot;left&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[iMX8MP-COMPACT-CM|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;i.MX8MP-COMPACT-CM&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 60%;&amp;quot; |&lt;br /&gt;
* NXP i.MX8M Plus, 1.8GHz&lt;br /&gt;
* Neutral Processing Unit (NPU) 2.3 TOP/s&lt;br /&gt;
* Quad-core ARM Cortex-A53&lt;br /&gt;
* ARM Cortex-M7, 800MHz&lt;br /&gt;
* Linux (Yocto)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:iMX8MP-CM-top.png|200px|link=iMX8MP-COMPACT-CM]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;65%&amp;quot;  align=&amp;quot;left&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[iMX8M-CM|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;i.MX8M-CM&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 60%;&amp;quot; |&lt;br /&gt;
* NXP i.MX8M, 1.5GHz&lt;br /&gt;
* Quad-core ARM Cortex-A53&lt;br /&gt;
* ARM Cortex-M4, 266MHz&lt;br /&gt;
* Linux (Yocto)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:iMX8M-CM-top.png|200px|link=iMX8M-CM]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;65%&amp;quot;  align=&amp;quot;left&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[iMX8M-MINI-CM|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;i.MX8M-MINI-CM&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 60%;&amp;quot; |&lt;br /&gt;
* NXP i.MX8M-MINI, 2.0GHz&lt;br /&gt;
* Quad-core ARM Cortex-A53&lt;br /&gt;
* ARM Cortex-M4, 400MHz&lt;br /&gt;
* Linux (Yocto)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:iMX8M-MINI-CM-top.png|200px|link=iMX8M-MINI-CM]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;65%&amp;quot;  align=&amp;quot;left&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[iMX8M-NANO-CM|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;i.MX8M-NANO-CM&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 60%;&amp;quot; |&lt;br /&gt;
* NXP i.MX8M-NANO, 1.5GHz&lt;br /&gt;
* Quad-core ARM Cortex-A53&lt;br /&gt;
* ARM Cortex-M7, 750MHz&lt;br /&gt;
* Linux (Yocto)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:iMX8M-MINI-CM-top.png|200px|link=iMX8M-NANO-CM]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;65%&amp;quot;  align=&amp;quot;left&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[iMX8MM-COMPACT-CM|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;i.MX8MM-COMPACT-CM&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 60%;&amp;quot; |&lt;br /&gt;
* NXP i.MX8M-MINI, 2.0GHz&lt;br /&gt;
* Quad-core ARM Cortex-A53&lt;br /&gt;
* ARM Cortex-M4, 400MHz&lt;br /&gt;
* Linux (Yocto)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:iMX8M-COMPACT-CM-top.png|130px|link=iMX8MM-COMPACT-CM]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;65%&amp;quot;  align=&amp;quot;left&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[iMX8MN-COMPACT-CM|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;i.MX8MN-COMPACT-CM&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 60%;&amp;quot; |&lt;br /&gt;
* NXP i.MX8M-NANO, 1.5GHz&lt;br /&gt;
* Quad-core ARM Cortex-A53&lt;br /&gt;
* ARM Cortex-M7, 750MHz&lt;br /&gt;
* Linux (Yocto)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:iMX8M-COMPACT-CM-top.png|130px|link=iMX8MN-COMPACT-CM]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;65%&amp;quot;  align=&amp;quot;left&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[iMX7-CM|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;i.MX7-CM&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 60%;&amp;quot; |&lt;br /&gt;
* NXP i.MX7D, 1.0GHz&lt;br /&gt;
* Dual-core ARM Cortex-A7&lt;br /&gt;
* Linux (Yocto)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:iMX7-CM-top.png|200px|link=iMX7-CM]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;65%&amp;quot;  align=&amp;quot;left&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[SAMA5D3X-CM|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;SAMA5D3X-CM&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 60%;&amp;quot; |&lt;br /&gt;
* Microchip (Atmel) ATSAMA5D3x series&lt;br /&gt;
* Cortex-A5 536MHz&lt;br /&gt;
* Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:SAMA5D35-CM_top.png|200px|link=SAMA5D3X-CM]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;65%&amp;quot;  align=&amp;quot;left&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[SAM9X5-CM|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;SAM9X5-CM&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 60%;&amp;quot; |&lt;br /&gt;
* Microchip (Atmel) AT91SAM9x5 series&lt;br /&gt;
* ARM926EJ-S 400MHz&lt;br /&gt;
* Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:SAM9-CM_top.png|200px|link=SAM9X5-CM]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;65%&amp;quot;  align=&amp;quot;left&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[PM9G45|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;PM9G45&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 60%;&amp;quot; |&lt;br /&gt;
* Atmel AT91SAM9G45&lt;br /&gt;
* 400 MHz ARM926EJ-S&lt;br /&gt;
* Linux&lt;br /&gt;
* Android&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:PM9G45-top.png|200px|link=PM9G45]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;65%&amp;quot;  align=&amp;quot;left&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[PM9263|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;PM9263&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 60%;&amp;quot; |&lt;br /&gt;
* Atmel AT91SAM9263&lt;br /&gt;
* 240 MHz ARM926EJ-S&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:PM9263-top.png|200px|link=PM9263]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;65%&amp;quot;  align=&amp;quot;left&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[PM9261|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;PM9261&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 60%;&amp;quot; |&lt;br /&gt;
* Atmel AT91SAM9261&lt;br /&gt;
* 240 MHz ARM926EJ-S&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:PM9261-top.png|200px|link=PM9261]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=File:rzv2n-smarc_top.webp&amp;diff=457</id>
		<title>File:rzv2n-smarc top.webp</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=File:rzv2n-smarc_top.webp&amp;diff=457"/>
		<updated>2026-01-15T10:38:56Z</updated>

		<summary type="html">&lt;p&gt;Ilko: SoM RNX-RZV2N-SMARC top side&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
SoM RNX-RZV2N-SMARC top side&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-iMX93-OSM_Yocto_Linux&amp;diff=455</id>
		<title>RNX-iMX93-OSM Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-iMX93-OSM_Yocto_Linux&amp;diff=455"/>
		<updated>2025-10-27T12:49:17Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Add note about failed programming&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-iMX93-OSM}}&lt;br /&gt;
{{#vardefine:MACHINE_NAME|rnx-imx93-osm}}&lt;br /&gt;
{{#vardefine:YOCTO_NAME|micledore}}&lt;br /&gt;
{{#vardefine:KERNEL_VER|6.1.55}}&lt;br /&gt;
{{#vardefine:UBOOT_VER|v2023.04}}&lt;br /&gt;
[[File:RNX-iMX93-OSM_top.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Yocto {{#var:YOCTO_NAME}}&lt;br /&gt;
| {{#var:KERNEL_VER}}&lt;br /&gt;
| {{#var:UBOOT_VER}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
== Setting Boot mode ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Boot mode setting on carrier board&lt;br /&gt;
|-&lt;br /&gt;
! BOOT !! J31:1-2 !! J31:3-4 !! J31:5-6 !! J31:7-8&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55 Serial Downloader || close || open || open || open&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55, eMMC || open || close || open || open&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Terminal Setup ==&lt;br /&gt;
The carrier board connects the host PC using the micro-B USB connector (J3).&amp;lt;br&amp;gt;&lt;br /&gt;
Common serial communication programs such as Minicom, HyperTerminal, Tera Term, or PuTTY can be used.&amp;lt;br&amp;gt; &lt;br /&gt;
The {{#var:HARDWARE_NAME}} board uses the second port for the Arm Cortex-A cores console.&lt;br /&gt;
&lt;br /&gt;
== Installing required packages ==&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 20.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \&lt;br /&gt;
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \&lt;br /&gt;
xz-utils debianutils iputils-ping libsdl1.2-dev xterm python-is-python3 lz4&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git-doc \&lt;br /&gt;
sed cvs subversion coreutils texi2html docbook-utils \&lt;br /&gt;
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \&lt;br /&gt;
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \&lt;br /&gt;
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bmap-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
== Download Yocto based on Freescale Community BSP ==&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/bin &lt;br /&gt;
 $ curl &amp;lt;nowiki&amp;gt;http://commondatastorage.googleapis.com/git-repo-downloads/repo &amp;gt; ~/bin/repo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ chmod a+x ~/bin/repo&lt;br /&gt;
 $ export PATH=~/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-ronetix&lt;br /&gt;
 $ cd ~/yocto-ronetix&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Yocto repository&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ repo init -u https://github.com/ronetix/imx-manifest -b imx-linux-mickledore -m imx-6.1.55-2.2.0.xml&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&lt;br /&gt;
== Setup and build Yocto ==&lt;br /&gt;
* Setup first time:&lt;br /&gt;
 $ MACHINE={{#var:MACHINE_NAME}} DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* or setup if already configured:&lt;br /&gt;
 $ source setup-environment build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
 $ bitbake imx-image-core&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If the Ubuntu Terminal is crashed without any notification, see here: [[FAQ - Frequently Asked Questions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Build Results ===&lt;br /&gt;
The resulted images are located in tmp/deploy/images/{{#var:MACHINE_NAME}}.&lt;br /&gt;
&lt;br /&gt;
=== Booting Linux ===&lt;br /&gt;
This section describes how to copy the images (U-Boot, Linux kernel, device tree, and&lt;br /&gt;
rootfs) to the eMMC device on the module.&lt;br /&gt;
&lt;br /&gt;
==== Universal update utility ====&lt;br /&gt;
The Universal Update Utility (UUU) runs on a Windows or Linux OS host and is used to download images to devices on an i.MX board.&lt;br /&gt;
&lt;br /&gt;
===== Downloading UUU =====&lt;br /&gt;
Download UUU version 1.5.21 or later from https://github.com/nxp-imx/mfgtools/releases&lt;br /&gt;
&lt;br /&gt;
===== Write the WIC image into eMMC =====&lt;br /&gt;
Follow the instructions below:&lt;br /&gt;
* Connect a USB cable from a computer to the J9, port USB-A (Micro-AB) port on the carrier board for download link.&lt;br /&gt;
* Connect a USB cable from J3, port UART-DBG (Micro-AB) port to the computer for console output.&lt;br /&gt;
* Open a Terminal emulator program&lt;br /&gt;
* Set the boot mode to &amp;quot;Cortex-A55 Serial Downloader&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
&lt;br /&gt;
  $ cd tmp/deploy/images/{{#var:MACHINE_NAME}}&lt;br /&gt;
  $ uuu -b emmc_all imx-boot-{{#var:MACHINE_NAME}}-sd.bin-flash_singleboot imx-image-core-{{#var:MACHINE_NAME}}.wic.zst&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
* If the programming freezes with last message &amp;quot;Failed to configure default pinctrl&amp;quot;, then try with another USB cable or USP port on your PC.&lt;br /&gt;
&lt;br /&gt;
==== Boot Linux ====&lt;br /&gt;
* set the boot mode to &amp;quot;Cortex-A55, eMMC&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
* reset the board&lt;br /&gt;
&lt;br /&gt;
== WiFi Setup ==&lt;br /&gt;
Scan for wireless networks: &lt;br /&gt;
  $ ifconfig wlan0 up&lt;br /&gt;
  $ iw dev wlan0 scan | grep SSID&lt;br /&gt;
&lt;br /&gt;
Connecting to an Access Point:&lt;br /&gt;
  $ wpa_passphrase &amp;lt;YourAP&amp;gt; &amp;lt;YourPassword&amp;gt; &amp;gt; /etc/wpa_supplicant.conf&lt;br /&gt;
  $ wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
wait for:&lt;br /&gt;
  $ wlcore: Association completed.&lt;br /&gt;
&lt;br /&gt;
Get an IP via DHCP:&lt;br /&gt;
  $ udhcpc -i wlan0&lt;br /&gt;
  $ ifconfig&lt;br /&gt;
&lt;br /&gt;
== Audio Test ==&lt;br /&gt;
List all sound cards:&lt;br /&gt;
  $ aplay -L &lt;br /&gt;
&lt;br /&gt;
Play a file:&lt;br /&gt;
  $ aplay -D &amp;quot;sysdefault:CARD=wm8962audio&amp;quot; test.wav&lt;br /&gt;
&lt;br /&gt;
List all sound controls:&lt;br /&gt;
  $ amixer controls&lt;br /&gt;
&lt;br /&gt;
Set Speaker Playback volume to max:&lt;br /&gt;
  $ amixer cset numid=13 127&lt;br /&gt;
&lt;br /&gt;
== Camera Test ==&lt;br /&gt;
Connect an OV5640 camera (PCAM 5C) to J21 on the carrier board.&amp;lt;br&amp;gt;&lt;br /&gt;
List capture media devices:&lt;br /&gt;
 $ v4l2-ctl --list-devices&lt;br /&gt;
 FSL Capture Media Device (platform:42800000.bus:camera):                                                         &lt;br /&gt;
        /dev/media0                                                                                              &lt;br /&gt;
                                                                                                                 &lt;br /&gt;
 mxc-isi-cap (platform:4ae40000.isi:cap_devic):                                                                   &lt;br /&gt;
        /dev/video0 &lt;br /&gt;
&lt;br /&gt;
Take a single photo:&lt;br /&gt;
 $ gst-launch-1.0 v4l2src num-buffers=1 ! &amp;quot;video/x-raw,width=640,height=480&amp;quot; ! jpegenc ! filesink location=test.jpg&lt;br /&gt;
 Setting pipeline to PAUSED ...                                                                                   &lt;br /&gt;
 Pipeline is live and does not need PREROLL ...                                                                   &lt;br /&gt;
 Pipeline is PREROLLED ...                                                                                        &lt;br /&gt;
 Setting pipeline to PLAYING ...                                                                                  &lt;br /&gt;
 New clock: GstSystemClock                                                                                        &lt;br /&gt;
 [  877.427496] mxc-mipi-csi2.0: format: 0x2008                                                                   &lt;br /&gt;
 [  877.436706] bypass csc                                                                                        &lt;br /&gt;
 [  877.439078] input fmt YUV4                                                                                    &lt;br /&gt;
 [  877.441775] output fmt YUYV                                                                                   &lt;br /&gt;
 [  877.553965] dwc-mipi-csi2-host 4ae00000.csi: enter enable=1                                                   &lt;br /&gt;
 Redistribute latency...                                                                                          &lt;br /&gt;
 Got EOS from element &amp;quot;pipeline0&amp;quot;.                                                                                &lt;br /&gt;
 Execution ended after 0:00:02.375455667                                                                          &lt;br /&gt;
 Setting pipeline to NULL ...                                                                                     &lt;br /&gt;
 [  879.341902] dwc-mipi-csi2-host 4ae00000.csi: enter enable=0                                                   &lt;br /&gt;
 Freeing pipeline ...      &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Yocto Linux | Yocto Linux]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Linux|Building Linux Kernel]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} U-Boot|Building U-Boot]]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-iMX93-SMARC_Yocto_Linux&amp;diff=454</id>
		<title>RNX-iMX93-SMARC Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-iMX93-SMARC_Yocto_Linux&amp;diff=454"/>
		<updated>2025-10-27T12:08:12Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Add note about failed programming&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-iMX93-SMARC}}&lt;br /&gt;
{{#vardefine:MACHINE_NAME|rnx-imx93-smarc}}&lt;br /&gt;
{{#vardefine:YOCTO_NAME|micledore}}&lt;br /&gt;
{{#vardefine:KERNEL_VER|6.1.55}}&lt;br /&gt;
{{#vardefine:UBOOT_VER|v2023.04}}&lt;br /&gt;
[[File:RNX-iMX93-SMARC_top.webp|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Yocto {{#var:YOCTO_NAME}}&lt;br /&gt;
| {{#var:KERNEL_VER}}&lt;br /&gt;
| {{#var:UBOOT_VER}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
== Setting Boot mode ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Boot mode setting on carrier board&lt;br /&gt;
|-&lt;br /&gt;
! BOOT !! J4:1-2 !! J4:3-4 !! J4:5-6 !! J4:7-8&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55 Serial Downloader || &#039;&#039;&#039;close&#039;&#039;&#039; || open || open || open&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55, eMMC || open || &#039;&#039;&#039;close&#039;&#039;&#039; || open || open&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Terminal Setup ==&lt;br /&gt;
The carrier board connects the host PC using the micro-B USB connector (J3).&amp;lt;br&amp;gt;&lt;br /&gt;
Common serial communication programs such as Minicom, HyperTerminal, Tera Term, or PuTTY can be used.&amp;lt;br&amp;gt; &lt;br /&gt;
The {{#var:HARDWARE_NAME}} board uses the first port for the Arm Cortex-A cores console.&lt;br /&gt;
&lt;br /&gt;
== Installing required packages ==&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 20.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \&lt;br /&gt;
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \&lt;br /&gt;
xz-utils debianutils iputils-ping libsdl1.2-dev xterm python-is-python3 lz4&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git-doc \&lt;br /&gt;
sed cvs subversion coreutils texi2html docbook-utils \&lt;br /&gt;
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \&lt;br /&gt;
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \&lt;br /&gt;
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bmap-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
== Download Yocto based on Freescale Community BSP ==&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/bin &lt;br /&gt;
 $ curl &amp;lt;nowiki&amp;gt;http://commondatastorage.googleapis.com/git-repo-downloads/repo &amp;gt; ~/bin/repo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ chmod a+x ~/bin/repo&lt;br /&gt;
 $ export PATH=~/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-ronetix&lt;br /&gt;
 $ cd ~/yocto-ronetix&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Yocto repository&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ repo init -u https://github.com/ronetix/imx-manifest -b imx-linux-mickledore -m imx-6.1.55-2.2.0.xml&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&lt;br /&gt;
== Setup and build Yocto ==&lt;br /&gt;
* Setup first time:&lt;br /&gt;
 $ MACHINE={{#var:MACHINE_NAME}} DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* or setup if already configured:&lt;br /&gt;
 $ source setup-environment build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
 $ bitbake imx-image-core&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If the Ubuntu Terminal is crashed without any notification, see here: [[FAQ - Frequently Asked Questions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Build Results ===&lt;br /&gt;
The resulted images are located in tmp/deploy/images/{{#var:MACHINE_NAME}}.&lt;br /&gt;
&lt;br /&gt;
=== Booting Linux ===&lt;br /&gt;
This section describes how to copy the images (U-Boot, Linux kernel, device tree, and&lt;br /&gt;
rootfs) to the eMMC device on the module.&lt;br /&gt;
&lt;br /&gt;
==== Universal update utility ====&lt;br /&gt;
The Universal Update Utility (UUU) runs on a Windows or Linux OS host and is used to download images to devices on an i.MX board.&lt;br /&gt;
&lt;br /&gt;
===== Downloading UUU =====&lt;br /&gt;
Download UUU version 1.5.21 or later from https://github.com/nxp-imx/mfgtools/releases&lt;br /&gt;
&lt;br /&gt;
===== Write the WIC image into eMMC =====&lt;br /&gt;
Follow the instructions below:&lt;br /&gt;
* Connect a USB cable from a computer to the J9, port USB-0 (Micro-AB) port on the carrier board for download link.&lt;br /&gt;
* Connect a USB cable from J3, port UART-DBG (Micro-AB) port to the computer for console output.&lt;br /&gt;
* Open a Terminal emulator program&lt;br /&gt;
* Set the boot mode to &amp;quot;Cortex-A55 Serial Downloader&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
&lt;br /&gt;
  $ cd tmp/deploy/images/{{#var:MACHINE_NAME}}&lt;br /&gt;
  $ uuu -b emmc_all imx-boot-{{#var:MACHINE_NAME}}-sd.bin-flash_singleboot imx-image-core-{{#var:MACHINE_NAME}}.wic.zst&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
* If the programming freezes with last message &amp;quot;Failed to configure default pinctrl&amp;quot;, then try with another USB cable or USP port on your PC.&lt;br /&gt;
&lt;br /&gt;
==== Boot Linux ====&lt;br /&gt;
* set the boot mode to &amp;quot;Cortex-A55, eMMC&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
* reset the board&lt;br /&gt;
&lt;br /&gt;
== WiFi Setup ==&lt;br /&gt;
Scan for wireless networks: &lt;br /&gt;
  $ ifconfig wlan0 up&lt;br /&gt;
  $ iw dev wlan0 scan | grep SSID&lt;br /&gt;
&lt;br /&gt;
Connecting to an Access Point:&lt;br /&gt;
  $ wpa_passphrase &amp;lt;YourAP&amp;gt; &amp;lt;YourPassword&amp;gt; &amp;gt; /etc/wpa_supplicant.conf&lt;br /&gt;
  $ wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
wait for:&lt;br /&gt;
  $ wlcore: Association completed.&lt;br /&gt;
&lt;br /&gt;
Get an IP via DHCP:&lt;br /&gt;
  $ udhcpc -i wlan0&lt;br /&gt;
  $ ifconfig&lt;br /&gt;
&lt;br /&gt;
== Audio Test ==&lt;br /&gt;
List all sound cards:&lt;br /&gt;
  $ aplay -L &lt;br /&gt;
&lt;br /&gt;
Play a file:&lt;br /&gt;
  $ aplay -D &amp;quot;sysdefault:CARD=wm8962audio&amp;quot; test.wav&lt;br /&gt;
&lt;br /&gt;
List all sound controls:&lt;br /&gt;
  $ amixer controls&lt;br /&gt;
&lt;br /&gt;
Set Speaker Playback volume to max:&lt;br /&gt;
  $ amixer cset numid=13 127&lt;br /&gt;
&lt;br /&gt;
== Camera Test ==&lt;br /&gt;
Connect an OV5640 camera (PCAM 5C) to J21 on the carrier board.&amp;lt;br&amp;gt;&lt;br /&gt;
List capture media devices:&lt;br /&gt;
 $ v4l2-ctl --list-devices&lt;br /&gt;
 FSL Capture Media Device (platform:42800000.bus:camera):                                                         &lt;br /&gt;
        /dev/media0                                                                                              &lt;br /&gt;
                                                                                                                 &lt;br /&gt;
 mxc-isi-cap (platform:4ae40000.isi:cap_devic):                                                                   &lt;br /&gt;
        /dev/video0 &lt;br /&gt;
&lt;br /&gt;
Take a single photo:&lt;br /&gt;
 $ gst-launch-1.0 v4l2src num-buffers=1 ! jpegenc ! filesink location=test.jpg&lt;br /&gt;
 Setting pipeline to PAUSED ...                                                                                   &lt;br /&gt;
 Pipeline is live and does not need PREROLL ...                                                                   &lt;br /&gt;
 Pipeline is PREROLLED ...                                                                                        &lt;br /&gt;
 Setting pipeline to PLAYING ...                                                                                  &lt;br /&gt;
 New clock: GstSystemClock                                                                                        &lt;br /&gt;
 [  877.427496] mxc-mipi-csi2.0: format: 0x2008                                                                   &lt;br /&gt;
 [  877.436706] bypass csc                                                                                        &lt;br /&gt;
 [  877.439078] input fmt YUV4                                                                                    &lt;br /&gt;
 [  877.441775] output fmt YUYV                                                                                   &lt;br /&gt;
 [  877.553965] dwc-mipi-csi2-host 4ae00000.csi: enter enable=1                                                   &lt;br /&gt;
 Redistribute latency...                                                                                          &lt;br /&gt;
 Got EOS from element &amp;quot;pipeline0&amp;quot;.                                                                                &lt;br /&gt;
 Execution ended after 0:00:02.375455667                                                                          &lt;br /&gt;
 Setting pipeline to NULL ...                                                                                     &lt;br /&gt;
 [  879.341902] dwc-mipi-csi2-host 4ae00000.csi: enter enable=0                                                   &lt;br /&gt;
 Freeing pipeline ...      &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Yocto Linux | Yocto Linux]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Linux|Building Linux Kernel]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} U-Boot|Building U-Boot]]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-iMX93-SMARC_Yocto_Linux&amp;diff=453</id>
		<title>RNX-iMX93-SMARC Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-iMX93-SMARC_Yocto_Linux&amp;diff=453"/>
		<updated>2025-10-27T10:34:16Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Make &amp;quot;close&amp;quot; bold&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-iMX93-SMARC}}&lt;br /&gt;
{{#vardefine:MACHINE_NAME|rnx-imx93-smarc}}&lt;br /&gt;
{{#vardefine:YOCTO_NAME|micledore}}&lt;br /&gt;
{{#vardefine:KERNEL_VER|6.1.55}}&lt;br /&gt;
{{#vardefine:UBOOT_VER|v2023.04}}&lt;br /&gt;
[[File:RNX-iMX93-SMARC_top.webp|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Yocto {{#var:YOCTO_NAME}}&lt;br /&gt;
| {{#var:KERNEL_VER}}&lt;br /&gt;
| {{#var:UBOOT_VER}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
== Setting Boot mode ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Boot mode setting on carrier board&lt;br /&gt;
|-&lt;br /&gt;
! BOOT !! J4:1-2 !! J4:3-4 !! J4:5-6 !! J4:7-8&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55 Serial Downloader || &#039;&#039;&#039;close&#039;&#039;&#039; || open || open || open&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55, eMMC || open || &#039;&#039;&#039;close&#039;&#039;&#039; || open || open&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Terminal Setup ==&lt;br /&gt;
The carrier board connects the host PC using the micro-B USB connector (J3).&amp;lt;br&amp;gt;&lt;br /&gt;
Common serial communication programs such as Minicom, HyperTerminal, Tera Term, or PuTTY can be used.&amp;lt;br&amp;gt; &lt;br /&gt;
The {{#var:HARDWARE_NAME}} board uses the first port for the Arm Cortex-A cores console.&lt;br /&gt;
&lt;br /&gt;
== Installing required packages ==&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 20.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \&lt;br /&gt;
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \&lt;br /&gt;
xz-utils debianutils iputils-ping libsdl1.2-dev xterm python-is-python3 lz4&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git-doc \&lt;br /&gt;
sed cvs subversion coreutils texi2html docbook-utils \&lt;br /&gt;
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \&lt;br /&gt;
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \&lt;br /&gt;
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bmap-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
== Download Yocto based on Freescale Community BSP ==&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/bin &lt;br /&gt;
 $ curl &amp;lt;nowiki&amp;gt;http://commondatastorage.googleapis.com/git-repo-downloads/repo &amp;gt; ~/bin/repo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ chmod a+x ~/bin/repo&lt;br /&gt;
 $ export PATH=~/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-ronetix&lt;br /&gt;
 $ cd ~/yocto-ronetix&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Yocto repository&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ repo init -u https://github.com/ronetix/imx-manifest -b imx-linux-mickledore -m imx-6.1.55-2.2.0.xml&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&lt;br /&gt;
== Setup and build Yocto ==&lt;br /&gt;
* Setup first time:&lt;br /&gt;
 $ MACHINE={{#var:MACHINE_NAME}} DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* or setup if already configured:&lt;br /&gt;
 $ source setup-environment build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
 $ bitbake imx-image-core&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If the Ubuntu Terminal is crashed without any notification, see here: [[FAQ - Frequently Asked Questions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Build Results ===&lt;br /&gt;
The resulted images are located in tmp/deploy/images/{{#var:MACHINE_NAME}}.&lt;br /&gt;
&lt;br /&gt;
=== Booting Linux ===&lt;br /&gt;
This section describes how to copy the images (U-Boot, Linux kernel, device tree, and&lt;br /&gt;
rootfs) to the eMMC device on the module.&lt;br /&gt;
&lt;br /&gt;
==== Universal update utility ====&lt;br /&gt;
The Universal Update Utility (UUU) runs on a Windows or Linux OS host and is used to download images to devices on an i.MX board.&lt;br /&gt;
&lt;br /&gt;
===== Downloading UUU =====&lt;br /&gt;
Download UUU version 1.5.21 or later from https://github.com/nxp-imx/mfgtools/releases&lt;br /&gt;
&lt;br /&gt;
===== Write the WIC image into eMMC =====&lt;br /&gt;
Follow the instructions below:&lt;br /&gt;
* Connect a USB cable from a computer to the J9, port USB-0 (Micro-AB) port on the carrier board for download link.&lt;br /&gt;
* Connect a USB cable from J3, port UART-DBG (Micro-AB) port to the computer for console output.&lt;br /&gt;
* Open a Terminal emulator program&lt;br /&gt;
* Set the boot mode to &amp;quot;Cortex-A55 Serial Downloader&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
&lt;br /&gt;
  $ cd tmp/deploy/images/{{#var:MACHINE_NAME}}&lt;br /&gt;
  $ uuu -b emmc_all imx-boot-{{#var:MACHINE_NAME}}-sd.bin-flash_singleboot imx-image-core-{{#var:MACHINE_NAME}}.wic.zst&lt;br /&gt;
&lt;br /&gt;
==== Boot Linux ====&lt;br /&gt;
* set the boot mode to &amp;quot;Cortex-A55, eMMC&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
* reset the board&lt;br /&gt;
&lt;br /&gt;
== WiFi Setup ==&lt;br /&gt;
Scan for wireless networks: &lt;br /&gt;
  $ ifconfig wlan0 up&lt;br /&gt;
  $ iw dev wlan0 scan | grep SSID&lt;br /&gt;
&lt;br /&gt;
Connecting to an Access Point:&lt;br /&gt;
  $ wpa_passphrase &amp;lt;YourAP&amp;gt; &amp;lt;YourPassword&amp;gt; &amp;gt; /etc/wpa_supplicant.conf&lt;br /&gt;
  $ wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
wait for:&lt;br /&gt;
  $ wlcore: Association completed.&lt;br /&gt;
&lt;br /&gt;
Get an IP via DHCP:&lt;br /&gt;
  $ udhcpc -i wlan0&lt;br /&gt;
  $ ifconfig&lt;br /&gt;
&lt;br /&gt;
== Audio Test ==&lt;br /&gt;
List all sound cards:&lt;br /&gt;
  $ aplay -L &lt;br /&gt;
&lt;br /&gt;
Play a file:&lt;br /&gt;
  $ aplay -D &amp;quot;sysdefault:CARD=wm8962audio&amp;quot; test.wav&lt;br /&gt;
&lt;br /&gt;
List all sound controls:&lt;br /&gt;
  $ amixer controls&lt;br /&gt;
&lt;br /&gt;
Set Speaker Playback volume to max:&lt;br /&gt;
  $ amixer cset numid=13 127&lt;br /&gt;
&lt;br /&gt;
== Camera Test ==&lt;br /&gt;
Connect an OV5640 camera (PCAM 5C) to J21 on the carrier board.&amp;lt;br&amp;gt;&lt;br /&gt;
List capture media devices:&lt;br /&gt;
 $ v4l2-ctl --list-devices&lt;br /&gt;
 FSL Capture Media Device (platform:42800000.bus:camera):                                                         &lt;br /&gt;
        /dev/media0                                                                                              &lt;br /&gt;
                                                                                                                 &lt;br /&gt;
 mxc-isi-cap (platform:4ae40000.isi:cap_devic):                                                                   &lt;br /&gt;
        /dev/video0 &lt;br /&gt;
&lt;br /&gt;
Take a single photo:&lt;br /&gt;
 $ gst-launch-1.0 v4l2src num-buffers=1 ! jpegenc ! filesink location=test.jpg&lt;br /&gt;
 Setting pipeline to PAUSED ...                                                                                   &lt;br /&gt;
 Pipeline is live and does not need PREROLL ...                                                                   &lt;br /&gt;
 Pipeline is PREROLLED ...                                                                                        &lt;br /&gt;
 Setting pipeline to PLAYING ...                                                                                  &lt;br /&gt;
 New clock: GstSystemClock                                                                                        &lt;br /&gt;
 [  877.427496] mxc-mipi-csi2.0: format: 0x2008                                                                   &lt;br /&gt;
 [  877.436706] bypass csc                                                                                        &lt;br /&gt;
 [  877.439078] input fmt YUV4                                                                                    &lt;br /&gt;
 [  877.441775] output fmt YUYV                                                                                   &lt;br /&gt;
 [  877.553965] dwc-mipi-csi2-host 4ae00000.csi: enter enable=1                                                   &lt;br /&gt;
 Redistribute latency...                                                                                          &lt;br /&gt;
 Got EOS from element &amp;quot;pipeline0&amp;quot;.                                                                                &lt;br /&gt;
 Execution ended after 0:00:02.375455667                                                                          &lt;br /&gt;
 Setting pipeline to NULL ...                                                                                     &lt;br /&gt;
 [  879.341902] dwc-mipi-csi2-host 4ae00000.csi: enter enable=0                                                   &lt;br /&gt;
 Freeing pipeline ...      &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Yocto Linux | Yocto Linux]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Linux|Building Linux Kernel]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} U-Boot|Building U-Boot]]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-iMX93-SMARC_U-Boot&amp;diff=452</id>
		<title>RNX-iMX93-SMARC U-Boot</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-iMX93-SMARC_U-Boot&amp;diff=452"/>
		<updated>2025-09-02T08:42:50Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Add configuration for RNX-iMX93-SMARC v1.0 and v1.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-iMX93-SMARC}}&lt;br /&gt;
{{#vardefine:UBOOT_BRANCH|lf_v2023.04}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_NAME|imx93-rnx_smarc_defconfig}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_2GB_NAME|imx93-rnx_smarc_2gb_defconfig}}&lt;br /&gt;
[[File:RNX-iMX93-SMARC_top.webp|thumb]]&lt;br /&gt;
== Overview ==&lt;br /&gt;
The U-Boot bootloader is used for low-level initialization and operating system loading.&lt;br /&gt;
&lt;br /&gt;
== Setting Boot mode ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Boot mode setting on carrier board&lt;br /&gt;
|-&lt;br /&gt;
! BOOT !! J4:1-2 !! J4:3-4 !! J4:5-6 !! J4:7-8&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55 Serial Downloader || close || open || open || open&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55, eMMC || open || close || open || open&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Terminal Setup ==&lt;br /&gt;
The carrier board connects the host PC using the micro-B USB connector (J3).&amp;lt;br&amp;gt;&lt;br /&gt;
Common serial communication programs such as Minicom, HyperTerminal, Tera Term, or PuTTY can be used.&amp;lt;br&amp;gt; &lt;br /&gt;
The {{#var:HARDWARE_NAME}} board uses the second port for the Arm Cortex-A cores console.&lt;br /&gt;
== Building U-BOOT for {{#var:HARDWARE_NAME}} ==&lt;br /&gt;
This U-BOOT is based on https://github.com/nxp-imx/uboot-imx, branch {{#var:UBOOT_BRANCH}}&lt;br /&gt;
&lt;br /&gt;
=== Set up the cross-compiler and CPU architecture ===&lt;br /&gt;
 $ export ARCH=arm64&lt;br /&gt;
 $ export CROSS_COMPILE=/opt/cross/aarch64-ronetix-linux-11.1/bin/aarch64-ronetix-linux-gnu-&lt;br /&gt;
&lt;br /&gt;
A cross-compiler can be downloaded from here:&lt;br /&gt;
http://download.ronetix.at/toolchains/crosstool-ng&lt;br /&gt;
&lt;br /&gt;
=== Clone the latest revision of the repo ===&lt;br /&gt;
 $ git clone https://github.com/ronetix/u-boot.git uboot-imx --depth=1 -b {{#var:UBOOT_BRANCH}}&lt;br /&gt;
 $ cd uboot-imx&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
For RNX-iMX93-SMARC v1.1 with 2GB LPDDR4x:&lt;br /&gt;
 $ make {{#var:DEFCONFIG_2GB_NAME}}&lt;br /&gt;
or for RNX-iMX93-SMARC v1.0 with 1GB LPDDR4x:&lt;br /&gt;
 $ make {{#var:DEFCONFIG_NAME}}&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
=== Create IMX image ===&lt;br /&gt;
Create a new Firmware package &#039;&#039;&#039;flash.bin&#039;&#039;&#039; that contains SPL, U-Boot, Arm Trusted Firmware, Sentinel&lt;br /&gt;
Firmware, DDR PHY Firmware.&amp;lt;br&amp;gt;&lt;br /&gt;
The Sentinel firmware differs on the CPU revision. &amp;lt;br&amp;gt;&lt;br /&gt;
For RNX-iMX93-SMARC v1.1, CPU revision A1: &lt;br /&gt;
&lt;br /&gt;
 $ source ./tools/imx_build_firmware.sh imx93&lt;br /&gt;
&lt;br /&gt;
For building image with CPU revision A0 (RNX-iMX93-SMARC v1.0) use:&lt;br /&gt;
 $ CPU_REV=A0 source ./tools/imx_build_firmware.sh imx93&lt;br /&gt;
&lt;br /&gt;
=== Build Results ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot-dtb.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT image with DTB&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ./imx-mkimage/iMX9/flash.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| IMX bootloader&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Programming the IMX image ==&lt;br /&gt;
This section describes how to write the bootloader into the eMMC using UUU.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Universal update utility ===&lt;br /&gt;
The Universal Update Utility (UUU) runs on a Windows or Linux OS host and is used to download images to devices on an i.MX board.&lt;br /&gt;
&lt;br /&gt;
==== Downloading UUU ====&lt;br /&gt;
Download UUU version 1.5.21 or later from https://github.com/nxp-imx/mfgtools/releases&lt;br /&gt;
&lt;br /&gt;
==== Connect USB ports ====&lt;br /&gt;
Follow the instructions below:&lt;br /&gt;
* Connect a USB cable from a computer to the J9, port USB-0 (Micro-AB) port on the carrier board for download link.&lt;br /&gt;
* Connect a USB cable from J3, port UART-DBG (Micro-AB) port to the computer for console output.&lt;br /&gt;
* Open a Terminal emulator program&lt;br /&gt;
* Set the boot mode to &amp;quot;Cortex-A55 Serial Downloader&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
&lt;br /&gt;
=== Write flash.bin into eMMC ===&lt;br /&gt;
&lt;br /&gt;
  $ cd ./imx-mkimage/iMX9&lt;br /&gt;
  $ wget http://download.ronetix.at/boards/doc/RNX-iMX93-SMARC/tools/u-boot.uuu&lt;br /&gt;
  $ uuu u-boot.uuu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- use template --&amp;gt;&lt;br /&gt;
{{SeeAlso}}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-iMX93-SMARC_U-Boot&amp;diff=451</id>
		<title>RNX-iMX93-SMARC U-Boot</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-iMX93-SMARC_U-Boot&amp;diff=451"/>
		<updated>2025-07-11T14:58:58Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Add option for building of IMX image for CPU revisions A0 and A1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-iMX93-SMARC}}&lt;br /&gt;
{{#vardefine:UBOOT_BRANCH|lf_v2023.04}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_NAME|imx93-rnx_smarc_defconfig}}&lt;br /&gt;
[[File:RNX-iMX93-SMARC_top.webp|thumb]]&lt;br /&gt;
== Overview ==&lt;br /&gt;
The U-Boot bootloader is used for low-level initialization and operating system loading.&lt;br /&gt;
&lt;br /&gt;
== Setting Boot mode ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Boot mode setting on carrier board&lt;br /&gt;
|-&lt;br /&gt;
! BOOT !! J4:1-2 !! J4:3-4 !! J4:5-6 !! J4:7-8&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55 Serial Downloader || close || open || open || open&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55, eMMC || open || close || open || open&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Terminal Setup ==&lt;br /&gt;
The carrier board connects the host PC using the micro-B USB connector (J3).&amp;lt;br&amp;gt;&lt;br /&gt;
Common serial communication programs such as Minicom, HyperTerminal, Tera Term, or PuTTY can be used.&amp;lt;br&amp;gt; &lt;br /&gt;
The {{#var:HARDWARE_NAME}} board uses the second port for the Arm Cortex-A cores console.&lt;br /&gt;
== Building U-BOOT for {{#var:HARDWARE_NAME}} ==&lt;br /&gt;
This U-BOOT is based on https://github.com/nxp-imx/uboot-imx, branch {{#var:UBOOT_BRANCH}}&lt;br /&gt;
&lt;br /&gt;
=== Set up the cross-compiler and CPU architecture ===&lt;br /&gt;
 $ export ARCH=arm64&lt;br /&gt;
 $ export CROSS_COMPILE=/opt/cross/aarch64-ronetix-linux-11.1/bin/aarch64-ronetix-linux-gnu-&lt;br /&gt;
&lt;br /&gt;
A cross-compiler can be downloaded from here:&lt;br /&gt;
http://download.ronetix.at/toolchains/crosstool-ng&lt;br /&gt;
&lt;br /&gt;
=== Clone the latest revision of the repo ===&lt;br /&gt;
 $ git clone https://github.com/ronetix/u-boot.git uboot-imx --depth=1 -b {{#var:UBOOT_BRANCH}}&lt;br /&gt;
 $ cd uboot-imx&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
 $ make {{#var:DEFCONFIG_NAME}}&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
=== Create IMX image ===&lt;br /&gt;
Create a new Firmware package &#039;&#039;&#039;flash.bin&#039;&#039;&#039; that contains SPL, U-Boot, Arm Trusted Firmware, Sentinel&lt;br /&gt;
Firmware, DDR PHY Firmware.&amp;lt;br&amp;gt;&lt;br /&gt;
The Sentinel firmware differs on the CPU revision. By default revision A1 is used: &lt;br /&gt;
&lt;br /&gt;
 $ source ./tools/imx_build_firmware.sh imx93&lt;br /&gt;
&lt;br /&gt;
For building image with CPU revision A0 use:&lt;br /&gt;
 $ CPU_REV=A0 source ./tools/imx_build_firmware.sh imx93&lt;br /&gt;
&lt;br /&gt;
=== Build Results ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot-dtb.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT image with DTB&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ./imx-mkimage/iMX9/flash.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| IMX bootloader&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Programming the IMX image ==&lt;br /&gt;
This section describes how to write the bootloader into the eMMC using UUU.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Universal update utility ===&lt;br /&gt;
The Universal Update Utility (UUU) runs on a Windows or Linux OS host and is used to download images to devices on an i.MX board.&lt;br /&gt;
&lt;br /&gt;
==== Downloading UUU ====&lt;br /&gt;
Download UUU version 1.5.21 or later from https://github.com/nxp-imx/mfgtools/releases&lt;br /&gt;
&lt;br /&gt;
==== Connect USB ports ====&lt;br /&gt;
Follow the instructions below:&lt;br /&gt;
* Connect a USB cable from a computer to the J9, port USB-0 (Micro-AB) port on the carrier board for download link.&lt;br /&gt;
* Connect a USB cable from J3, port UART-DBG (Micro-AB) port to the computer for console output.&lt;br /&gt;
* Open a Terminal emulator program&lt;br /&gt;
* Set the boot mode to &amp;quot;Cortex-A55 Serial Downloader&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
&lt;br /&gt;
=== Write flash.bin into eMMC ===&lt;br /&gt;
&lt;br /&gt;
  $ cd ./imx-mkimage/iMX9&lt;br /&gt;
  $ wget http://download.ronetix.at/boards/doc/RNX-iMX93-SMARC/tools/u-boot.uuu&lt;br /&gt;
  $ uuu u-boot.uuu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- use template --&amp;gt;&lt;br /&gt;
{{SeeAlso}}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-iMX93-SMARC_Yocto_Linux&amp;diff=450</id>
		<title>RNX-iMX93-SMARC Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-iMX93-SMARC_Yocto_Linux&amp;diff=450"/>
		<updated>2025-03-25T10:34:55Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Fix USB console port&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-iMX93-SMARC}}&lt;br /&gt;
{{#vardefine:MACHINE_NAME|rnx-imx93-smarc}}&lt;br /&gt;
{{#vardefine:YOCTO_NAME|micledore}}&lt;br /&gt;
{{#vardefine:KERNEL_VER|6.1.55}}&lt;br /&gt;
{{#vardefine:UBOOT_VER|v2023.04}}&lt;br /&gt;
[[File:RNX-iMX93-SMARC_top.webp|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Yocto {{#var:YOCTO_NAME}}&lt;br /&gt;
| {{#var:KERNEL_VER}}&lt;br /&gt;
| {{#var:UBOOT_VER}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
== Setting Boot mode ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Boot mode setting on carrier board&lt;br /&gt;
|-&lt;br /&gt;
! BOOT !! J4:1-2 !! J4:3-4 !! J4:5-6 !! J4:7-8&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55 Serial Downloader || close || open || open || open&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55, eMMC || open || close || open || open&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Terminal Setup ==&lt;br /&gt;
The carrier board connects the host PC using the micro-B USB connector (J3).&amp;lt;br&amp;gt;&lt;br /&gt;
Common serial communication programs such as Minicom, HyperTerminal, Tera Term, or PuTTY can be used.&amp;lt;br&amp;gt; &lt;br /&gt;
The {{#var:HARDWARE_NAME}} board uses the first port for the Arm Cortex-A cores console.&lt;br /&gt;
&lt;br /&gt;
== Installing required packages ==&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 20.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \&lt;br /&gt;
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \&lt;br /&gt;
xz-utils debianutils iputils-ping libsdl1.2-dev xterm python-is-python3 lz4&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git-doc \&lt;br /&gt;
sed cvs subversion coreutils texi2html docbook-utils \&lt;br /&gt;
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \&lt;br /&gt;
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \&lt;br /&gt;
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bmap-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
== Download Yocto based on Freescale Community BSP ==&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/bin &lt;br /&gt;
 $ curl &amp;lt;nowiki&amp;gt;http://commondatastorage.googleapis.com/git-repo-downloads/repo &amp;gt; ~/bin/repo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ chmod a+x ~/bin/repo&lt;br /&gt;
 $ export PATH=~/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-ronetix&lt;br /&gt;
 $ cd ~/yocto-ronetix&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Yocto repository&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ repo init -u https://github.com/ronetix/imx-manifest -b imx-linux-mickledore -m imx-6.1.55-2.2.0.xml&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&lt;br /&gt;
== Setup and build Yocto ==&lt;br /&gt;
* Setup first time:&lt;br /&gt;
 $ MACHINE={{#var:MACHINE_NAME}} DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* or setup if already configured:&lt;br /&gt;
 $ source setup-environment build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
 $ bitbake imx-image-core&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If the Ubuntu Terminal is crashed without any notification, see here: [[FAQ - Frequently Asked Questions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Build Results ===&lt;br /&gt;
The resulted images are located in tmp/deploy/images/{{#var:MACHINE_NAME}}.&lt;br /&gt;
&lt;br /&gt;
=== Booting Linux ===&lt;br /&gt;
This section describes how to copy the images (U-Boot, Linux kernel, device tree, and&lt;br /&gt;
rootfs) to the eMMC device on the module.&lt;br /&gt;
&lt;br /&gt;
==== Universal update utility ====&lt;br /&gt;
The Universal Update Utility (UUU) runs on a Windows or Linux OS host and is used to download images to devices on an i.MX board.&lt;br /&gt;
&lt;br /&gt;
===== Downloading UUU =====&lt;br /&gt;
Download UUU version 1.5.21 or later from https://github.com/nxp-imx/mfgtools/releases&lt;br /&gt;
&lt;br /&gt;
===== Write the WIC image into eMMC =====&lt;br /&gt;
Follow the instructions below:&lt;br /&gt;
* Connect a USB cable from a computer to the J9, port USB-0 (Micro-AB) port on the carrier board for download link.&lt;br /&gt;
* Connect a USB cable from J3, port UART-DBG (Micro-AB) port to the computer for console output.&lt;br /&gt;
* Open a Terminal emulator program&lt;br /&gt;
* Set the boot mode to &amp;quot;Cortex-A55 Serial Downloader&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
&lt;br /&gt;
  $ cd tmp/deploy/images/{{#var:MACHINE_NAME}}&lt;br /&gt;
  $ uuu -b emmc_all imx-boot-{{#var:MACHINE_NAME}}-sd.bin-flash_singleboot imx-image-core-{{#var:MACHINE_NAME}}.wic.zst&lt;br /&gt;
&lt;br /&gt;
==== Boot Linux ====&lt;br /&gt;
* set the boot mode to &amp;quot;Cortex-A55, eMMC&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
* reset the board&lt;br /&gt;
&lt;br /&gt;
== WiFi Setup ==&lt;br /&gt;
Scan for wireless networks: &lt;br /&gt;
  $ ifconfig wlan0 up&lt;br /&gt;
  $ iw dev wlan0 scan | grep SSID&lt;br /&gt;
&lt;br /&gt;
Connecting to an Access Point:&lt;br /&gt;
  $ wpa_passphrase &amp;lt;YourAP&amp;gt; &amp;lt;YourPassword&amp;gt; &amp;gt; /etc/wpa_supplicant.conf&lt;br /&gt;
  $ wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
wait for:&lt;br /&gt;
  $ wlcore: Association completed.&lt;br /&gt;
&lt;br /&gt;
Get an IP via DHCP:&lt;br /&gt;
  $ udhcpc -i wlan0&lt;br /&gt;
  $ ifconfig&lt;br /&gt;
&lt;br /&gt;
== Audio Test ==&lt;br /&gt;
List all sound cards:&lt;br /&gt;
  $ aplay -L &lt;br /&gt;
&lt;br /&gt;
Play a file:&lt;br /&gt;
  $ aplay -D &amp;quot;sysdefault:CARD=wm8962audio&amp;quot; test.wav&lt;br /&gt;
&lt;br /&gt;
List all sound controls:&lt;br /&gt;
  $ amixer controls&lt;br /&gt;
&lt;br /&gt;
Set Speaker Playback volume to max:&lt;br /&gt;
  $ amixer cset numid=13 127&lt;br /&gt;
&lt;br /&gt;
== Camera Test ==&lt;br /&gt;
Connect an OV5640 camera (PCAM 5C) to J21 on the carrier board.&amp;lt;br&amp;gt;&lt;br /&gt;
List capture media devices:&lt;br /&gt;
 $ v4l2-ctl --list-devices&lt;br /&gt;
 FSL Capture Media Device (platform:42800000.bus:camera):                                                         &lt;br /&gt;
        /dev/media0                                                                                              &lt;br /&gt;
                                                                                                                 &lt;br /&gt;
 mxc-isi-cap (platform:4ae40000.isi:cap_devic):                                                                   &lt;br /&gt;
        /dev/video0 &lt;br /&gt;
&lt;br /&gt;
Take a single photo:&lt;br /&gt;
 $ gst-launch-1.0 v4l2src num-buffers=1 ! jpegenc ! filesink location=test.jpg&lt;br /&gt;
 Setting pipeline to PAUSED ...                                                                                   &lt;br /&gt;
 Pipeline is live and does not need PREROLL ...                                                                   &lt;br /&gt;
 Pipeline is PREROLLED ...                                                                                        &lt;br /&gt;
 Setting pipeline to PLAYING ...                                                                                  &lt;br /&gt;
 New clock: GstSystemClock                                                                                        &lt;br /&gt;
 [  877.427496] mxc-mipi-csi2.0: format: 0x2008                                                                   &lt;br /&gt;
 [  877.436706] bypass csc                                                                                        &lt;br /&gt;
 [  877.439078] input fmt YUV4                                                                                    &lt;br /&gt;
 [  877.441775] output fmt YUYV                                                                                   &lt;br /&gt;
 [  877.553965] dwc-mipi-csi2-host 4ae00000.csi: enter enable=1                                                   &lt;br /&gt;
 Redistribute latency...                                                                                          &lt;br /&gt;
 Got EOS from element &amp;quot;pipeline0&amp;quot;.                                                                                &lt;br /&gt;
 Execution ended after 0:00:02.375455667                                                                          &lt;br /&gt;
 Setting pipeline to NULL ...                                                                                     &lt;br /&gt;
 [  879.341902] dwc-mipi-csi2-host 4ae00000.csi: enter enable=0                                                   &lt;br /&gt;
 Freeing pipeline ...      &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Yocto Linux | Yocto Linux]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Linux|Building Linux Kernel]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} U-Boot|Building U-Boot]]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=SAM9X5-CM&amp;diff=449</id>
		<title>SAM9X5-CM</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=SAM9X5-CM&amp;diff=449"/>
		<updated>2025-03-13T10:27:47Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Add &amp;quot;Programming with SAM-BA 3.x&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|SAM9X5-CM}}&lt;br /&gt;
{{#vardefine:CPU|AT91SAM9x5}}&lt;br /&gt;
{{#vardefine:BRANCH|at91bootstrap-3.10.4_rnx}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_NAME|sam9x5_cm_nf_uboot_defconfig}}&lt;br /&gt;
{{#vardefine:ARCH|arm}}&lt;br /&gt;
{{#vardefine:CROSS_COMPILE|/opt/cross/arm-ronetix-eabi-8.3.0/bin/arm-ronetix-eabi-}}&lt;br /&gt;
{{Summary SAM9 A5 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the Microchip (ATMEL) {{#var:CPU}} CPU with an ARM926EJ CPU running at 400MHz&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
|SAM9-CM_top.png|&lt;br /&gt;
https://ronetix.at/product/sam9x5-cm-cpu-module-with-atmel-at91sam9x5-series&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Information about at91bootstrap, U-BOOT, Linux can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/LegacySAM9x5Page&amp;lt;/p&amp;gt;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Building at91bootstrap - second level bootloader for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x&lt;br /&gt;
&lt;br /&gt;
==== Setup the cross-compiler and CPU architecture ====&lt;br /&gt;
 $ export ARCH={{#var:ARCH}}&lt;br /&gt;
 $ export CROSS_COMPILE={{#var:CROSS_COMPILE}}&lt;br /&gt;
&lt;br /&gt;
==== Clone the latest revision of the repo ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/at91bootstrap.git -b {{#var:BRANCH}}&lt;br /&gt;
 $ cd at91bootstrap&lt;br /&gt;
&lt;br /&gt;
==== Configure and build ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
= Build Results =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| BIN image, should be programmed at address 0x0 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.elf&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Building Buildroot - a simple Linux System for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
The home page of Buildroot is: https://buildroot.org&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot for SAM9X5 is maintained by Microchip: https://github.com/linux4microchip/buildroot-mchp&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buildroot can build:&lt;br /&gt;
* at91bootstrap&lt;br /&gt;
* U-Boot&lt;br /&gt;
* Linux kernel&lt;br /&gt;
* A cross-compiler&lt;br /&gt;
* Root filesystems of different types&lt;br /&gt;
&lt;br /&gt;
====  Prerequisites ====&lt;br /&gt;
The Host build system should be a Linux system with necessary software installed: &lt;br /&gt;
http://www.buildroot.net/downloads/manual/manual.html#requirement&amp;lt;br&amp;gt;&lt;br /&gt;
In addition to these required packages, you should also install libssl-dev:&lt;br /&gt;
 $ sudo apt-get install libssl1.0-dev&lt;br /&gt;
or, depending on your host distribution: &lt;br /&gt;
 $ sudo apt-get install libssl-dev&lt;br /&gt;
&lt;br /&gt;
==== Get sources ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/buildroot-mchp.git&lt;br /&gt;
&lt;br /&gt;
 $ cd buildroot-mchp&lt;br /&gt;
 $ git checkout buildroot-at91-linux4microchip-2024.10 -b buildroot-at91-linux4microchip-2024.10&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
 $ make at91sam9x5ek_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
Once compilation is done, the images have been generated in: ./output/image:&amp;lt;br&amp;gt;&lt;br /&gt;
* at91bootstrap.bin  &lt;br /&gt;
* rootfs.tar  &lt;br /&gt;
* u-boot.bin&lt;br /&gt;
* zImage&lt;br /&gt;
* at91sam9g15ek.dtb&lt;br /&gt;
* at91sam9g25ek.dtb&lt;br /&gt;
* at91sam9g35ek.dtb&lt;br /&gt;
* at91sam9x25ek.dtb&lt;br /&gt;
* at91sam9x35ek.dtb&lt;br /&gt;
* rootfs.ubi  &lt;br /&gt;
* rootfs.ubifs    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Customizing Buildroot ====&lt;br /&gt;
===== AT91Bootstrap =====&lt;br /&gt;
 $ make at91bootstrap3-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== U-BOOT =====&lt;br /&gt;
 $ make uboot-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== Linux Kernel =====&lt;br /&gt;
 $ make linux-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== RootFs =====&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
==== NAND Boot: Programming images ====&lt;br /&gt;
SAM-BA tool or PEEDI JTAG Flash Programmer can be used for programming the images into the NAND Flash.&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Image&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00000000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91bootstrap&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00020000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT, third level bootloader &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00180000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91sam9x35ek.dtb&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Device tree for Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00200000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| zImage&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00800000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rootfs.ubi&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Root file system&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Programming with SAM-BA 3.x =====&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a lowlevel&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a extram&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a serialflash -c erase:0:0x10000&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c erase&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c writeboot:boot.bin&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c write:u-boot.bin:0x40000&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c write:at91sam9x35ek.dtb:0x180000&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c write:zImage:0x200000&lt;br /&gt;
 $ sam-ba -p usb -b sam9xx5-ek -a nandflash -c write:rootfs.ubi:0x800000&lt;br /&gt;
&lt;br /&gt;
More information about SAM-BA 3.x can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/Samba3Subsections&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=SAM9X5-CM&amp;diff=448</id>
		<title>SAM9X5-CM</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=SAM9X5-CM&amp;diff=448"/>
		<updated>2025-03-13T08:42:35Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Add &amp;quot;Building Buildroot&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|SAM9X5-CM}}&lt;br /&gt;
{{#vardefine:CPU|AT91SAM9x5}}&lt;br /&gt;
{{#vardefine:BRANCH|at91bootstrap-3.10.4_rnx}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_NAME|sam9x5_cm_nf_uboot_defconfig}}&lt;br /&gt;
{{#vardefine:ARCH|arm}}&lt;br /&gt;
{{#vardefine:CROSS_COMPILE|/opt/cross/arm-ronetix-eabi-8.3.0/bin/arm-ronetix-eabi-}}&lt;br /&gt;
{{Summary SAM9 A5 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the Microchip (ATMEL) {{#var:CPU}} CPU with an ARM926EJ CPU running at 400MHz&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
|SAM9-CM_top.png|&lt;br /&gt;
https://ronetix.at/product/sam9x5-cm-cpu-module-with-atmel-at91sam9x5-series&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Information about at91bootstrap, U-BOOT, Linux can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/LegacySAM9x5Page&amp;lt;/p&amp;gt;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Building at91bootstrap - second level bootloader for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x&lt;br /&gt;
&lt;br /&gt;
==== Setup the cross-compiler and CPU architecture ====&lt;br /&gt;
 $ export ARCH={{#var:ARCH}}&lt;br /&gt;
 $ export CROSS_COMPILE={{#var:CROSS_COMPILE}}&lt;br /&gt;
&lt;br /&gt;
==== Clone the latest revision of the repo ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/at91bootstrap.git -b {{#var:BRANCH}}&lt;br /&gt;
 $ cd at91bootstrap&lt;br /&gt;
&lt;br /&gt;
==== Configure and build ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
= Build Results =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| BIN image, should be programmed at address 0x0 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.elf&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Building Buildroot - a simple Linux System for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
The home page of Buildroot is: https://buildroot.org&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot for SAM9X5 is maintained by Microchip: https://github.com/linux4microchip/buildroot-mchp&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buildroot can build:&lt;br /&gt;
* at91bootstrap&lt;br /&gt;
* U-Boot&lt;br /&gt;
* Linux kernel&lt;br /&gt;
* A cross-compiler&lt;br /&gt;
* Root filesystems of different types&lt;br /&gt;
&lt;br /&gt;
====  Prerequisites ====&lt;br /&gt;
The Host build system should be a Linux system with necessary software installed: &lt;br /&gt;
http://www.buildroot.net/downloads/manual/manual.html#requirement&amp;lt;br&amp;gt;&lt;br /&gt;
In addition to these required packages, you should also install libssl-dev:&lt;br /&gt;
 $ sudo apt-get install libssl1.0-dev&lt;br /&gt;
or, depending on your host distribution: &lt;br /&gt;
 $ sudo apt-get install libssl-dev&lt;br /&gt;
&lt;br /&gt;
==== Get sources ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/buildroot-mchp.git&lt;br /&gt;
&lt;br /&gt;
 $ cd buildroot-mchp&lt;br /&gt;
 $ git checkout buildroot-at91-linux4microchip-2024.10 -b buildroot-at91-linux4microchip-2024.10&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
 $ make at91sam9x5ek_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
Once compilation is done, the images have been generated in: ./output/image:&amp;lt;br&amp;gt;&lt;br /&gt;
* at91bootstrap.bin  &lt;br /&gt;
* rootfs.tar  &lt;br /&gt;
* u-boot.bin&lt;br /&gt;
* zImage&lt;br /&gt;
* at91sam9g15ek.dtb&lt;br /&gt;
* at91sam9g25ek.dtb&lt;br /&gt;
* at91sam9g35ek.dtb&lt;br /&gt;
* at91sam9x25ek.dtb&lt;br /&gt;
* at91sam9x35ek.dtb&lt;br /&gt;
* rootfs.ubi  &lt;br /&gt;
* rootfs.ubifs    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Customizing Buildroot ====&lt;br /&gt;
===== AT91Bootstrap =====&lt;br /&gt;
 $ make at91bootstrap3-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== U-BOOT =====&lt;br /&gt;
 $ make uboot-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== Linux Kernel =====&lt;br /&gt;
 $ make linux-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== RootFs =====&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
==== NAND Boot: Programming images ====&lt;br /&gt;
SAM-BA tool or PEEDI JTAG Flash Programmer can be used for programming the images into the NAND Flash.&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Image&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00000000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91bootstrap&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00020000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT, third level bootloader &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00180000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91sam9x35ek.dtb&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Device tree for Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00200000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| zImage&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00800000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rootfs.ubi&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Root file system&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=PM9G45&amp;diff=447</id>
		<title>PM9G45</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=PM9G45&amp;diff=447"/>
		<updated>2025-03-13T08:41:25Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Change link for the system requirements&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|PM9G45}}&lt;br /&gt;
{{#vardefine:CPU|AT91SAM9G45}}&lt;br /&gt;
{{#vardefine:BRANCH|at91bootstrap-3.10.4_rnx}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_UBOOT_NAME|pm9g45_nf_uboot_defconfig}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_LINUX_NAME|pm9g45_nf_linux_defconfig}}&lt;br /&gt;
{{#vardefine:ARCH|arm}}&lt;br /&gt;
{{#vardefine:CROSS_COMPILE|~/bin/arm-ronetix-eabi-11.1.0/bin/arm-ronetix-eabi-}}&lt;br /&gt;
{{Summary SAM9 A5 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the Microchip (ATMEL) {{#var:CPU}} CPU with an ARM926EJ CPU running at 400MHz&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
|PM9G45-top.png|&lt;br /&gt;
https://ronetix.at/product/pm9g45-cpu-module-with-atmel-at91sam9g45&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Information about at91bootstrap, U-BOOT, Linux can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/GettingStarted#Getting_Started_SAM9&lt;br /&gt;
&amp;lt;/p&amp;gt;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Building at91bootstrap - second level bootloader for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x&lt;br /&gt;
&lt;br /&gt;
==== Install and setup the cross-compiler and CPU architecture ====&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ mkdir bin&lt;br /&gt;
 $ wget http://download.ronetix.at/toolchains/crosstool-ng/arm-ronetix-eabi-11.1.0.tar.gz&lt;br /&gt;
 $ tar xvfz arm-ronetix-eabi-11.1.0.tar.gz --directory bin&lt;br /&gt;
 $ export ARCH={{#var:ARCH}}&lt;br /&gt;
 $ export CROSS_COMPILE={{#var:CROSS_COMPILE}}&lt;br /&gt;
&lt;br /&gt;
==== Clone the latest revision of the repo ====&lt;br /&gt;
 $ git clone git@github.com:ronetix/at91bootstrap.git -b {{#var:BRANCH}}&lt;br /&gt;
 $ cd at91bootstrap&lt;br /&gt;
&lt;br /&gt;
==== Configure and build for booting of U-BOOT ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_UBOOT_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Configure and build for booting of Linux Kernel ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_LINUX_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| BIN image, should be programmed at address 0x0 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.elf&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Building Buildroot - a simple Linux System for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
The home page of Buildroot is: https://buildroot.org&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot for AT91SAM9G45 is maintained by Microchip: https://github.com/linux4microchip/buildroot-mchp&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buildroot can build:&lt;br /&gt;
* at91bootstrap&lt;br /&gt;
* U-Boot&lt;br /&gt;
* Linux kernel&lt;br /&gt;
* A cross-compiler&lt;br /&gt;
* Root filesystems of different types&lt;br /&gt;
&lt;br /&gt;
====  Prerequisites ====&lt;br /&gt;
The host build system should be a Linux system with necessary software installed: &lt;br /&gt;
http://www.buildroot.net/downloads/manual/manual.html#requirement&amp;lt;br&amp;gt;&lt;br /&gt;
In addition to these required packages, you should also install libssl-dev:&lt;br /&gt;
 $ sudo apt-get install libssl1.0-dev&lt;br /&gt;
or, depending on your host distribution: &lt;br /&gt;
 $ sudo apt-get install libssl-dev&lt;br /&gt;
&lt;br /&gt;
==== Get sources ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/buildroot-mchp.git&lt;br /&gt;
&lt;br /&gt;
 $ cd buildroot-mchp&lt;br /&gt;
 $ git checkout buildroot-at91-linux4microchip-2024.10 -b buildroot-at91-linux4microchip-2024.10&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
 $ make pm9g45_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
Once compilation is done, the images have been generated in: ./output/image:&amp;lt;br&amp;gt;&lt;br /&gt;
* at91bootstrap.bin  &lt;br /&gt;
* rootfs.tar  &lt;br /&gt;
* u-boot.bin&lt;br /&gt;
* zImage&lt;br /&gt;
* pm9g45.dtb  &lt;br /&gt;
* rootfs.ubi  &lt;br /&gt;
* rootfs.ubifs    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Customizing Buildroot ====&lt;br /&gt;
===== AT91Bootstrap =====&lt;br /&gt;
 $ make at91bootstrap3-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== U-BOOT =====&lt;br /&gt;
 $ make uboot-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== Linux Kernel =====&lt;br /&gt;
 $ make linux-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== RootFs =====&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
==== NAND Boot: Programming images ====&lt;br /&gt;
SAM-BA tool or PEEDI JTAG Flash Programmer can be used for programming the images into the NAND Flash.&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Image&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00000000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91bootstrap&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00020000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT, third level bootloader &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00180000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| pm9g45.dtb&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Device tree for Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00200000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| zImage&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00800000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rootfs.ubi&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Root file system&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=SAM9X5-CM&amp;diff=446</id>
		<title>SAM9X5-CM</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=SAM9X5-CM&amp;diff=446"/>
		<updated>2025-03-10T14:33:23Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Change GitHub protocol&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|SAM9X5-CM}}&lt;br /&gt;
{{#vardefine:CPU|AT91SAM9x5}}&lt;br /&gt;
{{#vardefine:BRANCH|at91bootstrap-3.10.4_rnx}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_NAME|sam9x5_cm_nf_uboot_defconfig}}&lt;br /&gt;
{{#vardefine:ARCH|arm}}&lt;br /&gt;
{{#vardefine:CROSS_COMPILE|/opt/cross/arm-ronetix-eabi-8.3.0/bin/arm-ronetix-eabi-}}&lt;br /&gt;
{{Summary SAM9 A5 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the Microchip (ATMEL) {{#var:CPU}} CPU with an ARM926EJ CPU running at 400MHz&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
|SAM9-CM_top.png|&lt;br /&gt;
https://ronetix.at/product/sam9x5-cm-cpu-module-with-atmel-at91sam9x5-series&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Information about at91bootstrap, U-BOOT, Linux can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/LegacySAM9x5Page&amp;lt;/p&amp;gt;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Building at91bootstrap - second level bootloader for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x&lt;br /&gt;
&lt;br /&gt;
==== Setup the cross-compiler and CPU architecture ====&lt;br /&gt;
 $ export ARCH={{#var:ARCH}}&lt;br /&gt;
 $ export CROSS_COMPILE={{#var:CROSS_COMPILE}}&lt;br /&gt;
&lt;br /&gt;
==== Clone the latest revision of the repo ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/at91bootstrap.git -b {{#var:BRANCH}}&lt;br /&gt;
 $ cd at91bootstrap&lt;br /&gt;
&lt;br /&gt;
==== Configure and build ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
= Build Results =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| BIN image, should be programmed at address 0x0 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.elf&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=SAMA5D3X-CM&amp;diff=445</id>
		<title>SAMA5D3X-CM</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=SAMA5D3X-CM&amp;diff=445"/>
		<updated>2025-02-25T09:16:10Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Add link for information about SAM-BA 3.x&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|SAMA5D3X-CM}}&lt;br /&gt;
{{#vardefine:CPU|ATSAMA5D3X}}&lt;br /&gt;
{{#vardefine:BRANCH|at91bootstrap-3.10.4_rnx}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_NAME|sama5d3x_cm_nf_uboot_defconfig}}&lt;br /&gt;
{{#vardefine:ARCH|arm}}&lt;br /&gt;
{{#vardefine:CROSS_COMPILE|/opt/cross/arm-ronetix-eabi-8.3.0/bin/arm-ronetix-eabi-}}&lt;br /&gt;
{{Summary SAM9 A5 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the Microchip (ATMEL) {{#var:CPU}} CPU with a CORTEX-A5 CPU running at 536MHz&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
|SAMA5D35-CM_top.png|&lt;br /&gt;
https://ronetix.at/product/sama5d3x-cm-cpu-module-with-atmel-sama5d3-series&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Information about at91bootstrap, U-BOOT, Linux can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/Sama5d3xekMainPage&lt;br /&gt;
&amp;lt;/p&amp;gt;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Building at91bootstrap - second level bootloader for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x&lt;br /&gt;
&lt;br /&gt;
==== Setup the cross-compiler and CPU architecture ====&lt;br /&gt;
 $ export ARCH={{#var:ARCH}}&lt;br /&gt;
 $ export CROSS_COMPILE={{#var:CROSS_COMPILE}}&lt;br /&gt;
&lt;br /&gt;
==== Clone the latest revision of the repo ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/at91bootstrap.git -b {{#var:BRANCH}}&lt;br /&gt;
 $ cd at91bootstrap&lt;br /&gt;
&lt;br /&gt;
==== Configure and build ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Alternative: Configure and build with GPIO test ====&lt;br /&gt;
This requires a special prepared Ronetix&#039;s carrier board with shorted pin pairs.&lt;br /&gt;
Used for production tests.&lt;br /&gt;
 $ make sama5d3x_cm_gpio_test_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| BIN image, should be programmed at address 0x0 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.elf&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Building Buildroot - a simple Linux System for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
The home page of Buildroot is: https://buildroot.org&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot for SAMA5D3x is maintained by Microchip: https://www.linux4sam.org/bin/view/Linux4SAM/BuildRoot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buildroot can build:&lt;br /&gt;
* at91bootstrap&lt;br /&gt;
* U-BOOT&lt;br /&gt;
* Linux Kernel&lt;br /&gt;
* A cross-compiler&lt;br /&gt;
* Root filesystems of different types&lt;br /&gt;
&lt;br /&gt;
====  Prerequisites ====&lt;br /&gt;
Host build system should be a Linux system with necessary software installed: http://buildroot.uclibc.org/downloads/manual/manual.html#requirement&amp;lt;br&amp;gt;&lt;br /&gt;
In addition to these required packages, you should also install libssl-dev:&lt;br /&gt;
 $ sudo apt-get install libssl1.0-dev&lt;br /&gt;
or, depending on your host distribution: &lt;br /&gt;
 $ sudo apt-get install libssl-dev&lt;br /&gt;
&lt;br /&gt;
==== Get sources ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/buildroot-mchp.git&lt;br /&gt;
 $ cd buildroot-mchp&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
 $ make atmel_sama5d3xek_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Once compilation is done, the images have been generated in: ./output/image:&amp;lt;br&amp;gt;&lt;br /&gt;
* at91bootstrap.bin  &lt;br /&gt;
* rootfs.tar  &lt;br /&gt;
* u-boot.bin&lt;br /&gt;
* u-boot-spl.bin&lt;br /&gt;
* zImage&lt;br /&gt;
* sama5d31ek.dtb  &lt;br /&gt;
* sama5d33ek.dtb  &lt;br /&gt;
* sama5d34ek.dtb  &lt;br /&gt;
* sama5d35ek.dtb  &lt;br /&gt;
* sama5d36ek.dtb  &lt;br /&gt;
* rootfs.ubi  &lt;br /&gt;
* rootfs.ubifs    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Customizing Buildroot ====&lt;br /&gt;
===== AT91Bootstrap =====&lt;br /&gt;
 $ make at91bootstrap3-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== U-BOOT =====&lt;br /&gt;
 $ make uboot-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== Linux Kernel =====&lt;br /&gt;
 $ make linux-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== RootFs =====&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
==== Programming images ====&lt;br /&gt;
SAM-BA tool or PEEDI JTAG Flash Programmer can be used for programming the images into the NAND Flash.&amp;lt;br&amp;gt;&lt;br /&gt;
All images should be programmed with 8-bit ECC.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Image&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00000000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91bootstrap, programmed with header 0xc0304405&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00040000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT, third level bootloader &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00180000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| sama5d35ek.dtb&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Device tree for Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00200000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| zImage&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00F80000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rootfs.ubi&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Root file system&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Programming with SAM-BA 3.x =====&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a lowlevel&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash -c erase&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash -c writeboot:boot.bin&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:u-boot.bin:0x40000&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:sama5d35ek.dtb:0x180000&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:zImage:0x200000&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:rootfs.ubi:0xF80000&lt;br /&gt;
&lt;br /&gt;
More information about SAM-BA 3.x can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/Samba3Subsections&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=SAMA5D3X-CM&amp;diff=444</id>
		<title>SAMA5D3X-CM</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=SAMA5D3X-CM&amp;diff=444"/>
		<updated>2025-02-25T08:03:18Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Add &amp;quot;Programming with SAM-BA 3.x&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|SAMA5D3X-CM}}&lt;br /&gt;
{{#vardefine:CPU|ATSAMA5D3X}}&lt;br /&gt;
{{#vardefine:BRANCH|at91bootstrap-3.10.4_rnx}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_NAME|sama5d3x_cm_nf_uboot_defconfig}}&lt;br /&gt;
{{#vardefine:ARCH|arm}}&lt;br /&gt;
{{#vardefine:CROSS_COMPILE|/opt/cross/arm-ronetix-eabi-8.3.0/bin/arm-ronetix-eabi-}}&lt;br /&gt;
{{Summary SAM9 A5 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the Microchip (ATMEL) {{#var:CPU}} CPU with a CORTEX-A5 CPU running at 536MHz&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
|SAMA5D35-CM_top.png|&lt;br /&gt;
https://ronetix.at/product/sama5d3x-cm-cpu-module-with-atmel-sama5d3-series&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Information about at91bootstrap, U-BOOT, Linux can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/Sama5d3xekMainPage&lt;br /&gt;
&amp;lt;/p&amp;gt;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Building at91bootstrap - second level bootloader for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x&lt;br /&gt;
&lt;br /&gt;
==== Setup the cross-compiler and CPU architecture ====&lt;br /&gt;
 $ export ARCH={{#var:ARCH}}&lt;br /&gt;
 $ export CROSS_COMPILE={{#var:CROSS_COMPILE}}&lt;br /&gt;
&lt;br /&gt;
==== Clone the latest revision of the repo ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/at91bootstrap.git -b {{#var:BRANCH}}&lt;br /&gt;
 $ cd at91bootstrap&lt;br /&gt;
&lt;br /&gt;
==== Configure and build ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Alternative: Configure and build with GPIO test ====&lt;br /&gt;
This requires a special prepared Ronetix&#039;s carrier board with shorted pin pairs.&lt;br /&gt;
Used for production tests.&lt;br /&gt;
 $ make sama5d3x_cm_gpio_test_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| BIN image, should be programmed at address 0x0 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.elf&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Building Buildroot - a simple Linux System for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
The home page of Buildroot is: https://buildroot.org&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot for SAMA5D3x is maintained by Microchip: https://www.linux4sam.org/bin/view/Linux4SAM/BuildRoot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buildroot can build:&lt;br /&gt;
* at91bootstrap&lt;br /&gt;
* U-BOOT&lt;br /&gt;
* Linux Kernel&lt;br /&gt;
* A cross-compiler&lt;br /&gt;
* Root filesystems of different types&lt;br /&gt;
&lt;br /&gt;
====  Prerequisites ====&lt;br /&gt;
Host build system should be a Linux system with necessary software installed: http://buildroot.uclibc.org/downloads/manual/manual.html#requirement&amp;lt;br&amp;gt;&lt;br /&gt;
In addition to these required packages, you should also install libssl-dev:&lt;br /&gt;
 $ sudo apt-get install libssl1.0-dev&lt;br /&gt;
or, depending on your host distribution: &lt;br /&gt;
 $ sudo apt-get install libssl-dev&lt;br /&gt;
&lt;br /&gt;
==== Get sources ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/buildroot-mchp.git&lt;br /&gt;
 $ cd buildroot-mchp&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
 $ make atmel_sama5d3xek_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Once compilation is done, the images have been generated in: ./output/image:&amp;lt;br&amp;gt;&lt;br /&gt;
* at91bootstrap.bin  &lt;br /&gt;
* rootfs.tar  &lt;br /&gt;
* u-boot.bin&lt;br /&gt;
* u-boot-spl.bin&lt;br /&gt;
* zImage&lt;br /&gt;
* sama5d31ek.dtb  &lt;br /&gt;
* sama5d33ek.dtb  &lt;br /&gt;
* sama5d34ek.dtb  &lt;br /&gt;
* sama5d35ek.dtb  &lt;br /&gt;
* sama5d36ek.dtb  &lt;br /&gt;
* rootfs.ubi  &lt;br /&gt;
* rootfs.ubifs    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Customizing Buildroot ====&lt;br /&gt;
===== AT91Bootstrap =====&lt;br /&gt;
 $ make at91bootstrap3-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== U-BOOT =====&lt;br /&gt;
 $ make uboot-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== Linux Kernel =====&lt;br /&gt;
 $ make linux-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== RootFs =====&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
==== Programming images ====&lt;br /&gt;
SAM-BA tool or PEEDI JTAG Flash Programmer can be used for programming the images into the NAND Flash.&amp;lt;br&amp;gt;&lt;br /&gt;
All images should be programmed with 8-bit ECC.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Image&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00000000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91bootstrap, programmed with header 0xc0304405&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00040000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT, third level bootloader &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00180000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| sama5d35ek.dtb&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Device tree for Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00200000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| zImage&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00F80000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rootfs.ubi&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Root file system&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Programming with SAM-BA 3.x =====&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a lowlevel&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash -c erase&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash -c writeboot:boot.bin&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:u-boot.bin:0x40000&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:sama5d35ek.dtb:0x180000&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:zImage:0x200000&lt;br /&gt;
 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:rootfs.ubi:0xF80000&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=SAMA5D3X-CM&amp;diff=443</id>
		<title>SAMA5D3X-CM</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=SAMA5D3X-CM&amp;diff=443"/>
		<updated>2025-02-24T11:41:49Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Fix bootstrap header comment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|SAMA5D3X-CM}}&lt;br /&gt;
{{#vardefine:CPU|ATSAMA5D3X}}&lt;br /&gt;
{{#vardefine:BRANCH|at91bootstrap-3.10.4_rnx}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_NAME|sama5d3x_cm_nf_uboot_defconfig}}&lt;br /&gt;
{{#vardefine:ARCH|arm}}&lt;br /&gt;
{{#vardefine:CROSS_COMPILE|/opt/cross/arm-ronetix-eabi-8.3.0/bin/arm-ronetix-eabi-}}&lt;br /&gt;
{{Summary SAM9 A5 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the Microchip (ATMEL) {{#var:CPU}} CPU with a CORTEX-A5 CPU running at 536MHz&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
|SAMA5D35-CM_top.png|&lt;br /&gt;
https://ronetix.at/product/sama5d3x-cm-cpu-module-with-atmel-sama5d3-series&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Information about at91bootstrap, U-BOOT, Linux can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/Sama5d3xekMainPage&lt;br /&gt;
&amp;lt;/p&amp;gt;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Building at91bootstrap - second level bootloader for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x&lt;br /&gt;
&lt;br /&gt;
==== Setup the cross-compiler and CPU architecture ====&lt;br /&gt;
 $ export ARCH={{#var:ARCH}}&lt;br /&gt;
 $ export CROSS_COMPILE={{#var:CROSS_COMPILE}}&lt;br /&gt;
&lt;br /&gt;
==== Clone the latest revision of the repo ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/at91bootstrap.git -b {{#var:BRANCH}}&lt;br /&gt;
 $ cd at91bootstrap&lt;br /&gt;
&lt;br /&gt;
==== Configure and build ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Alternative: Configure and build with GPIO test ====&lt;br /&gt;
This requires a special prepared Ronetix&#039;s carrier board with shorted pin pairs.&lt;br /&gt;
Used for production tests.&lt;br /&gt;
 $ make sama5d3x_cm_gpio_test_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| BIN image, should be programmed at address 0x0 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.elf&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Building Buildroot - a simple Linux System for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
The home page of Buildroot is: https://buildroot.org&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot for SAMA5D3x is maintained by Microchip: https://www.linux4sam.org/bin/view/Linux4SAM/BuildRoot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buildroot can build:&lt;br /&gt;
* at91bootstrap&lt;br /&gt;
* U-BOOT&lt;br /&gt;
* Linux Kernel&lt;br /&gt;
* A cross-compiler&lt;br /&gt;
* Root filesystems of different types&lt;br /&gt;
&lt;br /&gt;
====  Prerequisites ====&lt;br /&gt;
Host build system should be a Linux system with necessary software installed: http://buildroot.uclibc.org/downloads/manual/manual.html#requirement&amp;lt;br&amp;gt;&lt;br /&gt;
In addition to these required packages, you should also install libssl-dev:&lt;br /&gt;
 $ sudo apt-get install libssl1.0-dev&lt;br /&gt;
or, depending on your host distribution: &lt;br /&gt;
 $ sudo apt-get install libssl-dev&lt;br /&gt;
&lt;br /&gt;
==== Get sources ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/buildroot-mchp.git&lt;br /&gt;
 $ cd buildroot-mchp&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
 $ make atmel_sama5d3xek_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Once compilation is done, the images have been generated in: ./output/image:&amp;lt;br&amp;gt;&lt;br /&gt;
* at91bootstrap.bin  &lt;br /&gt;
* rootfs.tar  &lt;br /&gt;
* u-boot.bin&lt;br /&gt;
* u-boot-spl.bin&lt;br /&gt;
* zImage&lt;br /&gt;
* sama5d31ek.dtb  &lt;br /&gt;
* sama5d33ek.dtb  &lt;br /&gt;
* sama5d34ek.dtb  &lt;br /&gt;
* sama5d35ek.dtb  &lt;br /&gt;
* sama5d36ek.dtb  &lt;br /&gt;
* rootfs.ubi  &lt;br /&gt;
* rootfs.ubifs    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Customizing Buildroot ====&lt;br /&gt;
===== AT91Bootstrap =====&lt;br /&gt;
 $ make at91bootstrap3-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== U-BOOT =====&lt;br /&gt;
 $ make uboot-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== Linux Kernel =====&lt;br /&gt;
 $ make linux-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== RootFs =====&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
==== NAND Boot: Programming images ====&lt;br /&gt;
SAM-BA tool or PEEDI JTAG Flash Programmer can be used for programming the images into the NAND Flash.&amp;lt;br&amp;gt;&lt;br /&gt;
All images should be programmed with 8-bit ECC.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Image&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00000000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91bootstrap, programmed with header 0xc0304405&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00040000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT, third level bootloader &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00180000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| sama5d35ek.dtb&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Device tree for Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00200000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| zImage&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00F80000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rootfs.ubi&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Root file system&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=SAMA5D3X-CM&amp;diff=442</id>
		<title>SAMA5D3X-CM</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=SAMA5D3X-CM&amp;diff=442"/>
		<updated>2025-02-24T11:40:27Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Change to Ronetix&amp;#039;s buildroot-mchp.git which uses PMECC 8-bits&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|SAMA5D3X-CM}}&lt;br /&gt;
{{#vardefine:CPU|ATSAMA5D3X}}&lt;br /&gt;
{{#vardefine:BRANCH|at91bootstrap-3.10.4_rnx}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_NAME|sama5d3x_cm_nf_uboot_defconfig}}&lt;br /&gt;
{{#vardefine:ARCH|arm}}&lt;br /&gt;
{{#vardefine:CROSS_COMPILE|/opt/cross/arm-ronetix-eabi-8.3.0/bin/arm-ronetix-eabi-}}&lt;br /&gt;
{{Summary SAM9 A5 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the Microchip (ATMEL) {{#var:CPU}} CPU with a CORTEX-A5 CPU running at 536MHz&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
|SAMA5D35-CM_top.png|&lt;br /&gt;
https://ronetix.at/product/sama5d3x-cm-cpu-module-with-atmel-sama5d3-series&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Information about at91bootstrap, U-BOOT, Linux can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/Sama5d3xekMainPage&lt;br /&gt;
&amp;lt;/p&amp;gt;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Building at91bootstrap - second level bootloader for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x&lt;br /&gt;
&lt;br /&gt;
==== Setup the cross-compiler and CPU architecture ====&lt;br /&gt;
 $ export ARCH={{#var:ARCH}}&lt;br /&gt;
 $ export CROSS_COMPILE={{#var:CROSS_COMPILE}}&lt;br /&gt;
&lt;br /&gt;
==== Clone the latest revision of the repo ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/at91bootstrap.git -b {{#var:BRANCH}}&lt;br /&gt;
 $ cd at91bootstrap&lt;br /&gt;
&lt;br /&gt;
==== Configure and build ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Alternative: Configure and build with GPIO test ====&lt;br /&gt;
This requires a special prepared Ronetix&#039;s carrier board with shorted pin pairs.&lt;br /&gt;
Used for production tests.&lt;br /&gt;
 $ make sama5d3x_cm_gpio_test_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| BIN image, should be programmed at address 0x0 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.elf&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Building Buildroot - a simple Linux System for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
The home page of Buildroot is: https://buildroot.org&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot for SAMA5D3x is maintained by Microchip: https://www.linux4sam.org/bin/view/Linux4SAM/BuildRoot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buildroot can build:&lt;br /&gt;
* at91bootstrap&lt;br /&gt;
* U-BOOT&lt;br /&gt;
* Linux Kernel&lt;br /&gt;
* A cross-compiler&lt;br /&gt;
* Root filesystems of different types&lt;br /&gt;
&lt;br /&gt;
====  Prerequisites ====&lt;br /&gt;
Host build system should be a Linux system with necessary software installed: http://buildroot.uclibc.org/downloads/manual/manual.html#requirement&amp;lt;br&amp;gt;&lt;br /&gt;
In addition to these required packages, you should also install libssl-dev:&lt;br /&gt;
 $ sudo apt-get install libssl1.0-dev&lt;br /&gt;
or, depending on your host distribution: &lt;br /&gt;
 $ sudo apt-get install libssl-dev&lt;br /&gt;
&lt;br /&gt;
==== Get sources ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/buildroot-mchp.git&lt;br /&gt;
 $ cd buildroot-mchp&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
 $ make atmel_sama5d3xek_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Once compilation is done, the images have been generated in: ./output/image:&amp;lt;br&amp;gt;&lt;br /&gt;
* at91bootstrap.bin  &lt;br /&gt;
* rootfs.tar  &lt;br /&gt;
* u-boot.bin&lt;br /&gt;
* u-boot-spl.bin&lt;br /&gt;
* zImage&lt;br /&gt;
* sama5d31ek.dtb  &lt;br /&gt;
* sama5d33ek.dtb  &lt;br /&gt;
* sama5d34ek.dtb  &lt;br /&gt;
* sama5d35ek.dtb  &lt;br /&gt;
* sama5d36ek.dtb  &lt;br /&gt;
* rootfs.ubi  &lt;br /&gt;
* rootfs.ubifs    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Customizing Buildroot ====&lt;br /&gt;
===== AT91Bootstrap =====&lt;br /&gt;
 $ make at91bootstrap3-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== U-BOOT =====&lt;br /&gt;
 $ make uboot-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== Linux Kernel =====&lt;br /&gt;
 $ make linux-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== RootFs =====&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
==== NAND Boot: Programming images ====&lt;br /&gt;
SAM-BA tool or PEEDI JTAG Flash Programmer can be used for programming the images into the NAND Flash.&amp;lt;br&amp;gt;&lt;br /&gt;
All images should be programmed with 8-bit ECC.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Image&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00000000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91bootstrap, programmed with header 0xc0902405&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00040000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT, third level bootloader &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00180000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| sama5d35ek.dtb&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Device tree for Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00200000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| zImage&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00F80000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rootfs.ubi&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Root file system&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=SAMA5D3X-CM&amp;diff=441</id>
		<title>SAMA5D3X-CM</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=SAMA5D3X-CM&amp;diff=441"/>
		<updated>2025-02-24T11:26:23Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Change GitHub path for at91bootstrap&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|SAMA5D3X-CM}}&lt;br /&gt;
{{#vardefine:CPU|ATSAMA5D3X}}&lt;br /&gt;
{{#vardefine:BRANCH|at91bootstrap-3.10.4_rnx}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_NAME|sama5d3x_cm_nf_uboot_defconfig}}&lt;br /&gt;
{{#vardefine:ARCH|arm}}&lt;br /&gt;
{{#vardefine:CROSS_COMPILE|/opt/cross/arm-ronetix-eabi-8.3.0/bin/arm-ronetix-eabi-}}&lt;br /&gt;
{{Summary SAM9 A5 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the Microchip (ATMEL) {{#var:CPU}} CPU with a CORTEX-A5 CPU running at 536MHz&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
|SAMA5D35-CM_top.png|&lt;br /&gt;
https://ronetix.at/product/sama5d3x-cm-cpu-module-with-atmel-sama5d3-series&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Information about at91bootstrap, U-BOOT, Linux can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/Sama5d3xekMainPage&lt;br /&gt;
&amp;lt;/p&amp;gt;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Building at91bootstrap - second level bootloader for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x&lt;br /&gt;
&lt;br /&gt;
==== Setup the cross-compiler and CPU architecture ====&lt;br /&gt;
 $ export ARCH={{#var:ARCH}}&lt;br /&gt;
 $ export CROSS_COMPILE={{#var:CROSS_COMPILE}}&lt;br /&gt;
&lt;br /&gt;
==== Clone the latest revision of the repo ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/at91bootstrap.git -b {{#var:BRANCH}}&lt;br /&gt;
 $ cd at91bootstrap&lt;br /&gt;
&lt;br /&gt;
==== Configure and build ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Alternative: Configure and build with GPIO test ====&lt;br /&gt;
This requires a special prepared Ronetix&#039;s carrier board with shorted pin pairs.&lt;br /&gt;
Used for production tests.&lt;br /&gt;
 $ make sama5d3x_cm_gpio_test_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| BIN image, should be programmed at address 0x0 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.elf&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Building Buildroot - a simple Linux System for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
The home page of Buildroot is: https://buildroot.org&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot for SAMA5D3x is maintained by Microchip: https://www.linux4sam.org/bin/view/Linux4SAM/BuildRoot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buildroot can build:&lt;br /&gt;
* at91bootstrap&lt;br /&gt;
* u-boot-at91&lt;br /&gt;
* linux-at91&lt;br /&gt;
* A cross-compiler&lt;br /&gt;
* Root filesystems of different types&lt;br /&gt;
&lt;br /&gt;
====  Prerequisites ====&lt;br /&gt;
Host build system should be a Linux system with necessary software installed: http://buildroot.uclibc.org/downloads/manual/manual.html#requirement&amp;lt;br&amp;gt;&lt;br /&gt;
In addition to these required packages, you should also install libssl-dev:&lt;br /&gt;
 $ sudo apt-get install libssl1.0-dev&lt;br /&gt;
or, depending on your host distribution: &lt;br /&gt;
 $ sudo apt-get install libssl-dev&lt;br /&gt;
&lt;br /&gt;
==== Get sources ====&lt;br /&gt;
 $ git clone https://github.com/linux4sam/buildroot-at91.git&lt;br /&gt;
 $ git clone https://github.com/linux4microchip/buildroot-external-microchip.git&lt;br /&gt;
&lt;br /&gt;
 $ cd buildroot-external-microchip/&lt;br /&gt;
 $ git checkout linux4microchip-2022.10 -b buildroot-external-microchip-linux4microchip-2022.10&lt;br /&gt;
&lt;br /&gt;
 $ cd ../buildroot-at91/&lt;br /&gt;
 $ git checkout linux4sam-2022.10 -b buildroot-at91-linux4sam-2022.10&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
 $ make atmel_sama5d3xek_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Once compilation is done, the images have been generated in: ./output/image:&amp;lt;br&amp;gt;&lt;br /&gt;
* at91bootstrap.bin  &lt;br /&gt;
* rootfs.tar  &lt;br /&gt;
* u-boot.bin&lt;br /&gt;
* u-boot-spl.bin&lt;br /&gt;
* zImage&lt;br /&gt;
* sama5d31ek.dtb  &lt;br /&gt;
* sama5d33ek.dtb  &lt;br /&gt;
* sama5d34ek.dtb  &lt;br /&gt;
* sama5d35ek.dtb  &lt;br /&gt;
* sama5d36ek.dtb  &lt;br /&gt;
* rootfs.ubi  &lt;br /&gt;
* rootfs.ubifs    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Customizing Buildroot ====&lt;br /&gt;
===== AT91Bootstrap =====&lt;br /&gt;
 $ BR2_EXTERNAL=../buildroot-external-microchip/ at91bootstrap3-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== U-BOOT =====&lt;br /&gt;
 $ BR2_EXTERNAL=../buildroot-external-microchip/ make uboot-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== Linux Kernel =====&lt;br /&gt;
 $ BR2_EXTERNAL=../buildroot-external-microchip/ make linux-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== RootFs =====&lt;br /&gt;
 $ BR2_EXTERNAL=../buildroot-external-microchip/ make menuconfig&lt;br /&gt;
&lt;br /&gt;
==== NAND Boot: Programming images ====&lt;br /&gt;
SAM-BA tool or PEEDI JTAG Flash Programmer can be used for programming the images into the NAND Flash.&amp;lt;br&amp;gt;&lt;br /&gt;
All images should be programmed with 4-bit ECC.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Image&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00000000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91bootstrap, programmed with header 0xc0902405&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00040000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT, third level bootloader &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00180000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| sama5d35ek.dtb&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Device tree for Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00200000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| zImage&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00F80000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rootfs.ubi&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Root file system&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=PM9G45&amp;diff=440</id>
		<title>PM9G45</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=PM9G45&amp;diff=440"/>
		<updated>2025-01-07T14:17:06Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Update paragraph style&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|PM9G45}}&lt;br /&gt;
{{#vardefine:CPU|AT91SAM9G45}}&lt;br /&gt;
{{#vardefine:BRANCH|at91bootstrap-3.10.4_rnx}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_UBOOT_NAME|pm9g45_nf_uboot_defconfig}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_LINUX_NAME|pm9g45_nf_linux_defconfig}}&lt;br /&gt;
{{#vardefine:ARCH|arm}}&lt;br /&gt;
{{#vardefine:CROSS_COMPILE|~/bin/arm-ronetix-eabi-11.1.0/bin/arm-ronetix-eabi-}}&lt;br /&gt;
{{Summary SAM9 A5 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the Microchip (ATMEL) {{#var:CPU}} CPU with an ARM926EJ CPU running at 400MHz&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
|PM9G45-top.png|&lt;br /&gt;
https://ronetix.at/product/pm9g45-cpu-module-with-atmel-at91sam9g45&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Information about at91bootstrap, U-BOOT, Linux can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/GettingStarted#Getting_Started_SAM9&lt;br /&gt;
&amp;lt;/p&amp;gt;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Building at91bootstrap - second level bootloader for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x&lt;br /&gt;
&lt;br /&gt;
==== Install and setup the cross-compiler and CPU architecture ====&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ mkdir bin&lt;br /&gt;
 $ wget http://download.ronetix.at/toolchains/crosstool-ng/arm-ronetix-eabi-11.1.0.tar.gz&lt;br /&gt;
 $ tar xvfz arm-ronetix-eabi-11.1.0.tar.gz --directory bin&lt;br /&gt;
 $ export ARCH={{#var:ARCH}}&lt;br /&gt;
 $ export CROSS_COMPILE={{#var:CROSS_COMPILE}}&lt;br /&gt;
&lt;br /&gt;
==== Clone the latest revision of the repo ====&lt;br /&gt;
 $ git clone git@github.com:ronetix/at91bootstrap.git -b {{#var:BRANCH}}&lt;br /&gt;
 $ cd at91bootstrap&lt;br /&gt;
&lt;br /&gt;
==== Configure and build for booting of U-BOOT ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_UBOOT_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Configure and build for booting of Linux Kernel ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_LINUX_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| BIN image, should be programmed at address 0x0 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.elf&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Building Buildroot - a simple Linux System for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
The home page of Buildroot is: https://buildroot.org&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot for AT91SAM9G45 is maintained by Microchip: https://github.com/linux4microchip/buildroot-mchp&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buildroot can build:&lt;br /&gt;
* at91bootstrap&lt;br /&gt;
* U-Boot&lt;br /&gt;
* Linux kernel&lt;br /&gt;
* A cross-compiler&lt;br /&gt;
* Root filesystems of different types&lt;br /&gt;
&lt;br /&gt;
====  Prerequisites ====&lt;br /&gt;
Host build system should be a Linux system with necessary software installed: http://buildroot.uclibc.org/downloads/manual/manual.html#requirement&amp;lt;br&amp;gt;&lt;br /&gt;
In addition to these required packages, you should also install libssl-dev:&lt;br /&gt;
 $ sudo apt-get install libssl1.0-dev&lt;br /&gt;
or, depending on your host distribution: &lt;br /&gt;
 $ sudo apt-get install libssl-dev&lt;br /&gt;
&lt;br /&gt;
==== Get sources ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/buildroot-mchp.git&lt;br /&gt;
&lt;br /&gt;
 $ cd buildroot-mchp&lt;br /&gt;
 $ git checkout buildroot-at91-linux4microchip-2024.10 -b buildroot-at91-linux4microchip-2024.10&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
 $ make pm9g45_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Build Results ====&lt;br /&gt;
Once compilation is done, the images have been generated in: ./output/image:&amp;lt;br&amp;gt;&lt;br /&gt;
* at91bootstrap.bin  &lt;br /&gt;
* rootfs.tar  &lt;br /&gt;
* u-boot.bin&lt;br /&gt;
* zImage&lt;br /&gt;
* pm9g45.dtb  &lt;br /&gt;
* rootfs.ubi  &lt;br /&gt;
* rootfs.ubifs    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Customizing Buildroot ====&lt;br /&gt;
===== AT91Bootstrap =====&lt;br /&gt;
 $ make at91bootstrap3-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== U-BOOT =====&lt;br /&gt;
 $ make uboot-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== Linux Kernel =====&lt;br /&gt;
 $ make linux-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== RootFs =====&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
==== NAND Boot: Programming images ====&lt;br /&gt;
SAM-BA tool or PEEDI JTAG Flash Programmer can be used for programming the images into the NAND Flash.&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Image&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00000000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91bootstrap&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00020000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT, third level bootloader &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00180000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| pm9g45.dtb&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Device tree for Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00200000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| zImage&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00800000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rootfs.ubi&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Root file system&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=PM9G45&amp;diff=439</id>
		<title>PM9G45</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=PM9G45&amp;diff=439"/>
		<updated>2025-01-07T08:49:16Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Add &amp;quot;Building Buildroot&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|PM9G45}}&lt;br /&gt;
{{#vardefine:CPU|AT91SAM9G45}}&lt;br /&gt;
{{#vardefine:BRANCH|at91bootstrap-3.10.4_rnx}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_UBOOT_NAME|pm9g45_nf_uboot_defconfig}}&lt;br /&gt;
{{#vardefine:DEFCONFIG_LINUX_NAME|pm9g45_nf_linux_defconfig}}&lt;br /&gt;
{{#vardefine:ARCH|arm}}&lt;br /&gt;
{{#vardefine:CROSS_COMPILE|~/bin/arm-ronetix-eabi-11.1.0/bin/arm-ronetix-eabi-}}&lt;br /&gt;
{{Summary SAM9 A5 | {{#var:HARDWARE_NAME}} |&lt;br /&gt;
{{#var:HARDWARE_NAME}} is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
{{#var:HARDWARE_NAME}} is using the Microchip (ATMEL) {{#var:CPU}} CPU with an ARM926EJ CPU running at 400MHz&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
|PM9G45-top.png|&lt;br /&gt;
https://ronetix.at/product/pm9g45-cpu-module-with-atmel-at91sam9g45&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Information about at91bootstrap, U-BOOT, Linux can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.linux4sam.org/bin/view/Linux4SAM/GettingStarted#Getting_Started_SAM9&lt;br /&gt;
&amp;lt;/p&amp;gt;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Building at91bootstrap - second level bootloader for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x&lt;br /&gt;
&lt;br /&gt;
==== Install and setup the cross-compiler and CPU architecture ====&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ mkdir bin&lt;br /&gt;
 $ wget http://download.ronetix.at/toolchains/crosstool-ng/arm-ronetix-eabi-11.1.0.tar.gz&lt;br /&gt;
 $ tar xvfz arm-ronetix-eabi-11.1.0.tar.gz --directory bin&lt;br /&gt;
 $ export ARCH={{#var:ARCH}}&lt;br /&gt;
 $ export CROSS_COMPILE={{#var:CROSS_COMPILE}}&lt;br /&gt;
&lt;br /&gt;
==== Clone the latest revision of the repo ====&lt;br /&gt;
 $ git clone git@github.com:ronetix/at91bootstrap.git -b {{#var:BRANCH}}&lt;br /&gt;
 $ cd at91bootstrap&lt;br /&gt;
&lt;br /&gt;
==== Configure and build for booting of U-BOOT ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_UBOOT_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
==== Configure and build for booting of Linux Kernel ====&lt;br /&gt;
 $ make {{#var:DEFCONFIG_LINUX_NAME}}&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
= Build Results =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | File Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| BIN image, should be programmed at address 0x0 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| binaries/at91bootstrap.elf&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| ELF image used for JTAG debugging&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Building Buildroot - a simple Linux System for {{#var:HARDWARE_NAME}} =&lt;br /&gt;
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
The home page of Buildroot is: https://buildroot.org&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html&amp;lt;br&amp;gt;&lt;br /&gt;
The Buildroot for AT91SAM9G45 is maintained by Microchip: https://github.com/linux4microchip/buildroot-mchp&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buildroot can build:&lt;br /&gt;
* at91bootstrap&lt;br /&gt;
* U-Boot&lt;br /&gt;
* Linux kernel&lt;br /&gt;
* A cross-compiler&lt;br /&gt;
* Root filesystems of different types&lt;br /&gt;
&lt;br /&gt;
====  Prerequisites ====&lt;br /&gt;
Host build system should be a Linux system with necessary software installed: http://buildroot.uclibc.org/downloads/manual/manual.html#requirement&amp;lt;br&amp;gt;&lt;br /&gt;
In addition to these required packages, you should also install libssl-dev:&lt;br /&gt;
 $ sudo apt-get install libssl1.0-dev&lt;br /&gt;
or, depending on your host distribution: &lt;br /&gt;
 $ sudo apt-get install libssl-dev&lt;br /&gt;
&lt;br /&gt;
==== Get sources ====&lt;br /&gt;
 $ git clone https://github.com/ronetix/buildroot-mchp.git&lt;br /&gt;
&lt;br /&gt;
 $ cd buildroot-mchp&lt;br /&gt;
 $ git checkout buildroot-at91-linux4microchip-2024.10 -b buildroot-at91-linux4microchip-2024.10&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
 $ make pm9g45_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Once compilation is done, the images have been generated in: ./output/image:&amp;lt;br&amp;gt;&lt;br /&gt;
* at91bootstrap.bin  &lt;br /&gt;
* rootfs.tar  &lt;br /&gt;
* u-boot.bin&lt;br /&gt;
* zImage&lt;br /&gt;
* pm9g45.dtb  &lt;br /&gt;
* rootfs.ubi  &lt;br /&gt;
* rootfs.ubifs    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Customizing Buildroot ====&lt;br /&gt;
===== AT91Bootstrap =====&lt;br /&gt;
 $ make at91bootstrap3-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== U-BOOT =====&lt;br /&gt;
 $ make uboot-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== Linux Kernel =====&lt;br /&gt;
 $ make linux-menuconfig&lt;br /&gt;
&lt;br /&gt;
===== RootFs =====&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
==== NAND Boot: Programming images ====&lt;br /&gt;
SAM-BA tool or PEEDI JTAG Flash Programmer can be used for programming the images into the NAND Flash.&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Image&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00000000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| at91bootstrap&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00020000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| u-boot.bin&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| U-BOOT, third level bootloader &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00180000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| pm9g45.dtb&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Device tree for Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00200000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| zImage&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Linux Kernel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0x00800000&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rootfs.ubi&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Root file system&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-iMX93-OSM_Yocto_Linux&amp;diff=438</id>
		<title>RNX-iMX93-OSM Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-iMX93-OSM_Yocto_Linux&amp;diff=438"/>
		<updated>2024-08-28T09:39:45Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Remove the note about CSU resets because a workaround was implemented in U-BOOT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-iMX93-OSM}}&lt;br /&gt;
{{#vardefine:MACHINE_NAME|rnx-imx93-osm}}&lt;br /&gt;
{{#vardefine:YOCTO_NAME|micledore}}&lt;br /&gt;
{{#vardefine:KERNEL_VER|6.1.55}}&lt;br /&gt;
{{#vardefine:UBOOT_VER|v2023.04}}&lt;br /&gt;
[[File:RNX-iMX93-OSM_top.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Yocto {{#var:YOCTO_NAME}}&lt;br /&gt;
| {{#var:KERNEL_VER}}&lt;br /&gt;
| {{#var:UBOOT_VER}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
== Setting Boot mode ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Boot mode setting on carrier board&lt;br /&gt;
|-&lt;br /&gt;
! BOOT !! J31:1-2 !! J31:3-4 !! J31:5-6 !! J31:7-8&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55 Serial Downloader || close || open || open || open&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55, eMMC || open || close || open || open&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Terminal Setup ==&lt;br /&gt;
The carrier board connects the host PC using the micro-B USB connector (J3).&amp;lt;br&amp;gt;&lt;br /&gt;
Common serial communication programs such as Minicom, HyperTerminal, Tera Term, or PuTTY can be used.&amp;lt;br&amp;gt; &lt;br /&gt;
The {{#var:HARDWARE_NAME}} board uses the second port for the Arm Cortex-A cores console.&lt;br /&gt;
&lt;br /&gt;
== Installing required packages ==&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 20.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \&lt;br /&gt;
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \&lt;br /&gt;
xz-utils debianutils iputils-ping libsdl1.2-dev xterm python-is-python3 lz4&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git-doc \&lt;br /&gt;
sed cvs subversion coreutils texi2html docbook-utils \&lt;br /&gt;
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \&lt;br /&gt;
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \&lt;br /&gt;
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bmap-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
== Download Yocto based on Freescale Community BSP ==&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/bin &lt;br /&gt;
 $ curl &amp;lt;nowiki&amp;gt;http://commondatastorage.googleapis.com/git-repo-downloads/repo &amp;gt; ~/bin/repo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ chmod a+x ~/bin/repo&lt;br /&gt;
 $ export PATH=~/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-ronetix&lt;br /&gt;
 $ cd ~/yocto-ronetix&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Yocto repository&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ repo init -u https://github.com/ronetix/imx-manifest -b imx-linux-mickledore -m imx-6.1.55-2.2.0.xml&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&lt;br /&gt;
== Setup and build Yocto ==&lt;br /&gt;
* Setup first time:&lt;br /&gt;
 $ MACHINE={{#var:MACHINE_NAME}} DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* or setup if already configured:&lt;br /&gt;
 $ source setup-environment build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
 $ bitbake imx-image-core&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If the Ubuntu Terminal is crashed without any notification, see here: [[FAQ - Frequently Asked Questions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Build Results ===&lt;br /&gt;
The resulted images are located in tmp/deploy/images/{{#var:MACHINE_NAME}}.&lt;br /&gt;
&lt;br /&gt;
=== Booting Linux ===&lt;br /&gt;
This section describes how to copy the images (U-Boot, Linux kernel, device tree, and&lt;br /&gt;
rootfs) to the eMMC device on the module.&lt;br /&gt;
&lt;br /&gt;
==== Universal update utility ====&lt;br /&gt;
The Universal Update Utility (UUU) runs on a Windows or Linux OS host and is used to download images to devices on an i.MX board.&lt;br /&gt;
&lt;br /&gt;
===== Downloading UUU =====&lt;br /&gt;
Download UUU version 1.5.21 or later from https://github.com/nxp-imx/mfgtools/releases&lt;br /&gt;
&lt;br /&gt;
===== Write the WIC image into eMMC =====&lt;br /&gt;
Follow the instructions below:&lt;br /&gt;
* Connect a USB cable from a computer to the J9, port USB-A (Micro-AB) port on the carrier board for download link.&lt;br /&gt;
* Connect a USB cable from J3, port UART-DBG (Micro-AB) port to the computer for console output.&lt;br /&gt;
* Open a Terminal emulator program&lt;br /&gt;
* Set the boot mode to &amp;quot;Cortex-A55 Serial Downloader&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
&lt;br /&gt;
  $ cd tmp/deploy/images/{{#var:MACHINE_NAME}}&lt;br /&gt;
  $ uuu -b emmc_all imx-boot-{{#var:MACHINE_NAME}}-sd.bin-flash_singleboot imx-image-core-{{#var:MACHINE_NAME}}.wic.zst&lt;br /&gt;
&lt;br /&gt;
==== Boot Linux ====&lt;br /&gt;
* set the boot mode to &amp;quot;Cortex-A55, eMMC&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
* reset the board&lt;br /&gt;
&lt;br /&gt;
== WiFi Setup ==&lt;br /&gt;
Scan for wireless networks: &lt;br /&gt;
  $ ifconfig wlan0 up&lt;br /&gt;
  $ iw dev wlan0 scan | grep SSID&lt;br /&gt;
&lt;br /&gt;
Connecting to an Access Point:&lt;br /&gt;
  $ wpa_passphrase &amp;lt;YourAP&amp;gt; &amp;lt;YourPassword&amp;gt; &amp;gt; /etc/wpa_supplicant.conf&lt;br /&gt;
  $ wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
wait for:&lt;br /&gt;
  $ wlcore: Association completed.&lt;br /&gt;
&lt;br /&gt;
Get an IP via DHCP:&lt;br /&gt;
  $ udhcpc -i wlan0&lt;br /&gt;
  $ ifconfig&lt;br /&gt;
&lt;br /&gt;
== Audio Test ==&lt;br /&gt;
List all sound cards:&lt;br /&gt;
  $ aplay -L &lt;br /&gt;
&lt;br /&gt;
Play a file:&lt;br /&gt;
  $ aplay -D &amp;quot;sysdefault:CARD=wm8962audio&amp;quot; test.wav&lt;br /&gt;
&lt;br /&gt;
List all sound controls:&lt;br /&gt;
  $ amixer controls&lt;br /&gt;
&lt;br /&gt;
Set Speaker Playback volume to max:&lt;br /&gt;
  $ amixer cset numid=13 127&lt;br /&gt;
&lt;br /&gt;
== Camera Test ==&lt;br /&gt;
Connect an OV5640 camera (PCAM 5C) to J21 on the carrier board.&amp;lt;br&amp;gt;&lt;br /&gt;
List capture media devices:&lt;br /&gt;
 $ v4l2-ctl --list-devices&lt;br /&gt;
 FSL Capture Media Device (platform:42800000.bus:camera):                                                         &lt;br /&gt;
        /dev/media0                                                                                              &lt;br /&gt;
                                                                                                                 &lt;br /&gt;
 mxc-isi-cap (platform:4ae40000.isi:cap_devic):                                                                   &lt;br /&gt;
        /dev/video0 &lt;br /&gt;
&lt;br /&gt;
Take a single photo:&lt;br /&gt;
 $ gst-launch-1.0 v4l2src num-buffers=1 ! &amp;quot;video/x-raw,width=640,height=480&amp;quot; ! jpegenc ! filesink location=test.jpg&lt;br /&gt;
 Setting pipeline to PAUSED ...                                                                                   &lt;br /&gt;
 Pipeline is live and does not need PREROLL ...                                                                   &lt;br /&gt;
 Pipeline is PREROLLED ...                                                                                        &lt;br /&gt;
 Setting pipeline to PLAYING ...                                                                                  &lt;br /&gt;
 New clock: GstSystemClock                                                                                        &lt;br /&gt;
 [  877.427496] mxc-mipi-csi2.0: format: 0x2008                                                                   &lt;br /&gt;
 [  877.436706] bypass csc                                                                                        &lt;br /&gt;
 [  877.439078] input fmt YUV4                                                                                    &lt;br /&gt;
 [  877.441775] output fmt YUYV                                                                                   &lt;br /&gt;
 [  877.553965] dwc-mipi-csi2-host 4ae00000.csi: enter enable=1                                                   &lt;br /&gt;
 Redistribute latency...                                                                                          &lt;br /&gt;
 Got EOS from element &amp;quot;pipeline0&amp;quot;.                                                                                &lt;br /&gt;
 Execution ended after 0:00:02.375455667                                                                          &lt;br /&gt;
 Setting pipeline to NULL ...                                                                                     &lt;br /&gt;
 [  879.341902] dwc-mipi-csi2-host 4ae00000.csi: enter enable=0                                                   &lt;br /&gt;
 Freeing pipeline ...      &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Yocto Linux | Yocto Linux]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Linux|Building Linux Kernel]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} U-Boot|Building U-Boot]]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-iMX93-OSM_Yocto_Linux&amp;diff=437</id>
		<title>RNX-iMX93-OSM Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-iMX93-OSM_Yocto_Linux&amp;diff=437"/>
		<updated>2024-08-12T14:31:38Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Add note about CPU revision&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-iMX93-OSM}}&lt;br /&gt;
{{#vardefine:MACHINE_NAME|rnx-imx93-osm}}&lt;br /&gt;
{{#vardefine:YOCTO_NAME|micledore}}&lt;br /&gt;
{{#vardefine:KERNEL_VER|6.1.55}}&lt;br /&gt;
{{#vardefine:UBOOT_VER|v2023.04}}&lt;br /&gt;
[[File:RNX-iMX93-OSM_top.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Important Note ==&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
The CPU modules currently available are equipped with the NXP i.MX93 Revision A0 CPU.&amp;lt;br&amp;gt;&lt;br /&gt;
Revision A0 has a bug, which causes unexpected reboots, the u-boot shows &amp;quot;Reset cause: CSU (0x200)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Unfortunately, there is no workaround. &amp;lt;br&amp;gt;&lt;br /&gt;
The bug will be fixed in the next Revision A1. &lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Yocto {{#var:YOCTO_NAME}}&lt;br /&gt;
| {{#var:KERNEL_VER}}&lt;br /&gt;
| {{#var:UBOOT_VER}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
== Setting Boot mode ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Boot mode setting on carrier board&lt;br /&gt;
|-&lt;br /&gt;
! BOOT !! J31:1-2 !! J31:3-4 !! J31:5-6 !! J31:7-8&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55 Serial Downloader || close || open || open || open&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55, eMMC || open || close || open || open&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Terminal Setup ==&lt;br /&gt;
The carrier board connects the host PC using the micro-B USB connector (J3).&amp;lt;br&amp;gt;&lt;br /&gt;
Common serial communication programs such as Minicom, HyperTerminal, Tera Term, or PuTTY can be used.&amp;lt;br&amp;gt; &lt;br /&gt;
The {{#var:HARDWARE_NAME}} board uses the second port for the Arm Cortex-A cores console.&lt;br /&gt;
&lt;br /&gt;
== Installing required packages ==&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 20.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \&lt;br /&gt;
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \&lt;br /&gt;
xz-utils debianutils iputils-ping libsdl1.2-dev xterm python-is-python3 lz4&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git-doc \&lt;br /&gt;
sed cvs subversion coreutils texi2html docbook-utils \&lt;br /&gt;
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \&lt;br /&gt;
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \&lt;br /&gt;
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bmap-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
== Download Yocto based on Freescale Community BSP ==&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/bin &lt;br /&gt;
 $ curl &amp;lt;nowiki&amp;gt;http://commondatastorage.googleapis.com/git-repo-downloads/repo &amp;gt; ~/bin/repo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ chmod a+x ~/bin/repo&lt;br /&gt;
 $ export PATH=~/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-ronetix&lt;br /&gt;
 $ cd ~/yocto-ronetix&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Yocto repository&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ repo init -u https://github.com/ronetix/imx-manifest -b imx-linux-mickledore -m imx-6.1.55-2.2.0.xml&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&lt;br /&gt;
== Setup and build Yocto ==&lt;br /&gt;
* Setup first time:&lt;br /&gt;
 $ MACHINE={{#var:MACHINE_NAME}} DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* or setup if already configured:&lt;br /&gt;
 $ source setup-environment build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
 $ bitbake imx-image-core&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If the Ubuntu Terminal is crashed without any notification, see here: [[FAQ - Frequently Asked Questions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Build Results ===&lt;br /&gt;
The resulted images are located in tmp/deploy/images/{{#var:MACHINE_NAME}}.&lt;br /&gt;
&lt;br /&gt;
=== Booting Linux ===&lt;br /&gt;
This section describes how to copy the images (U-Boot, Linux kernel, device tree, and&lt;br /&gt;
rootfs) to the eMMC device on the module.&lt;br /&gt;
&lt;br /&gt;
==== Universal update utility ====&lt;br /&gt;
The Universal Update Utility (UUU) runs on a Windows or Linux OS host and is used to download images to devices on an i.MX board.&lt;br /&gt;
&lt;br /&gt;
===== Downloading UUU =====&lt;br /&gt;
Download UUU version 1.5.21 or later from https://github.com/nxp-imx/mfgtools/releases&lt;br /&gt;
&lt;br /&gt;
===== Write the WIC image into eMMC =====&lt;br /&gt;
Follow the instructions below:&lt;br /&gt;
* Connect a USB cable from a computer to the J9, port USB-A (Micro-AB) port on the carrier board for download link.&lt;br /&gt;
* Connect a USB cable from J3, port UART-DBG (Micro-AB) port to the computer for console output.&lt;br /&gt;
* Open a Terminal emulator program&lt;br /&gt;
* Set the boot mode to &amp;quot;Cortex-A55 Serial Downloader&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
&lt;br /&gt;
  $ cd tmp/deploy/images/{{#var:MACHINE_NAME}}&lt;br /&gt;
  $ uuu -b emmc_all imx-boot-{{#var:MACHINE_NAME}}-sd.bin-flash_singleboot imx-image-core-{{#var:MACHINE_NAME}}.wic.zst&lt;br /&gt;
&lt;br /&gt;
==== Boot Linux ====&lt;br /&gt;
* set the boot mode to &amp;quot;Cortex-A55, eMMC&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
* reset the board&lt;br /&gt;
&lt;br /&gt;
== WiFi Setup ==&lt;br /&gt;
Scan for wireless networks: &lt;br /&gt;
  $ ifconfig wlan0 up&lt;br /&gt;
  $ iw dev wlan0 scan | grep SSID&lt;br /&gt;
&lt;br /&gt;
Connecting to an Access Point:&lt;br /&gt;
  $ wpa_passphrase &amp;lt;YourAP&amp;gt; &amp;lt;YourPassword&amp;gt; &amp;gt; /etc/wpa_supplicant.conf&lt;br /&gt;
  $ wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
wait for:&lt;br /&gt;
  $ wlcore: Association completed.&lt;br /&gt;
&lt;br /&gt;
Get an IP via DHCP:&lt;br /&gt;
  $ udhcpc -i wlan0&lt;br /&gt;
  $ ifconfig&lt;br /&gt;
&lt;br /&gt;
== Audio Test ==&lt;br /&gt;
List all sound cards:&lt;br /&gt;
  $ aplay -L &lt;br /&gt;
&lt;br /&gt;
Play a file:&lt;br /&gt;
  $ aplay -D &amp;quot;sysdefault:CARD=wm8962audio&amp;quot; test.wav&lt;br /&gt;
&lt;br /&gt;
List all sound controls:&lt;br /&gt;
  $ amixer controls&lt;br /&gt;
&lt;br /&gt;
Set Speaker Playback volume to max:&lt;br /&gt;
  $ amixer cset numid=13 127&lt;br /&gt;
&lt;br /&gt;
== Camera Test ==&lt;br /&gt;
Connect an OV5640 camera (PCAM 5C) to J21 on the carrier board.&amp;lt;br&amp;gt;&lt;br /&gt;
List capture media devices:&lt;br /&gt;
 $ v4l2-ctl --list-devices&lt;br /&gt;
 FSL Capture Media Device (platform:42800000.bus:camera):                                                         &lt;br /&gt;
        /dev/media0                                                                                              &lt;br /&gt;
                                                                                                                 &lt;br /&gt;
 mxc-isi-cap (platform:4ae40000.isi:cap_devic):                                                                   &lt;br /&gt;
        /dev/video0 &lt;br /&gt;
&lt;br /&gt;
Take a single photo:&lt;br /&gt;
 $ gst-launch-1.0 v4l2src num-buffers=1 ! &amp;quot;video/x-raw,width=640,height=480&amp;quot; ! jpegenc ! filesink location=test.jpg&lt;br /&gt;
 Setting pipeline to PAUSED ...                                                                                   &lt;br /&gt;
 Pipeline is live and does not need PREROLL ...                                                                   &lt;br /&gt;
 Pipeline is PREROLLED ...                                                                                        &lt;br /&gt;
 Setting pipeline to PLAYING ...                                                                                  &lt;br /&gt;
 New clock: GstSystemClock                                                                                        &lt;br /&gt;
 [  877.427496] mxc-mipi-csi2.0: format: 0x2008                                                                   &lt;br /&gt;
 [  877.436706] bypass csc                                                                                        &lt;br /&gt;
 [  877.439078] input fmt YUV4                                                                                    &lt;br /&gt;
 [  877.441775] output fmt YUYV                                                                                   &lt;br /&gt;
 [  877.553965] dwc-mipi-csi2-host 4ae00000.csi: enter enable=1                                                   &lt;br /&gt;
 Redistribute latency...                                                                                          &lt;br /&gt;
 Got EOS from element &amp;quot;pipeline0&amp;quot;.                                                                                &lt;br /&gt;
 Execution ended after 0:00:02.375455667                                                                          &lt;br /&gt;
 Setting pipeline to NULL ...                                                                                     &lt;br /&gt;
 [  879.341902] dwc-mipi-csi2-host 4ae00000.csi: enter enable=0                                                   &lt;br /&gt;
 Freeing pipeline ...      &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Yocto Linux | Yocto Linux]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Linux|Building Linux Kernel]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} U-Boot|Building U-Boot]]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-iMX93-OSM_Yocto_Linux&amp;diff=436</id>
		<title>RNX-iMX93-OSM Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-iMX93-OSM_Yocto_Linux&amp;diff=436"/>
		<updated>2024-08-12T14:28:45Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Camera test: change image format to 640x480&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-iMX93-OSM}}&lt;br /&gt;
{{#vardefine:MACHINE_NAME|rnx-imx93-osm}}&lt;br /&gt;
{{#vardefine:YOCTO_NAME|micledore}}&lt;br /&gt;
{{#vardefine:KERNEL_VER|6.1.55}}&lt;br /&gt;
{{#vardefine:UBOOT_VER|v2023.04}}&lt;br /&gt;
[[File:RNX-iMX93-OSM_top.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Important Note ==&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
The current available CPU Modules are assembled with CPU NXP i.MX93 Revision A0. &amp;lt;br&amp;gt;&lt;br /&gt;
Revision A0 has a bug, which causes unexpected reboots, the u-boot shows &amp;quot;Reset cause: CSU (0x200)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Unfortunately, there is no workaround. &amp;lt;br&amp;gt;&lt;br /&gt;
The bug will be fixed in the next Revision A1. &lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Yocto {{#var:YOCTO_NAME}}&lt;br /&gt;
| {{#var:KERNEL_VER}}&lt;br /&gt;
| {{#var:UBOOT_VER}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
== Setting Boot mode ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Boot mode setting on carrier board&lt;br /&gt;
|-&lt;br /&gt;
! BOOT !! J31:1-2 !! J31:3-4 !! J31:5-6 !! J31:7-8&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55 Serial Downloader || close || open || open || open&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55, eMMC || open || close || open || open&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Terminal Setup ==&lt;br /&gt;
The carrier board connects the host PC using the micro-B USB connector (J3).&amp;lt;br&amp;gt;&lt;br /&gt;
Common serial communication programs such as Minicom, HyperTerminal, Tera Term, or PuTTY can be used.&amp;lt;br&amp;gt; &lt;br /&gt;
The {{#var:HARDWARE_NAME}} board uses the second port for the Arm Cortex-A cores console.&lt;br /&gt;
&lt;br /&gt;
== Installing required packages ==&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 20.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \&lt;br /&gt;
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \&lt;br /&gt;
xz-utils debianutils iputils-ping libsdl1.2-dev xterm python-is-python3 lz4&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git-doc \&lt;br /&gt;
sed cvs subversion coreutils texi2html docbook-utils \&lt;br /&gt;
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \&lt;br /&gt;
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \&lt;br /&gt;
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bmap-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
== Download Yocto based on Freescale Community BSP ==&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/bin &lt;br /&gt;
 $ curl &amp;lt;nowiki&amp;gt;http://commondatastorage.googleapis.com/git-repo-downloads/repo &amp;gt; ~/bin/repo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ chmod a+x ~/bin/repo&lt;br /&gt;
 $ export PATH=~/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-ronetix&lt;br /&gt;
 $ cd ~/yocto-ronetix&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Yocto repository&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ repo init -u https://github.com/ronetix/imx-manifest -b imx-linux-mickledore -m imx-6.1.55-2.2.0.xml&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&lt;br /&gt;
== Setup and build Yocto ==&lt;br /&gt;
* Setup first time:&lt;br /&gt;
 $ MACHINE={{#var:MACHINE_NAME}} DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* or setup if already configured:&lt;br /&gt;
 $ source setup-environment build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
 $ bitbake imx-image-core&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If the Ubuntu Terminal is crashed without any notification, see here: [[FAQ - Frequently Asked Questions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Build Results ===&lt;br /&gt;
The resulted images are located in tmp/deploy/images/{{#var:MACHINE_NAME}}.&lt;br /&gt;
&lt;br /&gt;
=== Booting Linux ===&lt;br /&gt;
This section describes how to copy the images (U-Boot, Linux kernel, device tree, and&lt;br /&gt;
rootfs) to the eMMC device on the module.&lt;br /&gt;
&lt;br /&gt;
==== Universal update utility ====&lt;br /&gt;
The Universal Update Utility (UUU) runs on a Windows or Linux OS host and is used to download images to devices on an i.MX board.&lt;br /&gt;
&lt;br /&gt;
===== Downloading UUU =====&lt;br /&gt;
Download UUU version 1.5.21 or later from https://github.com/nxp-imx/mfgtools/releases&lt;br /&gt;
&lt;br /&gt;
===== Write the WIC image into eMMC =====&lt;br /&gt;
Follow the instructions below:&lt;br /&gt;
* Connect a USB cable from a computer to the J9, port USB-A (Micro-AB) port on the carrier board for download link.&lt;br /&gt;
* Connect a USB cable from J3, port UART-DBG (Micro-AB) port to the computer for console output.&lt;br /&gt;
* Open a Terminal emulator program&lt;br /&gt;
* Set the boot mode to &amp;quot;Cortex-A55 Serial Downloader&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
&lt;br /&gt;
  $ cd tmp/deploy/images/{{#var:MACHINE_NAME}}&lt;br /&gt;
  $ uuu -b emmc_all imx-boot-{{#var:MACHINE_NAME}}-sd.bin-flash_singleboot imx-image-core-{{#var:MACHINE_NAME}}.wic.zst&lt;br /&gt;
&lt;br /&gt;
==== Boot Linux ====&lt;br /&gt;
* set the boot mode to &amp;quot;Cortex-A55, eMMC&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
* reset the board&lt;br /&gt;
&lt;br /&gt;
== WiFi Setup ==&lt;br /&gt;
Scan for wireless networks: &lt;br /&gt;
  $ ifconfig wlan0 up&lt;br /&gt;
  $ iw dev wlan0 scan | grep SSID&lt;br /&gt;
&lt;br /&gt;
Connecting to an Access Point:&lt;br /&gt;
  $ wpa_passphrase &amp;lt;YourAP&amp;gt; &amp;lt;YourPassword&amp;gt; &amp;gt; /etc/wpa_supplicant.conf&lt;br /&gt;
  $ wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
wait for:&lt;br /&gt;
  $ wlcore: Association completed.&lt;br /&gt;
&lt;br /&gt;
Get an IP via DHCP:&lt;br /&gt;
  $ udhcpc -i wlan0&lt;br /&gt;
  $ ifconfig&lt;br /&gt;
&lt;br /&gt;
== Audio Test ==&lt;br /&gt;
List all sound cards:&lt;br /&gt;
  $ aplay -L &lt;br /&gt;
&lt;br /&gt;
Play a file:&lt;br /&gt;
  $ aplay -D &amp;quot;sysdefault:CARD=wm8962audio&amp;quot; test.wav&lt;br /&gt;
&lt;br /&gt;
List all sound controls:&lt;br /&gt;
  $ amixer controls&lt;br /&gt;
&lt;br /&gt;
Set Speaker Playback volume to max:&lt;br /&gt;
  $ amixer cset numid=13 127&lt;br /&gt;
&lt;br /&gt;
== Camera Test ==&lt;br /&gt;
Connect an OV5640 camera (PCAM 5C) to J21 on the carrier board.&amp;lt;br&amp;gt;&lt;br /&gt;
List capture media devices:&lt;br /&gt;
 $ v4l2-ctl --list-devices&lt;br /&gt;
 FSL Capture Media Device (platform:42800000.bus:camera):                                                         &lt;br /&gt;
        /dev/media0                                                                                              &lt;br /&gt;
                                                                                                                 &lt;br /&gt;
 mxc-isi-cap (platform:4ae40000.isi:cap_devic):                                                                   &lt;br /&gt;
        /dev/video0 &lt;br /&gt;
&lt;br /&gt;
Take a single photo:&lt;br /&gt;
 $ gst-launch-1.0 v4l2src num-buffers=1 ! &amp;quot;video/x-raw,width=640,height=480&amp;quot; ! jpegenc ! filesink location=test.jpg&lt;br /&gt;
 Setting pipeline to PAUSED ...                                                                                   &lt;br /&gt;
 Pipeline is live and does not need PREROLL ...                                                                   &lt;br /&gt;
 Pipeline is PREROLLED ...                                                                                        &lt;br /&gt;
 Setting pipeline to PLAYING ...                                                                                  &lt;br /&gt;
 New clock: GstSystemClock                                                                                        &lt;br /&gt;
 [  877.427496] mxc-mipi-csi2.0: format: 0x2008                                                                   &lt;br /&gt;
 [  877.436706] bypass csc                                                                                        &lt;br /&gt;
 [  877.439078] input fmt YUV4                                                                                    &lt;br /&gt;
 [  877.441775] output fmt YUYV                                                                                   &lt;br /&gt;
 [  877.553965] dwc-mipi-csi2-host 4ae00000.csi: enter enable=1                                                   &lt;br /&gt;
 Redistribute latency...                                                                                          &lt;br /&gt;
 Got EOS from element &amp;quot;pipeline0&amp;quot;.                                                                                &lt;br /&gt;
 Execution ended after 0:00:02.375455667                                                                          &lt;br /&gt;
 Setting pipeline to NULL ...                                                                                     &lt;br /&gt;
 [  879.341902] dwc-mipi-csi2-host 4ae00000.csi: enter enable=0                                                   &lt;br /&gt;
 Freeing pipeline ...      &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Yocto Linux | Yocto Linux]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Linux|Building Linux Kernel]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} U-Boot|Building U-Boot]]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
	<entry>
		<id>https://wiki.ronetix.at/index.php?title=RNX-iMX93-OSM_Yocto_Linux&amp;diff=435</id>
		<title>RNX-iMX93-OSM Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.ronetix.at/index.php?title=RNX-iMX93-OSM_Yocto_Linux&amp;diff=435"/>
		<updated>2024-06-27T08:09:08Z</updated>

		<summary type="html">&lt;p&gt;Ilko: Fix a typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#vardefine:HARDWARE_NAME|RNX-iMX93-OSM}}&lt;br /&gt;
{{#vardefine:MACHINE_NAME|rnx-imx93-osm}}&lt;br /&gt;
{{#vardefine:YOCTO_NAME|micledore}}&lt;br /&gt;
{{#vardefine:KERNEL_VER|6.1.55}}&lt;br /&gt;
{{#vardefine:UBOOT_VER|v2023.04}}&lt;br /&gt;
[[File:RNX-iMX93-OSM_top.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Yocto Project is an open source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture.&amp;lt;br&amp;gt;&lt;br /&gt;
This article show how to build Yocto Image for {{#var:HARDWARE_NAME}} CPU module using:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Linux Kernel&lt;br /&gt;
! U-BOOT&lt;br /&gt;
|-&lt;br /&gt;
| Yocto {{#var:YOCTO_NAME}}&lt;br /&gt;
| {{#var:KERNEL_VER}}&lt;br /&gt;
| {{#var:UBOOT_VER}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
== Setting Boot mode ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Boot mode setting on carrier board&lt;br /&gt;
|-&lt;br /&gt;
! BOOT !! J31:1-2 !! J31:3-4 !! J31:5-6 !! J31:7-8&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55 Serial Downloader || close || open || open || open&lt;br /&gt;
|-&lt;br /&gt;
| Cortex-A55, eMMC || open || close || open || open&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Terminal Setup ==&lt;br /&gt;
The carrier board connects the host PC using the micro-B USB connector (J3).&amp;lt;br&amp;gt;&lt;br /&gt;
Common serial communication programs such as Minicom, HyperTerminal, Tera Term, or PuTTY can be used.&amp;lt;br&amp;gt; &lt;br /&gt;
The {{#var:HARDWARE_NAME}} board uses the second port for the Arm Cortex-A cores console.&lt;br /&gt;
&lt;br /&gt;
== Installing required packages ==&lt;br /&gt;
&lt;br /&gt;
Please make sure your host PC is running Ubuntu 20.04+ 64-bit and install the following packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \&lt;br /&gt;
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \&lt;br /&gt;
xz-utils debianutils iputils-ping libsdl1.2-dev xterm python-is-python3 lz4&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git-doc \&lt;br /&gt;
sed cvs subversion coreutils texi2html docbook-utils \&lt;br /&gt;
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \&lt;br /&gt;
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \&lt;br /&gt;
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bmap-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More details about the Yocto Environment Setup can be found &lt;br /&gt;
[https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html on the Yocto official site]&lt;br /&gt;
&lt;br /&gt;
== Download Yocto based on Freescale Community BSP ==&lt;br /&gt;
&lt;br /&gt;
 $ git config --global user.name &amp;quot;Your Name&amp;quot;&lt;br /&gt;
 $ git config --global user.email &amp;quot;Your Email&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/bin &lt;br /&gt;
 $ curl &amp;lt;nowiki&amp;gt;http://commondatastorage.googleapis.com/git-repo-downloads/repo &amp;gt; ~/bin/repo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ chmod a+x ~/bin/repo&lt;br /&gt;
 $ export PATH=~/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/yocto-ronetix&lt;br /&gt;
 $ cd ~/yocto-ronetix&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Yocto repository&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 $ repo init -u https://github.com/ronetix/imx-manifest -b imx-linux-mickledore -m imx-6.1.55-2.2.0.xml&lt;br /&gt;
 $ repo sync&lt;br /&gt;
&lt;br /&gt;
== Setup and build Yocto ==&lt;br /&gt;
* Setup first time:&lt;br /&gt;
 $ MACHINE={{#var:MACHINE_NAME}} DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* or setup if already configured:&lt;br /&gt;
 $ source setup-environment build-{{#var:MACHINE_NAME}}&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
 $ bitbake imx-image-core&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If the Ubuntu Terminal is crashed without any notification, see here: [[FAQ - Frequently Asked Questions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Build Results ===&lt;br /&gt;
The resulted images are located in tmp/deploy/images/{{#var:MACHINE_NAME}}.&lt;br /&gt;
&lt;br /&gt;
=== Booting Linux ===&lt;br /&gt;
This section describes how to copy the images (U-Boot, Linux kernel, device tree, and&lt;br /&gt;
rootfs) to the eMMC device on the module.&lt;br /&gt;
&lt;br /&gt;
==== Universal update utility ====&lt;br /&gt;
The Universal Update Utility (UUU) runs on a Windows or Linux OS host and is used to download images to devices on an i.MX board.&lt;br /&gt;
&lt;br /&gt;
===== Downloading UUU =====&lt;br /&gt;
Download UUU version 1.5.21 or later from https://github.com/nxp-imx/mfgtools/releases&lt;br /&gt;
&lt;br /&gt;
===== Write the WIC image into eMMC =====&lt;br /&gt;
Follow the instructions below:&lt;br /&gt;
* Connect a USB cable from a computer to the J9, port USB-A (Micro-AB) port on the carrier board for download link.&lt;br /&gt;
* Connect a USB cable from J3, port UART-DBG (Micro-AB) port to the computer for console output.&lt;br /&gt;
* Open a Terminal emulator program&lt;br /&gt;
* Set the boot mode to &amp;quot;Cortex-A55 Serial Downloader&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
&lt;br /&gt;
  $ cd tmp/deploy/images/{{#var:MACHINE_NAME}}&lt;br /&gt;
  $ uuu -b emmc_all imx-boot-{{#var:MACHINE_NAME}}-sd.bin-flash_singleboot imx-image-core-{{#var:MACHINE_NAME}}.wic.zst&lt;br /&gt;
&lt;br /&gt;
==== Boot Linux ====&lt;br /&gt;
* set the boot mode to &amp;quot;Cortex-A55, eMMC&amp;quot;, see [[#Setting Boot mode]]&lt;br /&gt;
* reset the board&lt;br /&gt;
&lt;br /&gt;
== WiFi Setup ==&lt;br /&gt;
Scan for wireless networks: &lt;br /&gt;
  $ ifconfig wlan0 up&lt;br /&gt;
  $ iw dev wlan0 scan | grep SSID&lt;br /&gt;
&lt;br /&gt;
Connecting to an Access Point:&lt;br /&gt;
  $ wpa_passphrase &amp;lt;YourAP&amp;gt; &amp;lt;YourPassword&amp;gt; &amp;gt; /etc/wpa_supplicant.conf&lt;br /&gt;
  $ wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
wait for:&lt;br /&gt;
  $ wlcore: Association completed.&lt;br /&gt;
&lt;br /&gt;
Get an IP via DHCP:&lt;br /&gt;
  $ udhcpc -i wlan0&lt;br /&gt;
  $ ifconfig&lt;br /&gt;
&lt;br /&gt;
== Audio Test ==&lt;br /&gt;
List all sound cards:&lt;br /&gt;
  $ aplay -L &lt;br /&gt;
&lt;br /&gt;
Play a file:&lt;br /&gt;
  $ aplay -D &amp;quot;sysdefault:CARD=wm8962audio&amp;quot; test.wav&lt;br /&gt;
&lt;br /&gt;
List all sound controls:&lt;br /&gt;
  $ amixer controls&lt;br /&gt;
&lt;br /&gt;
Set Speaker Playback volume to max:&lt;br /&gt;
  $ amixer cset numid=13 127&lt;br /&gt;
&lt;br /&gt;
== Camera Test ==&lt;br /&gt;
Connect an OV5640 camera (PCAM 5C) to J21 on the carrier board.&amp;lt;br&amp;gt;&lt;br /&gt;
List capture media devices:&lt;br /&gt;
 $ v4l2-ctl --list-devices&lt;br /&gt;
 FSL Capture Media Device (platform:42800000.bus:camera):                                                         &lt;br /&gt;
        /dev/media0                                                                                              &lt;br /&gt;
                                                                                                                 &lt;br /&gt;
 mxc-isi-cap (platform:4ae40000.isi:cap_devic):                                                                   &lt;br /&gt;
        /dev/video0 &lt;br /&gt;
&lt;br /&gt;
Take a single photo:&lt;br /&gt;
 $ gst-launch-1.0 v4l2src num-buffers=1 ! jpegenc ! filesink location=test.jpg&lt;br /&gt;
 Setting pipeline to PAUSED ...                                                                                   &lt;br /&gt;
 Pipeline is live and does not need PREROLL ...                                                                   &lt;br /&gt;
 Pipeline is PREROLLED ...                                                                                        &lt;br /&gt;
 Setting pipeline to PLAYING ...                                                                                  &lt;br /&gt;
 New clock: GstSystemClock                                                                                        &lt;br /&gt;
 [  877.427496] mxc-mipi-csi2.0: format: 0x2008                                                                   &lt;br /&gt;
 [  877.436706] bypass csc                                                                                        &lt;br /&gt;
 [  877.439078] input fmt YUV4                                                                                    &lt;br /&gt;
 [  877.441775] output fmt YUYV                                                                                   &lt;br /&gt;
 [  877.553965] dwc-mipi-csi2-host 4ae00000.csi: enter enable=1                                                   &lt;br /&gt;
 Redistribute latency...                                                                                          &lt;br /&gt;
 Got EOS from element &amp;quot;pipeline0&amp;quot;.                                                                                &lt;br /&gt;
 Execution ended after 0:00:02.375455667                                                                          &lt;br /&gt;
 Setting pipeline to NULL ...                                                                                     &lt;br /&gt;
 [  879.341902] dwc-mipi-csi2-host 4ae00000.csi: enter enable=0                                                   &lt;br /&gt;
 Freeing pipeline ...      &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Yocto Linux | Yocto Linux]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} Linux|Building Linux Kernel]]&lt;br /&gt;
* [[{{#var:HARDWARE_NAME}} U-Boot|Building U-Boot]]&lt;/div&gt;</summary>
		<author><name>Ilko</name></author>
	</entry>
</feed>