• Ready for review
  • Linux 4.14, Trizeps VIII (-/Mini/Nano)

    https://git.seco.com/seco-ne/kernel/linux-imx-kuk

    Linux 4.14 based on NXP 4.14.98_2.0.0_ga

    ssh://git@git.seco.com:seco-ne/kernel/linux-imx-kuk.git
    https://git.seco.com/seco-ne/kernel/linux-imx-kuk.git

    kuk_imx_4.14.98_2.0.0_ga

    Previous Versions

    Branch/Tag

    Comment

    Branch/Tag

    Comment

    kuk_p9.0.0_2.3.4

    latest Trizeps VIII Mini branch

    kuk_imx_4.14.98_2.0.0_ga

    incl. Trizeps VIII Mini support

    kuk_imx_4.14.78_1.0.0_ga

     

    Kernel Binaries

    Date

    Changelog

    Download

    Date

    Changelog

    Download

     

     

     

    How to Build Linux Kernel for Trizeps VIII & Trizeps VIII Mini

    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 the git repository:

    $ git clone https://git.seco.com/seco-ne/kernel/linux-imx-kuk.git -b kuk_imx_4.14.98_2.0.0_ga

    Setup Cross-Build environment (View Software-Development-Kit on how to install.):

    $ . /opt/fsl-imx-fb/4.14-sumo/environment-setup-aarch64-poky-linux

    Build Linux-Kernel from source code:

    ~/linux-imx$ make ARCH=arm64 defconfig ~/linux-imx$ LDFLAGS= ~/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/4.14.78-imx_4.14.78_1.0.0_ga+g66620c3). The kernel-build-number is derived from git. To prevent to update the kernel-module-directory during development, it can be useful to set the kernel-build-number to a fixed value by setting 'CONFIG_LOCALVERSION' in ~/linux-imx/kernel/configs/kuk-trizeps8.config. This is not recommended for production-builds!

    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 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 Trizeps 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

    DeviceTree (dtb)

    Module

    Description

    kuk-trizeps8

    Trizeps VIII

    Basic Device-Tree for the Trizeps VIII module itself, which is included by all other Device-Tree baseboard files

    kuk-trizeps8-pconxs-edt7

    Trizeps VIII

    Trizeps VIII in pConXS with EDT 7inch display

    kuk-trizeps8-pconxs-hdmi

    Trizeps VIII

    Trizeps VIII in pConXS using HDMI output

    kuk-trizeps8-ipant7

    Trizeps VIII

    Trizeps VIII in i-PAN T7 panel

    kuk-trizeps8-ipant10

    Trizeps VIII

    Trizeps VIII in i-PAN T10 panel

    kuk-trizeps8mini

    Trizeps VIII Mini

    Basic Device-Tree for the Trizeps VIII Mini module itself, which is included by all other Device-Tree baseboard files

    kuk-trizeps8mini-pconxs-edt7

    Trizeps VIII Mini

    Trizeps VIII Mini in pConXS with capacitive touch EDT 7inch display

    kuk-trizeps8mini-pconxs-edt7-pcie

    Trizeps VIII Mini

    Trizeps VIII Mini in pConXS with capacitive touch EDT 7inch display and PCIE-slot

    kuk-trizeps8mini-pconxs-edt7res

    Trizeps VIII Mini

    Trizeps VIII Mini in pConXS with resistive touch EDT 7inch display

    kuk-trizeps8mini-pconxs-edt7res-pcie

    Trizeps VIII Mini

    Trizeps VIII Mini in pConXS with resistive touch EDT 7inch display and PCIE-slot

    kuk-trizeps8mini-ipant7

    Trizeps VIII Mini

    Trizeps VIII Mini in i-PAN T7 panel

    kuk-trizeps8mini-ipant7-v2

    Trizeps VIII Mini

    Trizeps VIII Mini in i-PAN T7-V2 panel

    kuk-trizeps8mini-ipant10

    Trizeps VIII Mini

    Trizeps VIII Mini in i-PAN T10 panel

    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, Trizeps VIII ), 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: