RNX-iMX93-OSM Linux: Difference between revisions

From Ronetix's Wiki
Jump to navigation Jump to search
(Rename kernel DTB file and UUU file)
(Modify to use correct "kernel-osm.uuu")
 
Line 58: Line 58:
   $ cp ../../../../uboot-imx/imx-mkimage/iMX9/flash.bin .
   $ cp ../../../../uboot-imx/imx-mkimage/iMX9/flash.bin .
   $ wget http://download.ronetix.at/boards/doc/RNX-iMX93-OSM/tools/kernel-osm.uuu
   $ wget http://download.ronetix.at/boards/doc/RNX-iMX93-OSM/tools/kernel-osm.uuu
   $ uuu kernel.uuu
   $ uuu kernel-osm.uuu


* Set the boot mode to "Cortex-A55, eMMC", see [[#Setting Boot mode]]
* Set the boot mode to "Cortex-A55, eMMC", see [[#Setting Boot mode]]

Latest revision as of 10:27, 15 March 2024



Setting Boot mode

Boot mode setting on carrier board
BOOT J31:1-2 J31:3-4 J31:5-6 J31:7-8
Cortex-A55 Serial Downloader close open open open
Cortex-A55, eMMC open close open open

Terminal Setup

The carrier board connects the host PC using the micro-B USB connector (J3).
Common serial communication programs such as Minicom, HyperTerminal, Tera Term, or PuTTY can be used.
The RNX-iMX93-OSM board uses the second port for the Arm Cortex-A cores console.

Overview

The Linux kernel provides support for on-board peripherals and interfaces of the RNX-iMX93-OSM System-on-Module

Building kernel for RNX-iMX93-OSM

This Linux kernel is based on https://github.com/nxp-imx/linux-imx, branch lf-6.1.y

Set up the cross-compiler and CPU architecture

$ export ARCH=arm64
$ export CROSS_COMPILE=/opt/cross/aarch64-ronetix-linux-11.1/bin/aarch64-ronetix-linux-gnu-

Cross-compiler can be downloaded from here: http://download.ronetix.at/toolchains/crosstool-ng

Clone the latest revision of the repo

$ git clone https://github.com/ronetix/linux.git
$ cd linux
$ git checkout remotes/origin/lf-6.1.y -b lf-6.1.y

Configure and build

$ make rnx_imx93_osm_defconfig
$ make  # or make -j$(nproc)

Build Results

The resulted images are located in arch/arm64/boot

File Name Description
Image Linux kernel image
zImage Linux kernel image, compressed
imx93-rnx-osm.dtb Device tree blob for RNX-iMX93-OSM

Booting Linux Kernel

This section describes how to load and boot Linux kernel using UUU.
The Linux Kernel booting requires a bootloader.
The bootloader includes SPL, U-Boot, Arm Trusted Firmware, OP-TEE, Sentinel Firmware and DDR PHY Firmware.
It can be built:

  • by Yocto, the result is: tmp/deploy/images/rnx-imx93-osm/imx-boot-rnx-imx93-osm-sd.bin-flash_singleboot

or

  • by the script u-boot-imx/tools/imx_build_firmware.sh, the result is: uboot-imx/imx-mkimage/iMX9/flash.bin

See Building U-Boot for more info how to build flash.bin


Universal update utility

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.

Downloading UUU

Download UUU version 1.5.21 or later from https://github.com/nxp-imx/mfgtools/releases

Connect USB ports

Follow the instructions below:

  • Connect a USB cable from a computer to the J9, port USB-A (Micro-AB) port on the carrier board for download link.
  • Connect a USB cable from J3, port UART-DBG (Micro-AB) port to the computer for console output.
  • Open a Terminal emulator program
  • Set the boot mode to "Cortex-A55 Serial Downloader", see #Setting Boot mode


Upload and boot

U-BOOT must be already built in folder: uboot-imx

 $ cd arch/arm64/boot
 $ cp ../../../../uboot-imx/imx-mkimage/iMX9/flash.bin .
 $ wget http://download.ronetix.at/boards/doc/RNX-iMX93-OSM/tools/kernel-osm.uuu
 $ uuu kernel-osm.uuu

Boot log

http://download.ronetix.at/boards/doc/RNX-iMX93-OSM/rnx-imx93-osm_bootlog.txt

See also