Linux Kernel

Critical Link Kernel Repository

Critical Link recommends using the mityarm-linux-v3.2 branch on our git server: git:// (Gitweb).

  • mityarm-linux-v3.2 - Release Notes - Extensions to the TI v3.2_AM335xPSP_04.06.00.11 branch supporting the MitySOM-335x Development Kit and SOMs.

Other MitySOM-335x branches seen on the repository should not be considered stable, and are used for internal feature development.

Configuring the Kernel Build Environment - Newer Yocto-based MDK (September 2015 or newer)

  • Setup the MDK environment for linux (note the path to your SDK may be slightly different):
    user@host: source /opt/criticallink/mitysom-335x_20151118/environment-setup-cortexa8t2hf-vfp-neon-criticallink-linux-gnueabi
    user@host: unset LDFLAGS
    user@host: alias makearm='make ARCH=arm CROSS_COMPILE=arm-criticallink-linux-gnueabi-'
  • Please skip the next section and jump directly to "Building the Kernel - All MDKs."

Configuring the Kernel Build Environment - Older TI-based MDK (Older than September 2015)

  • Alter the environment-setup file
    • Proceed to the directory which contains "environment-setup" (this may or may not be the one listed in the box below)
    • Open the "environment-setup" file in a text editor
    • Comment out line 10 by placing a hash-tag '#' at the beginning of the line
    • Line 10 should now read: "# export SDK_PATH=/export/space/ti-sdk-am335x-evm-"
  • Setup the PSP development kit environment for linux (note the path to your SDK may be slightly different):
    user@host: . /usr/local/ti-sdk-am335x-evm-    # establish proper toolchain
    [linux-devkit]:~> alias makearm='make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi-'

Building the Kernel - All MDKs

  • Clone the repository from Critical Link:
    mityarm-linux-v3.2 - am335x-pm-firmware.bin - File obtained from TI amx3x-cm3 project
    [linux-devkit]:~> git clone git://
    [linux-devkit]:~> cd linux-mityarm-335x
    [linux-devkit]:~/linux-mityarm-335x> git checkout -b mityarm-linux-v3.2 origin/mityarm-linux-v3.2
    [linux-devkit]:~/linux-mityarm-335x> (cd firmware; wget --content-disposition "")
  • Configure the device for the Development Kit Baseboard
    [linux-devkit]:~/linux-mityarm-335x> makearm mityarm-335x-devkit_defconfig
    • Use mityarm-335x-tiwi-devkit_defconfig instead if you have a TiWi module (the SOM part number ends in -R2 or -BLE).
  • Customize the kernel (optional, most users can skip this step):
    [linux-devkit]:~/linux-mityarm-335x> makearm menuconfig
    If the SOM has 1GB of memory, HIGHMEM should be enabled in the kernel configuration. This is now the default. If HIGHMEM is not enabled, Linux will only use 768MB of the available memory.
  • Build the kernel image
    [linux-devkit]:~/linux-mityarm-335x> makearm uImage
  • Make the modules
    [linux-devkit]:~/linux-mityarm-335x> makearm INSTALL_MOD_PATH=../rootfs modules
    [linux-devkit]:~/linux-mityarm-335x> makearm INSTALL_MOD_PATH=../rootfs modules_install

    This will build the required modules and then install them under ../rootfs.

If you are building the kernel in /home/mitydsp/build/linux-mityarm-335x the modules would be in /home/mitydsp/build/rootfs/lib/.
You would then copy the lib directory onto your target FS under /lib.

Alternatively, you can modify INSTALL_MOD_PATH to point to the location of your mounted rootfs. This will allow you to skip the manual copy step.

If INSTALL_MOD_PATH is omitted, the modules_install target will install the modules under /lib on your build machine, which is highly likely to NOT be what you want!

Go to top
Add picture from clipboard (Maximum size: 1 GB)