Linux 5.4, Myon II
http://gitlab.keith-koep.com/imx/linux-imx
Linux 5.4 based on NXP 5.4.24_2.1.0 | ssh://git@git.seco.com:seco-ne/kernel/linux-imx-kuk.git | kuk_5.4 |
The Myon II is software-compatible with the Trizeps VIII Mini module.
Because Trizeps VIII, Trizeps VIII Mini and Myon II share the same kernel source code, you may a look at Linux 5.4, Trizeps VIII (-/Mini/Nano) for instructions on how to build and deploy an image. The only difference is the Device-Tree-Binary (.dtb) file passed to the kernel on boot.
Previous Versions
Branch/Tag | Comment |
---|---|
kuk_5.4 | Based on kuk_android-10.0.0_2.3.0. Intended to be used for all 5.4 Linux-Kernel (Yocto,Android,Debian,…) |
kuk_android-10.0.0_2.3.0 | Merged kuk_imx_5.4.24_2.1.0 with NXP Android 10 patches |
kuk_imx_5.4.24_2.1.0 | Derived from imx_5.4.24_2.1.0 with Seco patches |
How to Build Linux Kernel for Myon II
This is only a quick-reference on how to build a Linux Kernel including Seco specific changes.
For details please view the Linux and NXP i.MX8M documentation.
Get the source code of linux-imx from git repository:
$ git clone https://git.seco.com/seco-ne/kernel/linux-imx-kuk.git -b kuk_5.4
Setup Cross-Build environment (View Software-Development-Kit on how to install.):
$ . /opt/fsl-imx-fb/5.4-zeus/environment-setup-aarch64-poky-linux
$ export ARCH=arm64
Build Linux-Kernel from source code:
~/linux-imx$ make imx_v8_defconfig
~/linux-imx$ make
This will generate linux kernel ('Image') and device-tree binary ('*.dtb') files.
After you generated the kernel, you might want to build the kernel-modules:
Note: When the kernel boots it loads kernel-modules from the root-filesystem at '/lib/modules/<kernel-build-number>' (i.e. /lib/modules/5.4.24).
Update Kernel
Updating the kernel involves to copy 'Image' and the kernel-module directory to the device.
If the kernel-build-version did not change, copy of the kernel-module directory can be omitted.
Update using USB and bootloader
Enter the bootloader command console and run:
This will configure the USB-OTG port to emulate a USB-Mass-Storage device.
Example:
After calling 'ums 0 mmc 0' a new device 'sdf' appears in the list of mounted devices.
Copy the kernel-'Image' and device-tree binary files to the first partition.
Copy the kernel-modules-directory to the second partition, which contains the root-filesystem.
Hints on using the Kernel
Device Tree
The Linux-kernel will use a Device-Tree-Binary file (.dtb) to determine how the Myon module is used in a system (i.e. which drivers to load). The device-tree files can be found at:
When building the Linux-kernel .dts source-files are converted to .dtb binary files.
DeviceTree (dtb) | Module | Description |
---|---|---|
|
|
|
When you open the u-boot command prompt and output the environment, you can determine which device-tree is used:
To change this you can call:
'env save' will store this setting for subsequent boots.
Root-Filesystem
To have a full running Linux-system you will need:
Bootloader ( U-Boot, Myon II ), which loads the Device-Tree and Linux-Kernel.
Linux Kernel
Root-Filesystem, which contains applications, configuration files etc.
There are different approaches on how to create a root-filesystem.
Basicly its a linux-distribution like Debian, where the system is put together by packages or like Yocto, where recipes define what needs to be built and put inside the file-system: